From 7d0e4419d8c93868fce0c9464fc3608a5ff56bdc Mon Sep 17 00:00:00 2001 From: Connected-agents-ai <199556972+connectedagents-ai@users.noreply.github.com> Date: Tue, 8 Sep 2026 06:55:55 +0000 Subject: [PATCH 001/138] Fix grammar in required profile-name note (#45779) --- .../account-and-profile/tutorials/personalize-your-profile.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/account-and-profile/tutorials/personalize-your-profile.md b/content/account-and-profile/tutorials/personalize-your-profile.md index b63377321bf0..c03da6333112 100644 --- a/content/account-and-profile/tutorials/personalize-your-profile.md +++ b/content/account-and-profile/tutorials/personalize-your-profile.md @@ -25,7 +25,7 @@ category: --- > [!NOTE] -> Your profile name for your is {% data variables.product.github %} account is **required**. All other profile information described in this article is **optional**. +> Your profile name for your {% data variables.product.github %} account is **required**. All other profile information described in this article is **optional**. ## Changing your profile picture From 5636895d749d11fe46a239f995615a05518db8a4 Mon Sep 17 00:00:00 2001 From: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Date: Tue, 8 Sep 2026 06:58:10 +0000 Subject: [PATCH 002/138] Disallow issue titles with dollar signs (#63085) --- .github/workflows/check-for-spammy-issues.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check-for-spammy-issues.yml b/.github/workflows/check-for-spammy-issues.yml index 74f9c7f519d8..ceeb08346232 100644 --- a/.github/workflows/check-for-spammy-issues.yml +++ b/.github/workflows/check-for-spammy-issues.yml @@ -30,6 +30,7 @@ jobs: const titleWordCountMin = 3 const urlRegex = /https?:\/\/\S+/i const titleHasUrl = urlRegex.test(issue.title) + const titleHasDollarSign = issue.title.includes('$') try { await github.rest.teams.getMembershipForUserInOrg({ @@ -45,7 +46,7 @@ jobs: // An error will be thrown if the user is not a GitHub employee // If a user is not a GitHub employee, we should check to see if title has at least the minimum required number of words in it and if it does, we can exit the workflow - if (titleWordCount >= titleWordCountMin && !titleHasUrl) { + if (titleWordCount >= titleWordCountMin && !titleHasUrl && !titleHasDollarSign) { return } } From 22af12cb9b9d5b031bab026c5d0b1c9905f9c35d Mon Sep 17 00:00:00 2001 From: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Date: Tue, 8 Sep 2026 07:07:50 +0000 Subject: [PATCH 003/138] Add workflow to send github/docs PRs/issues for triage (#63087) --- .github/workflows/send-to-triage-board.yml | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 .github/workflows/send-to-triage-board.yml diff --git a/.github/workflows/send-to-triage-board.yml b/.github/workflows/send-to-triage-board.yml new file mode 100644 index 000000000000..f5defa974e68 --- /dev/null +++ b/.github/workflows/send-to-triage-board.yml @@ -0,0 +1,45 @@ +name: Add new issues and PRs to central triage board + +# **What it does**: Adds newly opened or reopened issues and pull requests in github/docs to the right place for triage, and stamps the item with today's date. +# **Why we have it**: To ensure incoming work in the public docs repo is triaged properly. +# **Who does it impact**: Writers, FRs. + +on: + issues: + types: [opened, reopened] + pull_request_target: + types: [opened, reopened, ready_for_review] + +permissions: + contents: read + +jobs: + add-to-central-triage: + runs-on: ubuntu-latest + if: github.repository == 'github/docs' + steps: + - name: Triage to central triage board + env: + GITHUB_TOKEN: ${{ secrets.DOCS_BOT_PAT_BASE }} + ITEM_URL: ${{ github.event.issue.html_url || github.event.pull_request.html_url }} + # Add to the Central Triage Group project board and set date to now + PROJECT_NUMBER: '19598' + PROJECT_ID: 'PVT_kwDNJr_OAJ4AfQ' + DATE_FIELD_ID: 'PVTF_lADNJr_OAJ4Afc4IAbbv' + run: | + echo "Adding $ITEM_URL to project $PROJECT_NUMBER..." + ITEM_ID=$(gh project item-add "$PROJECT_NUMBER" --owner github --url "$ITEM_URL" --format json --jq '.id' || true) + + sleep 10 + + if [ -n "$ITEM_ID" ] && [ "$ITEM_ID" != "null" ]; then + echo "Editing date on item $ITEM_ID..." + DATE=$(date '+%Y-%m-%d') + if gh project item-edit --project-id "$PROJECT_ID" --id "$ITEM_ID" --field-id "$DATE_FIELD_ID" --date "$DATE"; then + echo "done editing" + else + echo "::warning::gh project item-edit failed for $ITEM_URL (item $ITEM_ID); the item is on the board but the date field was not set" + fi + else + echo "::warning::gh project item-add did not return an item id for $ITEM_URL; skipping item-edit" + fi From 352868269164688b460df9d243b3f7ad53354989 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Tue, 8 Sep 2026 08:21:07 +0000 Subject: [PATCH 004/138] [AUTOMATED] Copilot CLI: Update automation and CI articles (#62910) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../automate-copilot-cli/schedule-prompts.md | 12 +++++++----- .../copilot-cli/use-copilot-cli-in-actions.md | 9 ++++++--- .../state/copilot-cli/automation-and-ci.json | 13 +++++++++++++ 3 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 src/cli-docs-auto-maintenance/state/copilot-cli/automation-and-ci.json diff --git a/content/copilot/how-tos/copilot-cli/automate-copilot-cli/schedule-prompts.md b/content/copilot/how-tos/copilot-cli/automate-copilot-cli/schedule-prompts.md index 820670f89949..f16316b5ca8f 100644 --- a/content/copilot/how-tos/copilot-cli/automate-copilot-cli/schedule-prompts.md +++ b/content/copilot/how-tos/copilot-cli/automate-copilot-cli/schedule-prompts.md @@ -73,7 +73,7 @@ The prompt fires once, after the delay has elapsed, and is then removed from the You can use `/every` and `/after` to schedule a skill. To do this, you can reference the skill explicitly by using its slash command, or you can use natural language to tell {% data variables.product.prodname_copilot_short %} to run the skill. > [!NOTE] -> Only user-invocable skills can be scheduled this way. You cannot include built-in slash commands (such as `/clear`) in a scheduled prompt. +> Only user-invocable skills and a subset of built-in slash commands can be scheduled. Commands that start a self-contained piece of work—such as `/plan`, `/review`, `/research`, or `/security-review`—are schedulable. Commands that change your session or configuration (for example, `/model`, `/clear`, `/compact`, `/permissions`, or `/sandbox`), that only display information (such as `/usage` or `/context`), or that manage scheduling itself (`/every` and `/after`) can't be scheduled, and {% data variables.product.prodname_copilot_short %} rejects them when you try. ### Examples @@ -94,9 +94,11 @@ You can use `/every` and `/after` to schedule a skill. To do this, you can refer | `h` | hours | `2h` | | `d` | days | `1d` | -A bare number with no suffix is interpreted as minutes—for example, `/every 30 remind me to check for Slack messages` schedules the prompt every 30 minutes. +When you specify a numeric duration, always include the suffix. A bare number—for example, `/every 30 remind me to check for Slack messages`—is not recognized as an interval. -The minimum interval is **10 seconds** and the maximum is **1 day** (24 hours). +For a fixed interval, the minimum is **10 seconds** and the maximum is **1 day** (24 hours). + +You can also describe the timing in plain language instead of using a duration—for example, `/after at 3pm push the release`, or `/every day at 9am post the standup`. {% data variables.product.prodname_copilot_short %} uses a model to interpret the phrase, then creates the schedule from it. ## Identifying scheduled prompts in the session @@ -116,9 +118,9 @@ Press Esc to exit the schedule list. Scheduled prompts are scoped to the session they were created in, and they are only triggered while that session is running. -When you reopen the session (using the `--continue` or `--resume` command line options) the schedules are restarted, with interval before a schedule is triggered measured from the moment you reopen the session. +When you reopen the session (using the `--continue` or `--resume` command line options) the schedules are restored. For a recurring schedule created with a fixed interval, the wait before the next run is measured from the moment you reopen the session. -If an `/after` schedule had not been triggered before you closed the session, it remains in the schedule list and will be triggered after the specified delay in the reopened session. +An `/after` schedule that had not been triggered before you closed the session keeps its original target time, rather than restarting the delay. If that time passed while the session was closed, the prompt is submitted as soon as you reopen the session. ## Running a prompt from an external scheduler diff --git a/content/copilot/how-tos/copilot-cli/use-copilot-cli-in-actions.md b/content/copilot/how-tos/copilot-cli/use-copilot-cli-in-actions.md index 45e3320c7024..4bed4fdba593 100644 --- a/content/copilot/how-tos/copilot-cli/use-copilot-cli-in-actions.md +++ b/content/copilot/how-tos/copilot-cli/use-copilot-cli-in-actions.md @@ -50,19 +50,22 @@ jobs: runs-on: ubuntu-latest steps: - uses: {% data reusables.actions.action-checkout %} + with: + fetch-depth: 2 - name: Install Copilot CLI run: npm install -g @github/copilot - name: Run Copilot - run: copilot --yolo -p "Summarize the changes in this commit" + run: copilot -p "Use git show HEAD to summarize the changes in this commit" -s --allow-tool='shell(git show:*)' env: GITHUB_TOKEN: {% raw %}${{ github.token }}{% endraw %} ``` Key details about this example: -* The `--yolo` flag automatically approves all tool, path, and URL permission requests. Non-interactive (`-p`) runs can't display an interactive approval prompt, so any action that isn't pre-approved is denied automatically. To grant only the permissions the task needs, use narrower options such as `--allow-tool`, `--add-dir`, and `--allow-url` instead. +* The `fetch-depth: 2` option fetches the current commit and its parent, allowing `git show HEAD` to calculate the changes introduced by the current commit. +* The `--allow-tool='shell(git show:*)'` option allows {% data variables.copilot.copilot_cli_short %} to run `git show` commands without requesting approval. Non-interactive (`-p`) runs can't display an interactive approval prompt, so any action that isn't pre-approved is denied automatically. * The `copilot-requests: write` permission is required for the workflow to make {% data variables.product.prodname_copilot_short %} requests. -* The `GITHUB_TOKEN` provided by {% data variables.product.prodname_actions %} handles authentication automatically, no additional secrets are needed. +* The `GITHUB_TOKEN` provided by {% data variables.product.prodname_actions %} handles authentication automatically. No additional secrets are needed. > [!NOTE] > You must be on a recent version of {% data variables.copilot.copilot_cli_short %} to use `GITHUB_TOKEN` authentication. Update with `copilot update`, or reinstall the latest version with `npm install -g @github/copilot`. diff --git a/src/cli-docs-auto-maintenance/state/copilot-cli/automation-and-ci.json b/src/cli-docs-auto-maintenance/state/copilot-cli/automation-and-ci.json new file mode 100644 index 000000000000..06b3c4850c81 --- /dev/null +++ b/src/cli-docs-auto-maintenance/state/copilot-cli/automation-and-ci.json @@ -0,0 +1,13 @@ +{ + "name": "Automation and CI", + "sha": "7b8276b2bcaafc444a3dcf482a033352ebb3faa1", + "articles": [ + "content/copilot/concepts/agents/copilot-cli/copilot-cli-in-github-actions.md", + "content/copilot/how-tos/copilot-cli/automate-copilot-cli/automate-with-actions.md", + "content/copilot/how-tos/copilot-cli/automate-copilot-cli/index.md", + "content/copilot/how-tos/copilot-cli/automate-copilot-cli/quickstart.md", + "content/copilot/how-tos/copilot-cli/automate-copilot-cli/run-cli-programmatically.md", + "content/copilot/how-tos/copilot-cli/automate-copilot-cli/schedule-prompts.md", + "content/copilot/how-tos/copilot-cli/use-copilot-cli-in-actions.md" + ] +} From a55eed0b872801bbfb4e01be40a5b272255d1582 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Tue, 8 Sep 2026 08:22:41 +0000 Subject: [PATCH 005/138] Document the Copilot CLI `/ask` command (#63048) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Vanessa --- .../use-copilot-cli/ask-a-side-question.md | 42 +++++++++++++++++++ .../copilot-cli/use-copilot-cli/index.md | 1 + .../cli-command-reference.md | 2 +- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 content/copilot/how-tos/copilot-cli/use-copilot-cli/ask-a-side-question.md diff --git a/content/copilot/how-tos/copilot-cli/use-copilot-cli/ask-a-side-question.md b/content/copilot/how-tos/copilot-cli/use-copilot-cli/ask-a-side-question.md new file mode 100644 index 000000000000..c5c4faf1aaed --- /dev/null +++ b/content/copilot/how-tos/copilot-cli/use-copilot-cli/ask-a-side-question.md @@ -0,0 +1,42 @@ +--- +title: Asking a side question in {% data variables.copilot.copilot_cli %} +shortTitle: Ask a side question +intro: During a CLI session, you can ask {% data variables.product.prodname_copilot_short %} a question without adding the prompt, or the answer, to your conversation history. +product: '{% data reusables.gated-features.copilot-cli %}' +versions: + feature: copilot +contentType: how-tos +category: + - Build with Copilot CLI +docsTeamMetrics: + - copilot-cli +--- + +During an interactive {% data variables.copilot.copilot_cli_short %} session, you can use the `/ask` slash command to ask a quick side question and see the answer in a separate dialog. {% data variables.product.prodname_copilot_short %} uses the current conversation as context when it is available, but cannot use tools to answer the question. + +You can use `/ask` while {% data variables.product.prodname_copilot_short %} is currently working on a task. The question and answer are not added to the conversation history, so you should use a normal prompt instead if you want them to become part of the conversation. + +The `/ask` command is not available for remote sessions. + +## Asking a quick question + +1. In a local interactive session, enter `/ask` followed by your question. + + For example: + + ```copilot copy + /ask What does the previous response mean by "idempotent"? + ``` + + > [!NOTE] + > `/btw` is an alias for `/ask`. You can use either command to ask a side question. + + {% data variables.product.prodname_copilot_short %} answers your question in a dialog, separate from the main conversation. + +1. To cancel an answer that is still being generated, or to dismiss a completed answer, press Esc. + +The dialog does not have an input field for follow-up questions. To ask another question, dismiss the dialog and enter another `/ask YOUR-QUESTION` command. + +## Further reading + +* [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference#slash-commands-in-the-interactive-interface) diff --git a/content/copilot/how-tos/copilot-cli/use-copilot-cli/index.md b/content/copilot/how-tos/copilot-cli/use-copilot-cli/index.md index 2972d9f58236..78133051eb4d 100644 --- a/content/copilot/how-tos/copilot-cli/use-copilot-cli/index.md +++ b/content/copilot/how-tos/copilot-cli/use-copilot-cli/index.md @@ -13,6 +13,7 @@ children: - /connecting-vs-code - /delegate-tasks-to-cca - /browse-issues-prs-gists + - /ask-a-side-question - /roll-back-changes - /work-with-multiple-sessions - /invoke-custom-agents diff --git a/content/copilot/reference/copilot-cli-reference/cli-command-reference.md b/content/copilot/reference/copilot-cli-reference/cli-command-reference.md index 6607071e68b7..d16c02a16bdf 100644 --- a/content/copilot/reference/copilot-cli-reference/cli-command-reference.md +++ b/content/copilot/reference/copilot-cli-reference/cli-command-reference.md @@ -415,7 +415,7 @@ These are the slash commands you can use from within an interactive CLI session. | `/after [DELAY PROMPT]`, `/after` | Schedule a non-recurring prompt, skill, or schedulable slash command for the current session (for example, `/after 30m remind me the time` or `/after 1h /chronicle standup`). With no arguments the schedule manager is displayed. {% data reusables.copilot.experimental %} | | `/agent` | Browse and select from available agents (if any). See [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-custom-agents). | | `/app` | Open the current session in the {% data variables.copilot.github_copilot_app %} (requires version 1.1.3 or later), or show the download URL if the app is not installed. | -| `/ask QUESTION` | Ask a quick side question without adding to the conversation history. | +| `/ask QUESTION`, `/btw QUESTION` | Ask a quick side question without adding to the conversation history. See [AUTOTITLE](/copilot/how-tos/copilot-cli/use-copilot-cli/ask-a-side-question). | | `/allow-all [off\|auto\|show]`, `/yolo [off\|auto\|show]` | Enable all permissions (tools, paths, and URLs). This is an alias for `/permissions allow-all`; see the `/permissions` row for the canonical command and its subcommands. | | `/autopilot [OBJECTIVE]`, `/goal [OBJECTIVE]` | Start or refocus autopilot mode, optionally with an explicit objective (for example, `/goal Refactor the auth module`). Without an objective, autopilot infers intent from context, and the status panel shows your last prompt as the inferred objective. You can cap AI-credit spend for the objective by using `--max-ai-credits N` (for example, `/goal Refactor the auth module --max-ai-credits 5`). When the cap is reached, autopilot pauses and opens a panel reporting credits used against the cap. Enter a new amount to resume with a fresh credit window, or dismiss the panel to stay paused. You can also resume a paused objective yourself, without the panel, by running the option on its own with no objective text—for example, `/goal --max-ai-credits 5`. This is the same action the panel performs: it opens a fresh window of the credits you specify (the full new cap, not an increment) and continues the objective. `/goal on` and `/goal off` toggle autopilot mode without setting an objective and don't accept `--max-ai-credits`. An active goal renders as a pinned panel above the composer, showing the objective, credits used, and todo progress. The panel auto-collapses to a single identity row on short terminals (below 30 rows) and expands above that threshold; press Ctrl+X then `g` to override the automatic sizing by hand. | | `/changelog [summarize] [VERSION\|last N\|since VERSION]`, `/release-notes [summarize] [VERSION\|last N\|since VERSION]` | Display the CLI changelog. Optionally specify a version, a count of recent releases, or a starting version. Add the keyword `summarize` for an AI-generated summary. | From 733a8a36df30c11712cdf691a5a9296b669172d5 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Tue, 8 Sep 2026 08:48:57 +0000 Subject: [PATCH 006/138] [AUTOMATED] Copilot CLI: Update setup and installation articles (#62928) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../agents/copilot-cli/about-copilot-cli.md | 2 +- .../authenticate-copilot-cli.md | 55 ++++++--- .../troubleshoot-copilot-cli-auth.md | 28 ++++- .../copilot-cli/setup-and-installation.json | 106 ++++++++++++++++++ 4 files changed, 173 insertions(+), 18 deletions(-) create mode 100644 src/cli-docs-auto-maintenance/state/copilot-cli/setup-and-installation.json diff --git a/content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md b/content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md index 014ba043ea21..f81a62d9f14b 100644 --- a/content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md +++ b/content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md @@ -80,7 +80,7 @@ You can start a {% data variables.copilot.copilot_cli_short %} session inside an To start a cloud-backed session, run: ```bash copy -copilot ‑‑cloud +copilot --cloud ``` ## Use cases for {% data variables.copilot.copilot_cli %} diff --git a/content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md b/content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md index ee3130ff8d29..852b0cfb149c 100644 --- a/content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md +++ b/content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md @@ -18,9 +18,9 @@ If you use your own LLM provider API keys (BYOK), {% data variables.product.gith Authentication is required for any other {% data variables.copilot.copilot_cli %} usage. -When authentication is required, {% data variables.copilot.copilot_cli_short %} supports three methods. The method you use depends on whether you are working interactively or in an automated environment. +When authentication is required, {% data variables.copilot.copilot_cli_short %} supports several methods. The method you use depends on whether you are working interactively or in an automated environment. -* **OAuth device flow**: The default and recommended method for interactive use. When you run `/login` in {% data variables.copilot.copilot_cli_short %}, the CLI generates a one-time code and directs you to authenticate in your browser. This is the simplest way to authenticate. See [Authenticating with OAuth](#authenticating-with-oauth). +* **OAuth**: The default and recommended method for interactive use. There are two OAuth flows. The browser (web) flow opens your browser to authorize the sign-in and completes it on a local loopback callback. The device code flow displays a one-time code that you enter in your browser. The browser flow is the default on a local desktop, and known remote or headless environments (including SSH, {% data variables.product.prodname_github_codespaces %}, dev containers, and CI) default to the device code flow. See [Authenticating with OAuth](#authenticating-with-oauth). * **Environment variables**: Recommended for CI/CD pipelines, containers, and non-interactive environments. You set a supported token as an environment variable (`COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, or `GITHUB_TOKEN`), and the CLI uses it automatically without prompting. See [Authenticating with environment variables](#authenticating-with-environment-variables). * **{% data variables.product.prodname_cli %} fallback**: If you have {% data variables.product.prodname_cli %} (`gh`) (note: the `gh` CLI, not `copilot`) installed and authenticated, {% data variables.copilot.copilot_cli_short %} can use its token automatically. This is the lowest priority method and activates only when no other credentials are found. See [Authenticating with {% data variables.product.prodname_cli %}](#authenticating-with-github-cli). @@ -52,7 +52,7 @@ Offline mode is **only fully air-gapped** if your BYOK provider is local or othe | Token type | Prefix | Supported | Notes | |----------------------------|---------------|-----------|--------------------------------------------------------| -| OAuth token (device flow) | `gho_` | Yes | Default method via `copilot login` | +| OAuth token (browser or device flow) | `gho_` | Yes | Default method via `copilot login` | | Fine-grained PAT | `github_pat_` | Yes | Must be owned by your personal account (not an organization) with the **{% data variables.product.prodname_copilot_short %} Requests** account permission | | GitHub App user-to-server | `ghu_` | Yes | Via environment variable | | Classic PAT | `ghp_` | No | Not supported by {% data variables.copilot.copilot_cli_short %} | @@ -78,12 +78,12 @@ When you run a command, {% data variables.copilot.copilot_cli_short %} checks fo 1. GitHub CLI (`gh auth token`) fallback > [!NOTE] -> * An environment variable silently overrides a stored OAuth token. If you set `GH_TOKEN` for another tool, the CLI uses that token instead of the OAuth token from `copilot login`. To avoid unexpected behavior, unset environment variables you do not intend the CLI to use. +> * An environment variable silently overrides a stored OAuth token. If you set `GH_TOKEN` for another tool, the CLI uses that token instead of the OAuth token from `copilot login`. To avoid unexpected behavior, unset environment variables you do not intend the CLI to use. There is one exception: in {% data variables.product.prodname_github_codespaces %}, the `GITHUB_TOKEN` that is injected automatically does not take precedence over an account you signed in with using `/login`. A `GITHUB_TOKEN`, `COPILOT_GITHUB_TOKEN`, or `GH_TOKEN` that you export explicitly still does. > * When you configure BYOK provider environment variables (for example, `COPILOT_PROVIDER_BASE_URL`, `COPILOT_PROVIDER_API_KEY`), {% data variables.copilot.copilot_cli_short %} uses these for AI model requests regardless of your {% data variables.product.github %} authentication status. {% data variables.product.github %} tokens are only needed for {% data variables.product.github %}-hosted features. ## Authenticating with OAuth -The OAuth device flow is the default authentication method for interactive use. You can authenticate by running `/login` from {% data variables.copilot.copilot_cli_short %} or `copilot login` from your terminal. +OAuth is the default authentication method for interactive use. You can authenticate by running `/login` from {% data variables.copilot.copilot_cli_short %} or `copilot login` from your terminal. Both offer a browser (web) flow and a device code flow. ### Authenticate with `/login` @@ -101,16 +101,28 @@ The OAuth device flow is the default authentication method for interactive use. 2. {% data variables.product.prodname_ghe_cloud %} with data residency (*.ghe.com) ``` -1. The CLI displays a one-time user code and automatically copies it to your clipboard and opens your browser. +1. Choose how you want to sign in. The recommended option is listed first, and depends on your environment: the browser flow on a local terminal, or the device code flow in a remote or headless environment. The following example shows the prompt in a local terminal: ```text - Waiting for authorization... - Enter one-time code: 1234-5678 at https://github.com/login/device - Press any key to copy to clipboard and open browser... + How do you want to sign in? + 1. Sign in with your browser (recommended) + 2. Sign in with a device code ``` -1. Navigate to the verification URL at `https://github.com/login/device` if your browser did not open automatically. -1. Paste the one-time code in the field on the page. +1. Complete the flow you selected. + + * **Browser**: {% data variables.copilot.copilot_cli_short %} opens your browser so that you can authorize the sign-in. If your browser does not open automatically, the terminal displays a URL that you can visit instead. + + * **Device code**: The CLI displays a one-time user code, and can copy it to your clipboard and open your browser for you. + + ```text + Waiting for authorization... + Enter one-time code: 1234-5678 at https://github.com/login/device + Press any key to copy to clipboard and open browser... + ``` + + Navigate to the verification URL at `https://github.com/login/device` if your browser did not open automatically, then paste the one-time code in the field on the page. + 1. If your organization uses SAML SSO, click **Authorize** next to each organization you want to grant access to. 1. Review the requested permissions and click **Authorize GitHub Copilot CLI**. 1. Return to your terminal. The CLI displays a success message when authentication is complete. @@ -133,14 +145,27 @@ The OAuth device flow is the default authentication method for interactive use. copilot login --host HOSTNAME ``` - The CLI displays a one-time user code and automatically copies it to your clipboard and opens your browser. +1. Authorize the sign-in. + + On a local desktop, `copilot login` uses the browser flow by default. It opens your browser to authorize the sign-in and captures the result on a local loopback callback. + + ```text + Opening your browser to authenticate... + If it doesn't open automatically, visit: + URL + Waiting for authorization... + ``` + + Known remote or headless environments (including SSH, {% data variables.product.prodname_github_codespaces %}, dev containers, and CI) use the device code flow instead. The CLI displays a one-time code and, when supported by the environment, can copy it to your clipboard and open a browser. ```text - To authenticate, visit https://github.com/login/device and enter code 1234-5678. + To authenticate, visit https://github.com/login/device and enter code 1234-5678 + Waiting for authorization... ``` -1. Navigate to the verification URL at `https://github.com/login/device` if your browser did not open automatically. -1. Paste the one-time code in the field on the page. + To force a particular flow, add the `--web-flow` or `--device-code` option. + +1. Navigate to the URL displayed in your terminal if your browser did not open automatically. For the device code flow, paste the one-time code in the field on the page. 1. If your organization uses SAML SSO, click **Authorize** next to each organization you want to grant access to. 1. Review the requested permissions and click **Authorize GitHub Copilot CLI**. 1. Return to your terminal. The CLI displays a success message when authentication is complete. diff --git a/content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md b/content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md index c122abb364f6..e229d3cc8655 100644 --- a/content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md +++ b/content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md @@ -62,7 +62,7 @@ If you are using an environment variable, check whether the `COPILOT_GITHUB_TOKE If the command prints nothing, the variable is not set. Set the variable to a valid token. To generate a token, see [AUTOTITLE](/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli#authenticating-with-environment-variables). ```bash copy - export $COPILOT_GITHUB_TOKEN=PERSONAL_ACCESS_TOKEN + export COPILOT_GITHUB_TOKEN=PERSONAL_ACCESS_TOKEN ``` #### macOS keychain @@ -106,7 +106,31 @@ Review the token's status and permissions on {% data variables.product.prodname_ ## {% data variables.product.pat_classic_caps %} rejected -A token starting with `ghp_` is silently ignored and the CLI behaves as if no token is set. +A token starting with `ghp_` is rejected. What happens next depends on how you are running {% data variables.copilot.copilot_cli_short %}. + +In an interactive session, the classic {% data variables.product.pat_generic %} is ignored and the CLI keeps running, so you can authenticate another way, such as with `/login`. {% data variables.copilot.copilot_cli_short %} displays a warning like the following, naming the environment variable that holds the token: + + +```text +Classic Personal Access Tokens (ghp_) are not supported. GITHUB_TOKEN contains a classic PAT and will be ignored. Use /login to authenticate, or replace it with a fine-grained PAT. +``` + + +In non-interactive use, such as `copilot -p` or other automation, if the classic {% data variables.product.pat_generic %} is the only credential available, the CLI refuses to start and displays the following error, naming the environment variable that holds the token: + + +```text +Error: Classic Personal Access Tokens (ghp_) are not supported by Copilot. + +The GITHUB_TOKEN environment variable contains a classic PAT. +Please use a Fine-Grained Personal Access Token or another authentication method. + +To fix this, you can: + • Replace the token in GITHUB_TOKEN with a fine-grained PAT + • Unset GITHUB_TOKEN and run 'gh auth login' to authenticate + • Unset GITHUB_TOKEN and start 'copilot', then use the '/login' command +``` + ### Cause diff --git a/src/cli-docs-auto-maintenance/state/copilot-cli/setup-and-installation.json b/src/cli-docs-auto-maintenance/state/copilot-cli/setup-and-installation.json new file mode 100644 index 000000000000..1301d70d57bd --- /dev/null +++ b/src/cli-docs-auto-maintenance/state/copilot-cli/setup-and-installation.json @@ -0,0 +1,106 @@ +{ + "name": "Setup and installation", + "sha": "8f269b4e7f4cd58744a6edf8093e55820f6d765c", + "articles": [ + "content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md", + "content/copilot/concepts/agents/copilot-cli/index.md", + "content/copilot/how-tos/copilot-cli/cli-getting-started.md", + "content/copilot/how-tos/copilot-cli/index.md", + "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli.md", + "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/index.md", + "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/install-copilot-cli.md", + "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md" + ], + "proposed": [ + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "When authentication is required, {% data variables.copilot.copilot_cli_short %} supports several methods. The method you use depends on whether you are working interactively or in an automated environment." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "* **OAuth**: The default and recommended method for interactive use. There are two OAuth flows. The browser (web) flow opens your browser to authorize the sign-in and completes it on a local loopback callback. The device code flow displays " + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "| OAuth token (browser or device flow) | `gho_` | Yes | Default method via `copilot login` |" + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "> * An environment variable silently overrides a stored OAuth token. If you set `GH_TOKEN` for another tool, the CLI uses that token instead of the OAuth token from `copilot login`. To avoid unexpected behavior, unset environment variables " + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "OAuth is the default authentication method for interactive use. You can authenticate by running `/login` from {% data variables.copilot.copilot_cli_short %} or `copilot login` from your terminal. Both offer a browser (web) flow and a device" + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "1. Choose how you want to sign in. The recommended option is listed first, and depends on your environment: the browser flow on a local terminal, or the device code flow in a known remote or headless environment." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "How do you want to sign in? 1. Sign in with your browser (recommended) 2. Sign in with a device code" + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "* **Browser**: {% data variables.copilot.copilot_cli_short %} opens your browser so that you can authorize the sign-in. If your browser does not open automatically, the terminal displays a URL that you can visit instead." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "* **Device code**: The CLI displays a one-time user code, and can copy it to your clipboard and open your browser for you." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "```text Waiting for authorization... Enter one-time code: 1234-5678 at https://github.com/login/device Press any key to copy to clipboard and open browser... ```" + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "Navigate to the verification URL at `https://github.com/login/device` if your browser did not open automatically, then paste the one-time code in the field on the page." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "On a local desktop, `copilot login` uses the browser flow by default. It opens your browser to authorize the sign-in and captures the result on a local loopback callback." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "```text Opening your browser to authenticate... If it doesn't open automatically, visit: URL Waiting for authorization... ```" + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "Known remote or headless environments (including SSH, {% data variables.product.prodname_github_codespaces %}, dev containers, and CI) use the device code flow instead. The CLI displays a one-time code, and copies it to your clipboard and o" + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "To authenticate, visit https://github.com/login/device and enter code 1234-5678 Waiting for authorization..." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "To force a particular flow, add the `--web-flow` or `--device-code` option." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/authenticate-copilot-cli.md", + "text": "1. Navigate to the URL displayed in your terminal if your browser did not open automatically. For the device code flow, paste the one-time code in the field on the page." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md", + "text": "export COPILOT_GITHUB_TOKEN=PERSONAL_ACCESS_TOKEN" + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md", + "text": "A token starting with `ghp_` is rejected. If it is the only credential available, {% data variables.copilot.copilot_cli_short %} refuses to start and displays the following error, naming the environment variable that holds the token." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md", + "text": " ```text Error: Classic Personal Access Tokens (ghp_) are not supported by Copilot." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md", + "text": "The GITHUB_TOKEN environment variable contains a classic PAT. Please use a Fine-Grained Personal Access Token or another authentication method." + }, + { + "article": "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/troubleshoot-copilot-cli-auth.md", + "text": "To fix this, you can: • Replace the token in GITHUB_TOKEN with a fine-grained PAT • Unset GITHUB_TOKEN and run 'gh auth login' to authenticate • Unset GITHUB_TOKEN and start 'copilot', then use the '/login' command ``` ` in the table cell +- Use `Not applicable` (plain text) for N/A +- If you have an anchor name, link display name to it: `[{Display Name}](#{anchor})` +- Otherwise use just the display name without link + +**Also add ecosystem section at bottom** (if you have details): + +Find the sections at the bottom of the file (e.g., "### Deno", "### Cargo"). Add a new section in alphabetical order: + +```markdown +{% ifversion dependabot-{yaml-value}-support %} + +### {Display Name} + +{Ecosystem-specific details paragraph} + +{% endif %} +``` + +**If you don't have ecosystem-specific details**, add a TODO comment instead: +```markdown +{% ifversion dependabot-{yaml-value}-support %} + +### {Display Name} + + + +{% endif %} +``` + +### Step 6: Update dependabot options reference + +**File:** `content/code-security/reference/supply-chain-security/dependabot-options-reference.md` + +**Two tables to update:** + +#### A. package-ecosystem table + +Search for the `package-ecosystem` section. Find the table with columns: Package manager | YAML value | Supported versions + +**Add in alphabetical order:** +```markdown +| {% ifversion dependabot-{yaml-value}-support %} | +| {Display Name} | `{yaml-value}` | {versions} | +| {% endif %} | +``` + +#### B. Cooldown support table (if applicable) + +Search for the `cooldown` section. Find the table with columns: Package manager | Default days supported | SemVer-bump days supported + +**Add in alphabetical order:** +```markdown +| {% ifversion dependabot-{yaml-value}-support %} | +| {Display Name} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | +| {% endif %} | +``` + +**Notes:** +- Set the `Default days supported` and `SemVer-bump days supported` cells independently based on the issue information +- Use `{% octicon "check" aria-label="Supported" %}` for supported and `{% octicon "x" aria-label="Not supported" %}` for not supported +- If either value is unknown, add a TODO comment identifying the value that needs confirmation and use octicon x in that cell + +### Step 7: Update dependency graph ecosystems + +**File:** `content/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems.md` + +**Find the table** with columns: Package manager | Languages | Static transitive dependencies | {% data variables.product.prodname_dependabot %} graph jobs | Automatic dependency submission | Recommended files | Additional files + +**Add in alphabetical order:** +```markdown +| {% ifversion dependabot-{yaml-value}-support %} | +| {Display Name} | {Languages} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | {recommended-files} | {additional-files} | +| {% endif %} | +``` + +**Notes:** +- Static transitive dependencies, {% data variables.product.prodname_dependabot %} graph jobs, and automatic dependency submission are usually "Not supported" for new ecosystems +- If you have explicit info saying they ARE supported, use octicon check +- Recommended files: Comma-separated, in backticks (e.g., `` `deno.lock` ``) +- Additional files: Comma-separated, in backticks (e.g., `` `deno.json`, `deno.jsonc` ``) +- If you don't have file information, use `` and `` + +### Step 7b: Check private registries guide (if applicable) + +**File:** `content/code-security/how-tos/secure-your-supply-chain/manage-your-dependency-security/configure-private-registries.md` + +**When:** Check your `PRIVATE_REGISTRIES_SUPPORTED` flag from Step 1b + +**If PRIVATE_REGISTRIES_SUPPORTED = true:** + +Only use this path when the docs-content or releases issue explicitly confirms support. Use grep/glob to locate this file, then add a TODO comment in an appropriate location (near similar ecosystem sections): + +```markdown + +``` + +**If PRIVATE_REGISTRIES_SUPPORTED = false:** +- Skip this file entirely + +**If PRIVATE_REGISTRIES_SUPPORTED = unknown:** +- Do not update `configure-private-registries.md` +- Keep `` in the supported package managers table +- Include private registry support in the PR description's missing-information list +- Ask the reviewer to confirm support in the missing-information PR comment +- If the reviewer confirms support, replace the table TODO with a supported octicon and add the configuration-guide TODO described above +- If the reviewer confirms it is not supported, replace the table TODO with a not-supported octicon and leave the configuration guide unchanged + +### Step 7c: Update supported code languages data (if applicable) + +**Source file:** `data/tables/supported-code-languages.yml` + +**Rendered article:** `content/get-started/learning-about-github/github-language-support.md` + +**When:** Check your `IS_NEW_LANGUAGE` flag from Step 1b + +**If IS_NEW_LANGUAGE = true:** + +1. Do not edit the rendered article directly. Its tables are generated from `data/tables/supported-code-languages.yml`. +2. Add the new language to the `languages` mapping in `data/tables/supported-code-languages.yml`, in alphabetical order. +3. Set `depUpdates` to the new ecosystem's display name because this workflow documents Dependabot version and security update support. +4. Set `depGraph` from the dependency graph information collected in Step 1. Do not infer support. +5. For every other feature key defined under `features`, use information from the issues. If a value is unknown, add a TODO requesting confirmation rather than inventing support. +6. Check whether dependency scope is supported for this language. If it is, update `data/reusables/dependabot/dependabot-alerts-dependency-scope.md`. + +**If IS_NEW_LANGUAGE = false:** +- Do not add a new language entry. Check whether the existing language's `depUpdates` or `depGraph` value in `data/tables/supported-code-languages.yml` needs the new ecosystem added, and update it if necessary. + +**If IS_NEW_LANGUAGE = unknown:** +- Note in the PR description that verification is needed before changing `data/tables/supported-code-languages.yml` + +### Step 8: Handle missing data + +For any field you couldn't extract: + +1. **In table cells:** Use `` comment +2. **In prose sections:** Use clear TODO comments explaining what's needed +3. **Keep track** of all TODOs for the PR comment + +**Example TODO comments:** +- `` +- `` +- `` +- `` +- `` + +If the GHES version is missing: +- Add the YAML TODO described in Step 4 and omit the `ghes` entry +- Include GHES version in the PR description's missing-information list +- Create the PR as a draft +- Post a PR comment explicitly stating that the first supported GHES version is required and needs confirmation + +### Step 9: Create pull request + +**Branch name:** `dependabot-{yaml-value}-support` (or similar descriptive name) + +**PR Title:** `Add {Display Name} support to Dependabot configuration and documentation` + +**PR Body:** + +```markdown +_GitHub Copilot generated this pull request._ + +
Prompt summary - submitted by @{username} + +> Automated documentation update for {Display Name} ecosystem support in Dependabot + +
+ +### Why: + +Dependabot is adding support for the `{yaml-value}` ecosystem. + +Closes: https://github.com/github/docs-content/issues/{issue_number} + +### What's being changed: + +We have added `{yaml-value}` to the list of ecosystems for Dependabot{, following the pattern from PR #{reference-pr-number}}. + +**Changes include:** +* Created `data/features/dependabot-{yaml-value}-support.yml` feature flag +* Added {Display Name} to the package managers table in `data/reusables/dependabot/supported-package-managers.md` +* Added {Display Name} to the package-ecosystem table in `content/code-security/reference/supply-chain-security/dependabot-options-reference.md` +* Added {Display Name} to the cooldown support table in `dependabot-options-reference.md` (wrapped with feature flag) +* Added {Display Name} to the dependency graph supported ecosystems table in `content/code-security/reference/supply-chain-security/dependency-graph-supported-package-ecosystems.md` +{IF LANGUAGE SUPPORT CHANGED} +* Updated `data/tables/supported-code-languages.yml`, the source for the GitHub language support article +{END IF} + +**{Display Name} details:** +* YAML value: `{yaml-value}` +* GHES version: {ghes-version} +* Supported versions: {versions} +* Recommended files: {files} +* Additional files: {files} +* Language: {language} +* Default-days cooldown: {✅/❌} Supported/Not supported +* SemVer-bump cooldown: {✅/❌} Supported/Not supported +* Static transitive dependencies: {✅/❌} Supported/Not supported +* {% data variables.product.prodname_dependabot %} graph jobs: {✅/❌} Supported/Not supported +* Automatic dependency submission: {✅/❌} Supported/Not supported +* Version updates: {✅/❌} Supported/Not supported +* Security updates: {✅/❌} Supported/Not supported +* Private repositories: {✅/❌} Supported/Not supported +* Private registries: {✅/❌/TODO} Supported/Not supported/Needs confirmation +* Vendoring: {✅/❌} Supported/Not supported + +{IF THERE ARE TODOS:} + +**⚠️ Missing information** + +The following information could not be extracted from the issue and requires manual verification: + +{LIST OF TODO ITEMS} + +Please review the TODO comments in the files and provide the missing information. + +{END IF} + +{IF IS_NEW_LANGUAGE = true} + +**⚠️ New language detected** + +This appears to be a NEW LANGUAGE, not just a new package manager: +- [ ] Review the new language entry added to `data/tables/supported-code-languages.yml`, which is the source for `content/get-started/learning-about-github/github-language-support.md` + - Confirm `depUpdates` is `{Display Name}` + - Confirm `depGraph` and all other feature support values +- [ ] Check if dependency scope is supported for this language + - If YES: Update `data/reusables/dependabot/dependabot-alerts-dependency-scope.md` + +{END IF} + +**Additional updates to review:** + +This PR addresses the core Dependabot ecosystem documentation. Based on the [ongoing content design workflow](https://github.com/github/docs-content/blob/main/.github/workflows/ongoing-content-design-plan.yml), please check if these additional updates apply: + +{IF PRIVATE_REGISTRIES_SUPPORTED = true} +- [ ] **Private registries guide**: A TODO comment has been added to `configure-private-registries.md` for configuration examples +{ENDIF} + +{IF PRIVATE_REGISTRIES_SUPPORTED = unknown} +- [ ] **Confirm private registry support**: If supported, update the table entry and add a configuration TODO to `configure-private-registries.md`. If not supported, update only the table entry +{ENDIF} + +{IF IS_NEW_LANGUAGE = unknown} +- [ ] **Verify language**: Please confirm if `{Language}` is a new language or already present in `data/tables/supported-code-languages.yml` +{ENDIF} + + +### Check off the following: + +- [ ] A subject matter expert (SME) has reviewed the technical accuracy of the content in this PR. +- [ ] The changes in this PR meet [the docs fundamentals](http://docs.github.com/en/contributing/writing-for-github-docs/about-githubs-documentation-fundamentals). +- [ ] All CI checks are passing and the changes look good in the review environment. +``` + +**Notes:** +- Replace `{username}` with the person who assigned the issue +- Replace `{issue_number}` with the docs-content issue number +- If you found a good reference PR, mention it in "following the pattern from PR #..." +- Use ✅ or ❌ emoji for confirmed supported/not supported values in the details list; use TODO for unknown values +- The "Missing Information" section should only appear if there are TODO comments in the files +- The "New Language Detected" section only appears if `IS_NEW_LANGUAGE = true` +- The "Additional Updates to Review" section includes conditionals based on your flags + +**PR status:** +- If ALL required information is present AND no special cases: Create as **ready for review** +- If ANY required information is missing OR new language OR private registries need attention: Create as **DRAFT** + +### Step 10: Post comment (if missing data) + +If you created a DRAFT PR due to missing information, add a comment to the PR: + +```markdown +I've created this draft PR based on the available information from the issue. However, I couldn't extract the following details: + +{LIST MISSING FIELDS} + +Please provide this information so I can complete the documentation. You can: +1. Add the details as a comment here +2. Update the files directly +3. Tag someone who knows (@stakeholder from the issue) + +Once the information is provided, I can update the PR and mark it ready for review. +``` + +If the GHES version is missing, the comment must include: + +```markdown +The first supported GHES version is required for the feature flag and needs to be confirmed from the docs-content or releases issue. +``` + +If private registry support is unknown, the comment must include: + +```markdown +Please confirm whether private registries are supported for this ecosystem. If they are supported, the PR also needs a TODO in `configure-private-registries.md` for the required configuration documentation. +``` + +## Important notes + +### Style and formatting + +- **Bullet lists:** Use asterisks (`*`), not hyphens (`-`) +- **Liquid variables:** Use `{% data variables.product.prodname_dependabot %}` for "Dependabot" +- **Table alignment:** Match the existing table formatting exactly +- **Alphabetical order:** Critical! Insert new entries in the correct alphabetical position +- **Feature flags:** Always wrap new content in `{% ifversion dependabot-{yaml-value}-support %}` + +### Common pitfalls to avoid + +- **Don't hardcode file paths** - use glob/grep to find current locations +- **Don't skip the feature flag** - it's required for version gating +- **Don't default the GHES version** - source it from the docs-content or releases issue, or leave a TODO and request confirmation in a PR comment +- **Don't infer private registry support** - use only explicit issue information; unknown support stays as a table TODO and does not trigger a change to `configure-private-registries.md` +- **Don't forget alphabetical order** - tables must stay sorted +- **Don't use inconsistent octicons** - match the aria-label pattern exactly +- **Don't create ready-for-review PRs with TODOs** - use draft status +- **Don't skip the scope detection** - new language vs. ecosystem matters + +### Validation before creating PR + +Before you create the PR, verify: +1. ✅ Feature flag file created with correct YAML value +2. ✅ GHES version matches the docs-content or releases issue, or the feature flag contains a TODO and the PR has a comment requesting confirmation +3. ✅ All 4 core files updated (or TODO comments explain why not) +4. ✅ Private registry support came from explicit issue information, or the table contains a TODO and the PR comment requests confirmation +5. ✅ `configure-private-registries.md` was changed only when private registry support was explicitly confirmed +6. ✅ All table entries in alphabetical order +7. ✅ Cooldown entries contain all 3 columns, including separate default-days and SemVer-bump support values +8. ✅ Dependency graph entries contain all 7 columns, including {% data variables.product.prodname_dependabot %} graph jobs +9. ✅ All `ifversion` tags have matching `endif` tags +10. ✅ Octicon syntax is correct +11. ✅ PR description accurately lists what changed +12. ✅ Draft status if ANY TODOs present +13. ✅ Scope flags (IS_NEW_LANGUAGE, PRIVATE_REGISTRIES_SUPPORTED) were set +14. ✅ `data/tables/supported-code-languages.yml` was updated when language support changed; the rendered article was not edited directly +15. ✅ Workflow checklist linked in PR description + +## Examples + +### Example 1: Complete information (Deno) + +**Input:** Issue with all details provided, Deno uses TypeScript/JavaScript, private registries not supported + +**Flags set:** +- `IS_NEW_LANGUAGE = false` +- `PRIVATE_REGISTRIES_SUPPORTED = false` + +**Output:** +- Feature flag: `data/features/dependabot-deno-support.yml` +- All 4 core files updated with complete information +- No private registries TODO (not supported) +- No new language note +- Ready-for-review PR with full description +- No TODO comments + +### Example 2: Missing information + private registries + +**Input:** Issue missing some details, ecosystem supports private registries + +**Flags set:** +- `IS_NEW_LANGUAGE = false` +- `PRIVATE_REGISTRIES_SUPPORTED = true` + +**Output:** +- Feature flag: Created +- Tables: Updated with `` in cells with missing data +- Private registries guide: TODO comment added +- **Draft PR** with "Missing Information" section +- PR checklist includes private registries guide item +- Comment posted listing what's needed + +### Example 3: New language detected + +**Input:** Issue for a brand new language (hypothetical: Zig) + +**Flags Set:** +- `IS_NEW_LANGUAGE = true` +- `PRIVATE_REGISTRIES_SUPPORTED = false` + +**Output:** +- Feature flag: Created +- All 4 core files and `data/tables/supported-code-languages.yml` updated +- **Draft PR** with "New Language Detected" section +- `data/tables/supported-code-languages.yml` updated with the new language and known feature support +- PR includes checklist for any unconfirmed language feature values and the dependency scope reusable +- No private registries changes (not supported) + +## Error handling + +If you encounter issues: + +**Files not found:** +- Use glob to search more broadly +- Report in PR comment which files couldn't be located +- Do NOT proceed if critical files are missing + +**Cannot determine alphabetical position:** +- List the surrounding entries +- Ask for clarification in PR comment + +**Conflicting information:** +- Note the conflict in TODO comment +- List sources in PR comment +- Default to more conservative option (e.g., "not supported" if unclear) + +**Cannot access linked release issue:** +- Proceed with information from docs-content issue only +- Note in PR that release issue couldn't be accessed +- Mark uncertain fields with TODO + +**Unclear if new language:** +- Set `IS_NEW_LANGUAGE = unknown` +- Add verification note in PR description +- Mark PR as draft + +## Success criteria + +Your work is successful when: +- ✅ All 4 core files are updated consistently +- ✅ Tables remain in alphabetical order +- ✅ Feature flag exists and is referenced correctly +- ✅ PR description is complete and accurate +- ✅ Missing data is clearly marked with TODOs +- ✅ PR status (draft/ready) matches data completeness +- ✅ Issue is properly linked with "Closes" syntax +- ✅ Update scope correctly identified (new language vs new ecosystem) +- ✅ Private registries guide flagged if applicable +- ✅ `data/tables/supported-code-languages.yml` updated or flagged for verification if language support changes +- ✅ Workflow checklist linked for reviewer reference From b6c6ab3ec30c2917be1980400d44b547ba5934ab Mon Sep 17 00:00:00 2001 From: hubwriter Date: Tue, 8 Sep 2026 13:20:30 +0000 Subject: [PATCH 010/138] [AUTOMATED] Copilot CLI: Update integrations and remote control articles (#62913) --- .../browse-issues-prs-gists.md | 6 +- .../use-copilot-cli/manage-pull-requests.md | 24 ++++- .../use-copilot-cli/voice-input.md | 12 +-- .../integrations-and-remote-control.json | 88 +++++++++++++++++++ 4 files changed, 120 insertions(+), 10 deletions(-) create mode 100644 src/cli-docs-auto-maintenance/state/copilot-cli/integrations-and-remote-control.json diff --git a/content/copilot/how-tos/copilot-cli/use-copilot-cli/browse-issues-prs-gists.md b/content/copilot/how-tos/copilot-cli/use-copilot-cli/browse-issues-prs-gists.md index 3393158323d8..3d2c4db07bd5 100644 --- a/content/copilot/how-tos/copilot-cli/use-copilot-cli/browse-issues-prs-gists.md +++ b/content/copilot/how-tos/copilot-cli/use-copilot-cli/browse-issues-prs-gists.md @@ -48,7 +48,7 @@ The **Issues**, **Pull requests**, and **Gists** tabs all use the same controls. * Press Enter to display a detailed view of the highlighted item. Press Esc in the details view to return to the list. * Press o to open the highlighted item (or, in the detailed view, the current item) on {% data variables.product.prodname_dotcom_the_website %}. * Press c to insert a reference to the item into the prompt input area and jump back to the **Session** tab. -* Press / (on the **Issues** and **Pull requests** tabs) to search {% data variables.product.prodname_dotcom %} with a custom query. Type a query, press Enter to run it, and Esc to cancel or clear it. +* Press / (on the **Issues** and **Pull requests** tabs) to filter the list with your own search terms. Type your terms, press Enter to run the search, and Esc to cancel or clear it. For the full set of keypresses you can use, see [Keyboard reference](#keyboard-reference) at the end of this article. @@ -80,11 +80,11 @@ Pressing c inserts a reference to the pull request into the prompt bo By default, the **Issues** and **Pull requests** tabs show items that involve you. Press a to toggle between this (`involves:@me`) and all open items. -To run your own search, press /. An inline search box opens where you can type a {% data variables.product.prodname_dotcom %} search query, then press Enter to run it. +To run your own search, press /. An inline search box opens where you can type your search terms, then press Enter to run the search. Press Esc to cancel while typing, or to clear an applied search and return to the default list. -You can use the same set of search qualifiers that are available on {% data variables.product.prodname_dotcom_the_website %}. See [AUTOTITLE](/search-github/searching-on-github/searching-issues-and-pull-requests). +Your search terms are added to the qualifiers the tab already applies, so results are always limited to open items in the current repository—and, unless you have pressed a, to items that involve you. Enter plain search terms rather than search qualifiers: text containing a colon is searched for as a literal phrase, so a term such as `label:bug` is not interpreted as a qualifier. ## Browsing your gists diff --git a/content/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests.md b/content/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests.md index 0d5a0e4ac9de..b8c37a1134a9 100644 --- a/content/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests.md +++ b/content/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests.md @@ -89,6 +89,12 @@ The `/pr` slash command has several subcommands that you can use to perform diff No Yes + +/pr automerge +Do the same as /pr auto, then merge the pull request once it is green. Find out more +No +Yes + @@ -142,6 +148,8 @@ To have {% data variables.product.prodname_copilot_short %} read and address rev {% data variables.product.prodname_copilot_short %} fetches all review comment threads on the pull request, determines what changes are requested, applies the changes to your codebase, and commits and pushes the fixes. Actionable code change requests are prioritized over conversational comments. +For each thread it addresses, {% data variables.product.prodname_copilot_short %} replies within the thread on {% data variables.product.prodname_dotcom_the_website %} to explain the change, then marks the thread as resolved. Threads that need your input are answered but left unresolved. + ## Resolving merge conflicts To sync your branch with the base branch and resolve any merge conflicts, enter: @@ -201,7 +209,9 @@ To have {% data variables.product.prodname_copilot_short %} manage the entire pu /pr auto ``` -If no pull request exists for the current branch, {% data variables.product.prodname_copilot_short %} creates one first. It then loops through the fix phases—review feedback, conflicts, and CI—repeating until there are no more review comments, no conflicts, and all CI checks pass. +If no pull request exists for the current branch, {% data variables.product.prodname_copilot_short %} creates one first. It then loops through the fix phases—review feedback, conflicts, and CI—repeating until there are no more review comments, no conflicts, and all CI checks pass. It does not merge the pull request. + +The loop runs as a self-paced schedule rather than as a single, continuous turn, doing one pass of work each time it runs and pausing between passes while CI settles. Use the `/every` slash command to check on the loop, or to stop it. You can append instructions to guide the pull request creation. For example: @@ -209,6 +219,18 @@ You can append instructions to guide the pull request creation. For example: /pr auto include migration notes in the description ``` +### Automatically merging the pull request + +`/pr auto` deliberately stops when the pull request is green. If you also want {% data variables.product.prodname_copilot_short %} to merge the pull request, enter: + +```copilot copy +/pr automerge +``` + +This runs the same loop as `/pr auto`. Once the pull request is no longer a draft, has no unresolved requests for changes, and all required checks are passing, {% data variables.product.prodname_copilot_short %} enables auto-merge rather than merging the pull request itself. {% data variables.product.prodname_dotcom %} then completes the merge as soon as every remaining requirement is satisfied, including any required approvals and merge queue. {% data variables.product.prodname_copilot_short %} keeps the loop running—handling any further review feedback or check failures—until the pull request is merged or closed. + +You can use `/pr agentmerge` as an alias for `/pr automerge`. + ## Further reading * [AUTOTITLE](/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools) diff --git a/content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md b/content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md index 2906a434e7dd..354528f219b7 100644 --- a/content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md +++ b/content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md @@ -20,7 +20,7 @@ You need a working microphone connected to your machine. By default, voice input ## Limitation -Voice input is currently only supported for English and Spanish dictation. English is the default language for speech recognition. +{% data variables.copilot.copilot_cli_short %} offers a fixed set of speech-to-text models: a multilingual model, which is the default, plus a dedicated English model and a dedicated Spanish model. Only these models are listed in the voice models picker. ## Enabling voice input @@ -31,12 +31,12 @@ Before you can dictate prompts, you need to download the voice runtime that powe The download runs in the background. You can keep using {% data variables.copilot.copilot_cli_short %} while it completes. -1. When you're prompted to choose a voice model, press Enter with "Download default model" selected to download the English speech-to-text model. +1. When you're prompted to choose a voice model, press Enter with "Download default model" selected to download the default multilingual speech-to-text model. - Alternatively, if you want to dictate in Spanish: + Alternatively, if you want to use the dedicated English or Spanish model: 1. Use the arrow keys on your keyboard to select "Browse models", then press Enter. - 1. In the voice models picker, use the arrow keys to select the Spanish speech-to-text model, then press Enter to download it. + 1. In the voice models picker, use the arrow keys to select the model you want, then press Enter to download it. 1. Press Esc to exit the picker. ## Using voice input @@ -92,7 +92,7 @@ If you have more than one microphone available on your system, you can switch in ## Switching voice models -You can dictate prompts in English or Spanish, but the appropriate voice model must be downloaded and activated for the language you want to use. +The default multilingual model handles more than one language, but you can switch to the dedicated English or Spanish model if you prefer. The model you want must be downloaded and activated before you can use it. To change to a different voice model: @@ -100,7 +100,7 @@ To change to a different voice model: The voice models picker is displayed. A check mark indicates the currently active model. -1. In the voice models picker, use the arrow keys on your keyboard to select the English or Spanish speech-to-text, then press Enter. +1. In the voice models picker, use the arrow keys on your keyboard to select the model you want to use, then press Enter. If the model is not already downloaded, it will be downloaded to your machine. diff --git a/src/cli-docs-auto-maintenance/state/copilot-cli/integrations-and-remote-control.json b/src/cli-docs-auto-maintenance/state/copilot-cli/integrations-and-remote-control.json new file mode 100644 index 000000000000..4eceb5f493f7 --- /dev/null +++ b/src/cli-docs-auto-maintenance/state/copilot-cli/integrations-and-remote-control.json @@ -0,0 +1,88 @@ +{ + "name": "Integrations and remote control", + "sha": "7b8276b2bcaafc444a3dcf482a033352ebb3faa1", + "articles": [ + "content/copilot/concepts/agents/copilot-cli/about-remote-control.md", + "content/copilot/concepts/agents/copilot-cli/chronicle.md", + "content/copilot/concepts/agents/copilot-cli/lsp-servers.md", + "content/copilot/how-tos/copilot-cli/set-up-copilot-cli/add-lsp-servers.md", + "content/copilot/how-tos/copilot-cli/use-copilot-cli/browse-issues-prs-gists.md", + "content/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle.md", + "content/copilot/how-tos/copilot-cli/use-copilot-cli/connecting-vs-code.md", + "content/copilot/how-tos/copilot-cli/use-copilot-cli/delegate-tasks-to-cca.md", + "content/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests.md", + "content/copilot/how-tos/copilot-cli/use-copilot-cli/steer-remotely.md", + "content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md" + ], + "proposed": [ + { + "article": "content/copilot/how-tos/copilot-cli/use-copilot-cli/browse-issues-prs-gists.md", + "text": "* Press / (on the **Issues** and **Pull requests** tabs) to filter the list with your own search terms. Type your terms, press Enter to run the search, and Esc to cancel or clear it." + }, + { + "article": "content/copilot/how-tos/copilot-cli/use-copilot-cli/browse-issues-prs-gists.md", + "text": "To run your own search, press /. An inline search box opens where you can type your search terms, then press Enter to run the search." + }, + { + "article": "content/copilot/how-tos/copilot-cli/use-copilot-cli/browse-issues-prs-gists.md", + "text": "Your search terms are added to the qualifiers the tab already applies, so results are always limited to open items in the current repository—and, unless you have pressed a, to items that involve you. Enter plain search terms rath" + }, + { + "article": "content/copilot/how-tos/copilot-cli/use-copilot-cli/manage-pull-requests.md", + "text": " /pr automerge Do the same as /pr auto, then merge the pull request once it is green. Find out more No Enter with \"Download default model\" selected to download the default multilingual speech-to-text model." + }, + { + "article": "content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md", + "text": "Alternatively, if you want to use the dedicated English or Spanish model:" + }, + { + "article": "content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md", + "text": "1. In the voice models picker, use the arrow keys to select the model you want, then press Enter to download it." + }, + { + "article": "content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md", + "text": "The default multilingual model handles more than one language, but you can switch to the dedicated English or Spanish model if you prefer. The model you want must be downloaded and activated before you can use it." + }, + { + "article": "content/copilot/how-tos/copilot-cli/use-copilot-cli/voice-input.md", + "text": "1. In the voice models picker, use the arrow keys on your keyboard to select the model you want to use, then press Enter." + } + ], + "rejected": [] +} From 3bc1b44795abcfc6b68df5e518d06732fa702419 Mon Sep 17 00:00:00 2001 From: Kate Catlin Date: Tue, 8 Sep 2026 13:42:22 +0000 Subject: [PATCH 011/138] Document fine-tuned Kimi K3 model variants (#63094) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Co-authored-by: sunbrye --- content/copilot/reference/ai-models/model-comparison.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/copilot/reference/ai-models/model-comparison.md b/content/copilot/reference/ai-models/model-comparison.md index 6fb5654f718b..1a9a81fa8558 100644 --- a/content/copilot/reference/ai-models/model-comparison.md +++ b/content/copilot/reference/ai-models/model-comparison.md @@ -140,7 +140,7 @@ Some models have behaviors, limitations, or safeguards that are useful to unders ### {% data variables.copilot.copilot_kimi_k3 %} -{% data variables.copilot.copilot_kimi_k3 %} is designed for long-context, multi-step coding and agentic workflows. In pre-release testing, the model exhibited elevated risk on certain higher-risk prompts and was less consistent than some other models in refusing requests involving sensitive topics. These behaviors may reflect differences in the model's safety post-training and alignment. We have deployed additional safeguards in {% data variables.product.prodname_copilot %} to help mitigate the identified risks. As with any model, enterprises should evaluate model capabilities, limitations, and safeguards in light of their particular use cases and requirements. +{% data variables.copilot.copilot_kimi_k3 %} is designed for long-context, multi-step coding and agentic workflows. Fine-tuned model variants may be included as part of the {% data variables.copilot.copilot_kimi_k3 %} ({% data variables.product.github %}) offering on individual plans only. Fine-tuned variants are not included for {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %} plans. In pre-release testing, the model exhibited elevated risk on certain higher-risk prompts and was less consistent than some other models in refusing requests involving sensitive topics. These behaviors may reflect differences in the model's safety post-training and alignment. We have deployed additional safeguards in {% data variables.product.prodname_copilot %} to help mitigate the identified risks. As with any model, enterprises should evaluate model capabilities, limitations, and safeguards in light of their particular use cases and requirements. ## Next steps From dcf104a0157950fc3945080fbc5d81280b9df740 Mon Sep 17 00:00:00 2001 From: Tom Christensen Date: Tue, 8 Sep 2026 15:04:00 +0000 Subject: [PATCH 012/138] Update actions oidc recs with advice about actions only tokens (#62938) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: pavera <660677+pavera@users.noreply.github.com> Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com> --- content/actions/concepts/security/openid-connect.md | 6 ++++++ .../security-harden-deployments/oidc-in-jfrog.md | 2 +- content/actions/reference/security/oidc.md | 8 +++++++- .../actions/jfrog-json-configuring-identity-mappings.md | 3 ++- data/reusables/actions/oidc-security-notice.md | 3 +++ 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/content/actions/concepts/security/openid-connect.md b/content/actions/concepts/security/openid-connect.md index 140a46861367..37f2dc5911ef 100644 --- a/content/actions/concepts/security/openid-connect.md +++ b/content/actions/concepts/security/openid-connect.md @@ -99,6 +99,12 @@ To use OIDC in your workflows, you must establish a trust relationship between { Before granting an access token, your cloud provider checks that the [`subject`](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) and any other claims used to set conditions in its trust settings match those in the request's JSON Web Token (JWT). If the trust configuration matches, your cloud provider issues a temporary access token to the workflow. +{% ifversion dependabot-oidc-support %} + +OIDC tokens requested for {% data variables.product.prodname_dependabot %} update jobs have an `event_name` claim of `dynamic`. If your trust policy is intended to authorize only {% data variables.product.prodname_actions %} workflows and your cloud provider supports conditions on `event_name`, allow only the event names expected by your workflows. + +{% endif %} + For steps and syntax for configuring OIDC trust and setting conditions for cloud providers, see [AUTOTITLE](/actions/reference/security/oidc#oidc-claims-used-to-define-trust-conditions-on-cloud-roles). ## Configuring OIDC on {% data variables.enterprise.data_residency_site %} diff --git a/content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-jfrog.md b/content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-jfrog.md index edf61b623941..1f12a985cf17 100644 --- a/content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-jfrog.md +++ b/content/actions/how-tos/secure-your-work/security-harden-deployments/oidc-in-jfrog.md @@ -34,7 +34,7 @@ For an example {% data variables.product.prodname_actions %} workflow using the * To be secure, you need to set a Claims JSON in JFrog when configuring identity mappings. For more information, see [AUTOTITLE](https://jfrog.com/help/r/jfrog-platform-administration-documentation/configure-identity-mappings) and [AUTOTITLE](/actions/reference/security/oidc#customizing-the-token-claims). - For example, you can set `iss` to `https://token.actions.githubusercontent.com`, and the `repository` to something like "octo-org/octo-repo"`. This will ensure only Actions workflows from the specified repository will have access to your JFrog platform. The following is an example Claims JSON when configuring identity mappings. + For example, you can set `iss` to `https://token.actions.githubusercontent.com`, and the `repository` to something like `octo-org/octo-repo`.{% ifversion dependabot-oidc-support %} JFrog identity mappings match each claim against an exact value, so to ensure only {% data variables.product.prodname_actions %} workflows from the specified repository have access to your JFrog platform, also set `event_name` to the event that triggers your workflow, such as `push`. This prevents OIDC tokens requested for {% data variables.product.prodname_dependabot %} update jobs, which have an `event_name` of `dynamic`, from matching the identity mapping. If your workflows are triggered by more than one event, create a separate identity mapping for each event name.{% endif %} The following is an example Claims JSON when configuring identity mappings. {% data reusables.actions.jfrog-json-configuring-identity-mappings %} diff --git a/content/actions/reference/security/oidc.md b/content/actions/reference/security/oidc.md index cba1290aeffc..9c3773dae3db 100644 --- a/content/actions/reference/security/oidc.md +++ b/content/actions/reference/security/oidc.md @@ -60,7 +60,7 @@ The OIDC token includes the following claims. | `enterprise_id`| The ID of the enterprise that contains the repository from where the workflow is running. | | {% endif %} | | `environment`| The name of the environment used by the job. If the `environment` claim is included (also via `include_claim_keys`), an environment is required and must be provided. | -| `event_name`| The name of the event that triggered the workflow run. | +| `event_name`| The name of the event that triggered the workflow run.{% ifversion dependabot-oidc-support %} OIDC tokens requested for {% data variables.product.prodname_dependabot %} update jobs use `dynamic` as the value.{% endif %} | | `head_ref`| The source branch of the pull request in a workflow run. | | `job_workflow_ref`| For jobs using a reusable workflow, the ref path to the reusable workflow. For more information, see [AUTOTITLE](/actions/how-tos/secure-your-work/security-harden-deployments/oidc-with-reusable-workflows). | | `job_workflow_sha`| For jobs using a reusable workflow, the commit SHA for the reusable workflow file. | @@ -107,6 +107,12 @@ If you need more granular trust conditions, you can customize the {% ifversion g There are also many additional claims supported in the OIDC token that can be used for setting these conditions. In addition, your cloud provider could allow you to assign a role to the access tokens, letting you specify even more granular permissions. +{% ifversion dependabot-oidc-support %} + +OIDC tokens requested for {% data variables.product.prodname_dependabot %} update jobs have an `event_name` claim of `dynamic`. If your trust policy is intended to authorize only {% data variables.product.prodname_actions %} workflows and your cloud provider supports conditions on `event_name`, allow only the event names expected by your workflows. + +{% endif %} + > [!NOTE] > To control how your cloud provider issues access tokens, you **must** define at least one condition, so that untrusted repositories can’t request access tokens for your cloud resources. diff --git a/data/reusables/actions/jfrog-json-configuring-identity-mappings.md b/data/reusables/actions/jfrog-json-configuring-identity-mappings.md index 7706210c9c29..382f1bd56d01 100644 --- a/data/reusables/actions/jfrog-json-configuring-identity-mappings.md +++ b/data/reusables/actions/jfrog-json-configuring-identity-mappings.md @@ -1,6 +1,7 @@ ```json copy { "iss": "https://token.actions.githubusercontent.com", - "repository": "octo-org/octo-repo" + "repository": "octo-org/octo-repo"{% ifversion dependabot-oidc-support %}, + "event_name": "push"{% endif %} } ``` diff --git a/data/reusables/actions/oidc-security-notice.md b/data/reusables/actions/oidc-security-notice.md index ac3ad322e227..49a1d3db0402 100644 --- a/data/reusables/actions/oidc-security-notice.md +++ b/data/reusables/actions/oidc-security-notice.md @@ -1 +1,4 @@ * Before proceeding, you must plan your security strategy to ensure that access tokens are only allocated in a predictable way. To control how your cloud provider issues access tokens, you **must** define at least one condition, so that untrusted repositories can’t request access tokens for your cloud resources. For more information, see {% ifversion ghec %}[AUTOTITLE](/actions/concepts/security/openid-connect#establishing-oidc-trust-with-your-cloud-provider){% else %}[AUTOTITLE](/actions/reference/security/oidc#oidc-claims-used-to-define-trust-conditions-on-cloud-roles){% endif %}. +{% ifversion dependabot-oidc-support %} +* OIDC tokens requested for {% data variables.product.prodname_dependabot %} update jobs have an `event_name` claim of `dynamic`. If your trust policy is intended to authorize only {% data variables.product.prodname_actions %} workflows and your cloud provider supports conditions on `event_name`, allow only the event names expected by your workflows. For more information, see {% ifversion ghec %}[AUTOTITLE](/actions/concepts/security/openid-connect#establishing-oidc-trust-with-your-cloud-provider){% else %}[AUTOTITLE](/actions/reference/security/oidc#oidc-claims-used-to-define-trust-conditions-on-cloud-roles){% endif %}. +{% endif %} From 9f40c64201097fdd398ee269de0fc7e8f65f011d Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Tue, 8 Sep 2026 15:15:23 +0000 Subject: [PATCH 013/138] =?UTF-8?q?Fix=20missing=20space=20in=20\{\%=20dat?= =?UTF-8?q?a=20variables/reusables}=20and=20Korean=20=EA=B0=80=EB=8A=A5?= =?UTF-8?q?=ED=95=AD=EB=AA=A9=20variant=20(#63110)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../lib/correct-translation-content.ts | 9 +++++++ .../tests/correct-translation-content.ts | 26 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/languages/lib/correct-translation-content.ts b/src/languages/lib/correct-translation-content.ts index 93a68ae18934..01dd773c882b 100644 --- a/src/languages/lib/correct-translation-content.ts +++ b/src/languages/lib/correct-translation-content.ts @@ -100,6 +100,13 @@ export function correctTranslatedContentStrings( content = content.replace(/^\n[ \t]*/, '') } + // Translators sometimes dropped the space between `{%` and `data` when the + // tag references `variables.X` or `reusables.X`, e.g. `{%data variables.X %}` + // or `{%data reusables.X %}`. This corruption shows up across multiple + // languages (ja, pt, zh, ko, de), so fix it universally rather than + // duplicating the same rule per language. + content = content.replace(/\{%(-?)data (variables|reusables)\./g, '{%$1 data $2.') + // --- Per-language fixes (es, ja, pt, zh, ru, fr, ko, de) --- if (context.code === 'es') { @@ -1799,6 +1806,8 @@ export function correctTranslatedContentStrings( // `{% 데이터 재사용 ` (no period) — variant of `{% data reusables` content = content.replaceAll('{% 데이터 재사용가능항목.', '{% data reusables.') content = content.replaceAll('{% 데이터 재사용 가능 항목.', '{% data reusables.') + // `{% 데이터 재사용 가능항목.` — missing space between "가능" and "항목" (mixed variant) + content = content.replaceAll('{% 데이터 재사용 가능항목.', '{% data reusables.') content = content.replaceAll('{% 데이터 재사용.', '{% data reusables.') content = content.replaceAll('{% 데이터 재사용 ', '{% data reusables.') // `{% indented_data_reference 재사용...` — translated `reusables` path prefix diff --git a/src/languages/tests/correct-translation-content.ts b/src/languages/tests/correct-translation-content.ts index 3eec0f15b46f..05acc59e38c1 100644 --- a/src/languages/tests/correct-translation-content.ts +++ b/src/languages/tests/correct-translation-content.ts @@ -1316,6 +1316,15 @@ describe('correctTranslatedContentStrings', () => { ) }) + test('fixes 데이터 재사용 가능항목 (missing internal space) → data reusables', () => { + // Variant with a space before "재사용" but missing between "가능" and + // "항목", distinct from the already-handled fully-spaced and + // fully-fused variants. + expect(fix('{% 데이터 재사용 가능항목.webhooks.commit_comment_short_desc %}', 'ko')).toBe( + '{% data reusables.webhooks.commit_comment_short_desc %}', + ) + }) + test('fixes datavariable → data variables (via generic)', () => { expect(fix('{% datavariable.product.github %}', 'ko')).toBe( '{% data variables.product.github %}', @@ -1684,6 +1693,23 @@ describe('correctTranslatedContentStrings', () => { ) }) + test('fixes missing space between {% and data keyword', () => { + // Translators sometimes dropped the space between `{%` and `data`, + // producing `{%data variables.X %}` / `{%data reusables.X %}`, which + // breaks the Liquid parser. Confirmed across ja, pt, zh, ko, and de. + expect(fix('{%data variables.product.github %}', 'ja')).toBe( + '{% data variables.product.github %}', + ) + expect(fix('{%data reusables.foo.bar %}', 'pt')).toBe('{% data reusables.foo.bar %}') + expect(fix('{%-data variables.product.github %}', 'de')).toBe( + '{%- data variables.product.github %}', + ) + // Already-correct input is left unchanged. + expect(fix('{% data variables.product.github %}', 'zh')).toBe( + '{% data variables.product.github %}', + ) + }) + test('fixes leading dot in {% data paths', () => { // `{% data .variables.X %}` — translator inserted a stray dot expect(fix('{% data .variables.product.prodname_ghe_server %}', 'ja')).toBe( From 026a53e535dca6f4a9f8c9c67c7e52db6d6898a2 Mon Sep 17 00:00:00 2001 From: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Date: Tue, 8 Sep 2026 15:23:07 +0000 Subject: [PATCH 014/138] Tighten up anti-spam workflow (#63112) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .github/workflows/check-for-spammy-prs.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-for-spammy-prs.yml b/.github/workflows/check-for-spammy-prs.yml index e03da545e0db..241fd9b9f369 100644 --- a/.github/workflows/check-for-spammy-prs.yml +++ b/.github/workflows/check-for-spammy-prs.yml @@ -37,13 +37,19 @@ jobs: const onlyDeletes = files.length > 0 && files.every(f => f.status === 'removed') const isEmptyCommit = !files.length const touchesTooMany = files.length > 10 - const totalChanges = files.reduce((sum, f) => sum + f.additions + f.deletions, 0) - const isOneLineAddition = files.every(f => f.status === 'added') && totalChanges <= 1 - const isBlankLineEdit = totalChanges <= 1 && files.every(f => f.status === 'modified') + const isBlankLineEdit = files.length > 0 && files.every(file => { + const changedLines = (file.patch || '') + .split('\n') + .filter(line => /^[+-]/.test(line)) + ) + + return changedLines.length > 0 && + changedLines.every(line => line.slice(1).trim() === '') + }) const onlyRenames = files.length > 0 && files.every(f => f.status === 'renamed') // Close the PR and add the invalid label - if (onlyDeletes || isEmptyCommit || touchesTooMany || isOneLineAddition || isBlankLineEdit || onlyRenames) { + if (onlyDeletes || isEmptyCommit || touchesTooMany || isBlankLineEdit || onlyRenames) { await github.rest.issues.update({ owner: owner, repo: repo, From 8de4407bb83cce9c218fb32a57bf567cfc46af3d Mon Sep 17 00:00:00 2001 From: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Date: Tue, 8 Sep 2026 15:50:55 +0000 Subject: [PATCH 015/138] Expand unallowed contribution filters (#63111) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- src/workflows/unallowed-contribution-filters.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/workflows/unallowed-contribution-filters.yml b/src/workflows/unallowed-contribution-filters.yml index 55c0ba50b393..e6bd35f29e01 100644 --- a/src/workflows/unallowed-contribution-filters.yml +++ b/src/workflows/unallowed-contribution-filters.yml @@ -3,7 +3,12 @@ notAllowed: - '.devcontainer/**' - '.github/**' - 'data/reusables/rai/**' + - '.vscode/**' + - 'assets/**' + - 'config/**' + - 'contributing/**' - 'src/**' + - 'patches/**' - 'content/actions/how-tos/secure-your-work/security-harden-deployments/**' contentTypes: - 'content/**' From 1f3f84ccd3bf5bb39cb8638193e99eae0a8e1383 Mon Sep 17 00:00:00 2001 From: Mark Bainter Date: Tue, 8 Sep 2026 16:36:32 +0000 Subject: [PATCH 016/138] docs: clarify member-only profile instructions (#41868) Co-authored-by: Felix Guntrip --- .../customizing-your-organizations-profile.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile.md b/content/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile.md index 41ce89eaa03e..226d19623940 100644 --- a/content/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile.md +++ b/content/organizations/collaborating-with-groups-in-organizations/customizing-your-organizations-profile.md @@ -56,6 +56,8 @@ The content of public `README.md` will appear on your organization's public prof ## Adding a member-only organization profile README +>[!NOTE] Member-only organization profile READMEs will only load from a `.github-private` repository with its visibility set to private. Repositories in enterprises set to internal visibility will not work. + The content of a member-only `README.md` will be displayed in the member view of your organization's profile. 1. If your organization does not already have a `.github-private` repository, create a private repository called `.github-private`. From 0f0c8a4653930bef7d78f332cda61bf79720b0ab Mon Sep 17 00:00:00 2001 From: Kevin Heis Date: Tue, 8 Sep 2026 16:52:37 +0000 Subject: [PATCH 017/138] Convert repository roles tables to a data file (#62992) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 20a10344-097e-444c-b63c-d8a7e17ff0a4 Copilot-Session: a872c940-f5bc-4d9a-99d3-1cf4e4f887b9 --- .../repository-roles-for-an-organization.md | 150 +------- data/tables/repository-roles.yml | 340 ++++++++++++++++++ src/content-render/liquid/engine.ts | 22 ++ .../tests/render-liquid-filter.ts | 74 ++++ .../data-schemas/tables/repository-roles.ts | 39 ++ 5 files changed, 489 insertions(+), 136 deletions(-) create mode 100644 data/tables/repository-roles.yml create mode 100644 src/content-render/tests/render-liquid-filter.ts create mode 100644 src/data-directory/lib/data-schemas/tables/repository-roles.ts diff --git a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md index caeb5a661880..4131a90d751f 100644 --- a/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md +++ b/content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md @@ -56,119 +56,13 @@ Some of the features listed below are limited to organizations using {% data var | Repository action | Read | Triage | Write | Maintain | Admin | |:---|:---:|:---:|:---:|:---:|:---:| -| Manage [individual](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-an-individuals-access-to-an-organization-repository), [team](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-team-access-to-an-organization-repository), and [outside collaborator](/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization) access to the repository | | | | | | -| Pull from the person or team's assigned repositories | | | | | | -| Fork the person or team's assigned repositories | | | | | | -| Edit and delete their own comments | | | | | | -| Open issues | | | | | | -| Close issues they opened themselves | | | | | | -| Reopen issues they closed themselves | | | | | | -| Have an issue assigned to them | | | | | | -| Send pull requests from forks of the team's assigned repositories | | | | | | -| [Submit reviews on pull requests](/pull-requests/how-tos/review-pull-requests/reviewing-proposed-changes-in-a-pull-request) | | | | | | -| [Approve or request changes to a pull request with required reviews](/pull-requests/how-tos/review-pull-requests/approving-a-pull-request-with-required-reviews) | | | | | | -| [Apply suggested changes](/pull-requests/how-tos/review-pull-requests/incorporating-feedback-in-your-pull-request) to pull requests | | | | | | -| View published releases | | | | | | -| {% ifversion fpt or ghec %} | -| View [GitHub Actions workflow runs](/actions/how-tos/manage-workflow-runs) | | | | | | -| {% endif %} | -| Edit wikis in public repositories | | | | | | -| Edit wikis in private repositories | | | | | | -| {% ifversion fpt or ghec %} | -| [Report abusive or spammy content](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) | | | | | | -| {% endif %} | -| Apply/dismiss labels | | | | | | -| Create, edit, delete labels | | | | | | -| Close, reopen, and assign all issues and pull requests | | | | | | -| [Enable and disable auto-merge on a pull request](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository) | | | | | | -| Create, edit, delete milestones | | | | | | -| Apply milestones | | | | | | -| Mark [duplicate issues and pull requests](/issues/tracking-your-work-with-issues/administering-issues/marking-issues-or-pull-requests-as-a-duplicate)| | | | | | -| Request [pull request reviews](/pull-requests/how-tos/create-pull-requests/requesting-a-pull-request-review) | | | | | | -| Merge a [pull request](/pull-requests/reference/pull-request-merges) | | | | | | -| Push to (write) the person or team's assigned repositories | | | | | | -| Edit and delete anyone's comments on commits, pull requests, and issues | | | | | | -| [Hide anyone's comments on discussions](/communities/moderating-comments-and-conversations/managing-disruptive-comments) | | | | | | -| [Hide anyone's comments on issues, pull requests, and commits](/communities/moderating-comments-and-conversations/managing-disruptive-comments) | | | | | | -| [Lock conversations](/communities/moderating-comments-and-conversations/locking-conversations) | | | | | | -| Transfer issues (see [AUTOTITLE](/issues/tracking-your-work-with-issues/administering-issues/transferring-an-issue-to-another-repository) for details) | | | | | | -| [Act as a designated code owner for a repository](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) | | | | | | -| [Mark a draft pull request as ready for review](/pull-requests/how-tos/create-pull-requests/changing-the-stage-of-a-pull-request) | | | | | | -| [Convert a pull request to a draft](/pull-requests/how-tos/create-pull-requests/changing-the-stage-of-a-pull-request) | | | | | | -| Create [status checks](/pull-requests/reference/status-checks) | | | | | | -| {% ifversion fpt or ghec %} | -| Create, edit, run, re-run, and cancel [GitHub Actions workflows](/actions) | | | | | | -| {% endif %} | -| {% ifversion repo-ci-cd-admin %} | -| Create, update, and delete [GitHub Actions secrets](/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets) on GitHub.com | | | | | | -| {% else %} | -| Create, update, and delete [GitHub Actions secrets](/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets) on GitHub.com | | | | | | -| {% endif %} | -| Create, update, and delete [GitHub Actions secrets](/rest/actions/secrets) using the REST API | | | | | | -| {% ifversion repo-ci-cd-admin %} | -| Create, update, and delete [GitHub Actions variables](/actions/how-tos/write-workflows/choose-what-workflows-do/use-variables) on GitHub.com | | | | | | -| {% else %} | -| Create, update, and delete [GitHub Actions variables](/actions/how-tos/write-workflows/choose-what-workflows-do/use-variables) on GitHub.com | | | | | | -| {% endif %} | -| Create, update, and delete [GitHub Actions variables](/rest/actions/variables) using the REST API | | | | | | -| Create and edit releases | | | | | | -| View draft releases | | | | | | -| Edit a repository's description | | | | | | -| {% ifversion fpt or ghec %} | -| [View and install packages](/packages/learn-github-packages) | | | | | | -| [Publish packages](/packages/learn-github-packages/publishing-a-package) | | | | | | -| [Delete and restore packages](/packages/learn-github-packages/deleting-and-restoring-a-package) | | | | | | -| {% endif %} | -| Manage [topics](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics) | | | | | | -| Enable wikis and restrict wiki editors | | | | | | -| Configure [pull request merges](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges) | | | | | | -| Configure [a publishing source for {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site) | | | | | | -| {% ifversion copilot %} | -| View [content exclusion settings](/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot) for {% data variables.product.prodname_copilot %} | | | | | | -| {% endif %} | -| Manage [branch protection rules](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule) and [repository rulesets](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets) | | | | | | -| View [rulesets for a repository](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets) | | | | | | -| [Push to protected branches](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches)
Doesn't apply to rulesets as these have a different bypass model. See [Granting bypass permissions for your branch or tag ruleset](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#granting-bypass-permissions-for-your-branch-or-tag-ruleset). | | | | | | -| Merge pull requests on protected branches, even if there are no approving reviews | | | | | | -| [Create and edit repository social cards](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview) | | | | | | -| {% ifversion fpt or ghec %} | -| Limit [interactions in a repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)| | | | | | -| {% endif %} | -| Delete an issue (see [AUTOTITLE](/issues/tracking-your-work-with-issues/administering-issues/deleting-an-issue)) | | | | | | -| [Define code owners for a repository](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners) | | | | | | -| Add a repository to a team (see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-team-access-to-an-organization-repository#giving-a-team-access-to-a-repository) for details) | | | | | | -| [Manage outside collaborator access to a repository](/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization) | | | | | | -| [Change a repository's visibility](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization) | | | | | | -| Make a repository a template (see [AUTOTITLE](/repositories/creating-and-managing-repositories/creating-a-template-repository)) | | | | | | -| Change a repository's settings | | | | | | -| Manage team and collaborator access to the repository | | | | | | -| Edit the repository's default branch | | | | | | -| Rename the repository's default branch (see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch)) | | | | | | -| Rename a branch other than the repository's default branch (see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch)) | | | | | | -| Manage webhooks and deploy keys | | | | | | -| [Manage the forking policy for a repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository) | | | | | | -| [Transfer repositories into the organization](/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization) | | | | | | -| [Delete or transfer repositories out of the organization](/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories) | | | | | | -| [Archive repositories](/repositories/archiving-a-github-repository/archiving-repositories) | | | | | | -| {% ifversion fpt or ghec %} | -| Display a sponsor button (see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository)) | | | | | | -| {% endif %} | -| Create autolink references to external resources, like Jira or Zendesk (see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources)) | | | | | | -| [Enable {% data variables.product.prodname_discussions %}](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/enabling-or-disabling-github-discussions-for-a-repository) in a repository | | | | | | -| [Create and edit categories](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions) for {% data variables.product.prodname_discussions %} | | | | | | -| [Move a discussion to a different category](/discussions/managing-discussions-for-your-community/managing-discussions) | | | | | | -| [Transfer a discussion](/discussions/managing-discussions-for-your-community/managing-discussions) to a new repository| | | | | | -| [Manage pinned discussions](/discussions/managing-discussions-for-your-community/managing-discussions) | | | | | | -| [Lock and unlock discussions](/discussions/managing-discussions-for-your-community/moderating-discussions) | | | | | | -| [Individually convert issues to discussions](/discussions/managing-discussions-for-your-community/moderating-discussions) | | | | | | -| [Create new discussions and comment on existing discussions](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion) | | | | | | -| [Delete a discussion](/discussions/managing-discussions-for-your-community/managing-discussions#deleting-a-discussion) | | | | | | -| {% ifversion fpt or ghec %} | -| [Create codespaces](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository?tool=webui) for private{% ifversion ghec %}/internal{% endif %} repositories | | | | | | -| [Create codespaces](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository?tool=webui) for private{% ifversion ghec %}/internal{% endif %} repositories with [Codespaces secrets access](/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization?tool=webui) | {% octicon "check" aria-label="No" %} | {% octicon "check" aria-label="No" %} | | | | -| [Create codespaces](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository?tool=webui) for public repositories
(users with read-only access can only create codespaces at their own expense) | | | | | | -| {% endif %} | -| Edit the custom property values for the repository | | | | | | +{%- assign roleColumns = "read,triage,write,maintain,admin" | split: "," -%} +{%- for row in tables.repository-roles.permissions -%} +{%- assign show = row.versions | default: "show" | render_liquid -%} +{%- unless show == "" %} +| {{ row.action | render_liquid }}{% assign granted = row.roles | render_liquid | split: ", " %}{% for role in roleColumns %} | {% if granted contains role %}{% else %}{% endif %}{% endfor %} | +{%- endunless -%} +{%- endfor %} {% endrowheaders %} @@ -183,29 +77,13 @@ In this section, you can find the access required for security features, such as | Repository action | Read | Triage | Write | Maintain | Admin | |:---|:---:|:---:|:---:|:---:|:---:| -| Receive [{% data variables.product.prodname_dependabot_alerts %} for insecure dependencies](/code-security/concepts/supply-chain-security/dependabot-alerts) in a repository | | | | | | -| [Dismiss {% data variables.product.prodname_dependabot_alerts %}](/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/view-dependabot-alerts) | | | | | | -| {% ifversion ghes or ghec %} | -| [Designate additional people or teams to receive security alerts](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) | | | | | | -| {% endif %} | -| {% ifversion fpt or ghec %} | -| Create [security advisories](/code-security/concepts/vulnerability-reporting-and-management/repository-security-advisories) | | | | | | -| {% endif %} | -| Manage access to {% data variables.product.prodname_GHAS %} features (see [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization)) | | | | | | -| {% ifversion fpt or ghec %} | -| [Enable the dependency graph](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/explore-dependencies) for a private repository | | | | | | -| {% endif %} | -| {% ifversion ghes or ghec %} | -| [View dependency reviews](/code-security/concepts/supply-chain-security/dependency-review) | | | | | | -| {% endif %} | -| [View {% data variables.product.prodname_code_scanning %} alerts on pull requests](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/triage-alerts-in-pull-requests) | | | | | | -| [List, dismiss, and delete {% data variables.product.prodname_code_scanning %} alerts](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/resolve-alerts) | | | | | | -| [View and dismiss {% data variables.secret-scanning.alerts %} in a repository](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts) | | | | | |{% ifversion ghes or ghec %} -| [Resolve, revoke, or re-open {% data variables.secret-scanning.alerts %}](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts) | | | | | | -| {% endif %} | -| {% ifversion ghes or ghec %} | -| [Designate additional people or teams to receive {% data variables.secret-scanning.alerts %}](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) in repositories | | | | | | -| {% endif %} | +{%- assign roleColumns = "read,triage,write,maintain,admin" | split: "," -%} +{%- for row in tables.repository-roles.securityFeatures -%} +{%- assign show = row.versions | default: "show" | render_liquid -%} +{%- unless show == "" %} +| {{ row.action | render_liquid }}{% assign granted = row.roles | render_liquid | split: ", " %}{% for role in roleColumns %} | {% if granted contains role %}{% else %}{% endif %}{% endfor %} | +{%- endunless -%} +{%- endfor %} {% endrowheaders %} diff --git a/data/tables/repository-roles.yml b/data/tables/repository-roles.yml new file mode 100644 index 000000000000..998c69af2bf8 --- /dev/null +++ b/data/tables/repository-roles.yml @@ -0,0 +1,340 @@ +# Permissions for each repository role, rendered by: +# content/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/repository-roles-for-an-organization.md +# +# 'roles' lists the roles that CAN perform the action. Roles left out render as no. +# 'roles' and 'versions' may contain Liquid; it is rendered via the render_liquid filter. +# 'versions' shows the row only when it renders non-empty. + +permissions: + - action: 'Manage [individual](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-an-individuals-access-to-an-organization-repository), [team](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-team-access-to-an-organization-repository), and [outside collaborator](/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization) access to the repository' + roles: 'admin' + + - action: "Pull from the person or team's assigned repositories" + roles: 'read, triage, write, maintain, admin' + + - action: "Fork the person or team's assigned repositories" + roles: 'read, triage, write, maintain, admin' + + - action: 'Edit and delete their own comments' + roles: 'read, triage, write, maintain, admin' + + - action: 'Open issues' + roles: 'read, triage, write, maintain, admin' + + - action: 'Close issues they opened themselves' + roles: 'read, triage, write, maintain, admin' + + - action: 'Reopen issues they closed themselves' + roles: 'read, triage, write, maintain, admin' + + - action: 'Have an issue assigned to them' + roles: 'read, triage, write, maintain, admin' + + - action: "Send pull requests from forks of the team's assigned repositories" + roles: 'read, triage, write, maintain, admin' + + - action: '[Submit reviews on pull requests](/pull-requests/how-tos/review-pull-requests/reviewing-proposed-changes-in-a-pull-request)' + roles: 'read, triage, write, maintain, admin' + + - action: '[Approve or request changes to a pull request with required reviews](/pull-requests/how-tos/review-pull-requests/approving-a-pull-request-with-required-reviews)' + roles: 'write, maintain, admin' + + - action: '[Apply suggested changes](/pull-requests/how-tos/review-pull-requests/incorporating-feedback-in-your-pull-request) to pull requests' + roles: 'write, maintain, admin' + + - action: 'View published releases' + roles: 'read, triage, write, maintain, admin' + + - action: 'View [{% data variables.product.prodname_actions %} workflow runs](/actions/how-tos/manage-workflow-runs)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'read, triage, write, maintain, admin' + + - action: 'Edit wikis in public repositories' + roles: 'read, triage, write, maintain, admin' + + - action: 'Edit wikis in private repositories' + roles: 'write, maintain, admin' + + - action: '[Report abusive or spammy content](/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'read, triage, write, maintain, admin' + + - action: 'Apply/dismiss labels' + roles: 'triage, write, maintain, admin' + + - action: 'Create, edit, delete labels' + roles: 'write, maintain, admin' + + - action: 'Close, reopen, and assign all issues and pull requests' + roles: 'triage, write, maintain, admin' + + - action: '[Enable and disable auto-merge on a pull request](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)' + roles: 'write, maintain, admin' + + - action: 'Create, edit, delete milestones' + roles: 'write, maintain, admin' + + - action: 'Apply milestones' + roles: 'triage, write, maintain, admin' + + - action: 'Mark [duplicate issues and pull requests](/issues/tracking-your-work-with-issues/administering-issues/marking-issues-or-pull-requests-as-a-duplicate)' + roles: 'triage, write, maintain, admin' + + - action: 'Request [pull request reviews](/pull-requests/how-tos/create-pull-requests/requesting-a-pull-request-review)' + roles: 'triage, write, maintain, admin' + + - action: 'Merge a [pull request](/pull-requests/reference/pull-request-merges)' + roles: 'write, maintain, admin' + + - action: "Push to (write) the person or team's assigned repositories" + roles: 'write, maintain, admin' + + - action: "Edit and delete anyone's comments on commits, pull requests, and issues" + roles: 'write, maintain, admin' + + - action: "[Hide anyone's comments on discussions](/communities/moderating-comments-and-conversations/managing-disruptive-comments)" + roles: 'triage, write, maintain, admin' + + - action: "[Hide anyone's comments on issues, pull requests, and commits](/communities/moderating-comments-and-conversations/managing-disruptive-comments)" + roles: 'write, maintain, admin' + + - action: '[Lock conversations](/communities/moderating-comments-and-conversations/locking-conversations)' + roles: 'write, maintain, admin' + + - action: 'Transfer issues (see [AUTOTITLE](/issues/tracking-your-work-with-issues/administering-issues/transferring-an-issue-to-another-repository) for details)' + roles: 'write, maintain, admin' + + - action: '[Act as a designated code owner for a repository](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)' + roles: 'write, maintain, admin' + + - action: '[Mark a draft pull request as ready for review](/pull-requests/how-tos/create-pull-requests/changing-the-stage-of-a-pull-request)' + roles: 'write, maintain, admin' + + - action: '[Convert a pull request to a draft](/pull-requests/how-tos/create-pull-requests/changing-the-stage-of-a-pull-request)' + roles: 'write, maintain, admin' + + - action: 'Create [status checks](/pull-requests/reference/status-checks)' + roles: 'write, maintain, admin' + + - action: 'Create, edit, run, re-run, and cancel [{% data variables.product.prodname_actions %} workflows](/actions)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'write, maintain, admin' + + - action: 'Create, update, and delete [{% data variables.product.prodname_actions %} secrets](/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets) on {% data variables.product.prodname_dotcom_the_website %}' + versions: '{% ifversion repo-ci-cd-admin %}show{% endif %}' + roles: 'write, maintain, admin' + + - action: 'Create, update, and delete [{% data variables.product.prodname_actions %} secrets](/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets) on {% data variables.product.prodname_dotcom_the_website %}' + versions: '{% ifversion repo-ci-cd-admin %}{% else %}show{% endif %}' + roles: 'admin' + + - action: 'Create, update, and delete [{% data variables.product.prodname_actions %} secrets](/rest/actions/secrets) using the REST API' + roles: 'write, maintain, admin' + + - action: 'Create, update, and delete [{% data variables.product.prodname_actions %} variables](/actions/how-tos/write-workflows/choose-what-workflows-do/use-variables) on {% data variables.product.prodname_dotcom_the_website %}' + versions: '{% ifversion repo-ci-cd-admin %}show{% endif %}' + roles: 'write, maintain, admin' + + - action: 'Create, update, and delete [{% data variables.product.prodname_actions %} variables](/actions/how-tos/write-workflows/choose-what-workflows-do/use-variables) on {% data variables.product.prodname_dotcom_the_website %}' + versions: '{% ifversion repo-ci-cd-admin %}{% else %}show{% endif %}' + roles: 'admin' + + - action: 'Create, update, and delete [{% data variables.product.prodname_actions %} variables](/rest/actions/variables) using the REST API' + roles: 'write, maintain, admin' + + - action: 'Create and edit releases' + roles: 'write, maintain, admin' + + - action: 'View draft releases' + roles: 'write, maintain, admin' + + - action: "Edit a repository's description" + roles: 'maintain, admin' + + - action: '[View and install packages](/packages/learn-github-packages)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'read, triage, write, maintain, admin' + + - action: '[Publish packages](/packages/learn-github-packages/publishing-a-package)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'write, maintain, admin' + + - action: '[Delete and restore packages](/packages/learn-github-packages/deleting-and-restoring-a-package)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'admin' + + - action: 'Manage [topics](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics)' + roles: 'maintain, admin' + + - action: 'Enable wikis and restrict wiki editors' + roles: 'maintain, admin' + + - action: 'Configure [pull request merges](/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges)' + roles: 'maintain, admin' + + - action: 'Configure [a publishing source for {% data variables.product.prodname_pages %}](/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site)' + roles: 'maintain, admin' + + - action: 'View [content exclusion settings](/copilot/how-tos/configure-content-exclusion/exclude-content-from-copilot) for {% data variables.product.prodname_copilot %}' + versions: '{% ifversion copilot %}show{% endif %}' + roles: 'maintain, admin' + + - action: 'Manage [branch protection rules](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule) and [repository rulesets](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)' + roles: 'admin' + + - action: 'View [rulesets for a repository](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets)' + roles: 'read, triage, write, maintain, admin' + + - action: "[Push to protected branches](/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches)
Doesn't apply to rulesets as these have a different bypass model. See [Granting bypass permissions for your branch or tag ruleset](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository#granting-bypass-permissions-for-your-branch-or-tag-ruleset)." + roles: 'maintain, admin' + + - action: 'Merge pull requests on protected branches, even if there are no approving reviews' + roles: 'admin' + + - action: '[Create and edit repository social cards](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/customizing-your-repositorys-social-media-preview)' + roles: 'maintain, admin' + + - action: 'Limit [interactions in a repository](/communities/moderating-comments-and-conversations/limiting-interactions-in-your-repository)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'maintain, admin' + + - action: 'Delete an issue (see [AUTOTITLE](/issues/tracking-your-work-with-issues/administering-issues/deleting-an-issue))' + roles: 'admin' + + - action: '[Define code owners for a repository](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners)' + roles: 'write, maintain, admin' + + - action: 'Add a repository to a team (see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-team-access-to-an-organization-repository#giving-a-team-access-to-a-repository) for details)' + roles: 'admin' + + - action: '[Manage outside collaborator access to a repository](/organizations/managing-user-access-to-your-organizations-repositories/managing-outside-collaborators/adding-outside-collaborators-to-repositories-in-your-organization)' + roles: 'admin' + + - action: "[Change a repository's visibility](/organizations/managing-organization-settings/restricting-repository-visibility-changes-in-your-organization)" + roles: 'admin' + + - action: 'Make a repository a template (see [AUTOTITLE](/repositories/creating-and-managing-repositories/creating-a-template-repository))' + roles: 'admin' + + - action: "Change a repository's settings" + roles: 'admin' + + - action: 'Manage team and collaborator access to the repository' + roles: 'admin' + + - action: "Edit the repository's default branch" + roles: 'admin' + + - action: "Rename the repository's default branch (see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch))" + roles: 'admin' + + - action: "Rename a branch other than the repository's default branch (see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch))" + roles: 'write, maintain, admin' + + - action: 'Manage webhooks and deploy keys' + roles: 'admin' + + - action: '[Manage the forking policy for a repository](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository)' + roles: 'admin' + + - action: '[Transfer repositories into the organization](/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization)' + roles: 'admin' + + - action: '[Delete or transfer repositories out of the organization](/organizations/managing-organization-settings/setting-permissions-for-deleting-or-transferring-repositories)' + roles: 'admin' + + - action: '[Archive repositories](/repositories/archiving-a-github-repository/archiving-repositories)' + roles: 'admin' + + - action: 'Display a sponsor button (see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository))' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'admin' + + - action: 'Create autolink references to external resources, like Jira or Zendesk (see [AUTOTITLE](/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/configuring-autolinks-to-reference-external-resources))' + roles: 'admin' + + - action: '[Enable {% data variables.product.prodname_discussions %}](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/enabling-or-disabling-github-discussions-for-a-repository) in a repository' + roles: 'maintain, admin' + + - action: '[Create and edit categories](/discussions/managing-discussions-for-your-community/managing-categories-for-discussions) for {% data variables.product.prodname_discussions %}' + roles: 'write, maintain, admin' + + - action: '[Move a discussion to a different category](/discussions/managing-discussions-for-your-community/managing-discussions)' + roles: 'triage, write, maintain, admin' + + - action: '[Transfer a discussion](/discussions/managing-discussions-for-your-community/managing-discussions) to a new repository' + roles: 'write, maintain, admin' + + - action: '[Manage pinned discussions](/discussions/managing-discussions-for-your-community/managing-discussions)' + roles: 'write, maintain, admin' + + - action: '[Lock and unlock discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)' + roles: 'triage, write, maintain, admin' + + - action: '[Individually convert issues to discussions](/discussions/managing-discussions-for-your-community/moderating-discussions)' + roles: 'triage, write, maintain, admin' + + - action: '[Create new discussions and comment on existing discussions](/discussions/collaborating-with-your-community-using-discussions/participating-in-a-discussion)' + roles: 'read, triage, write, maintain, admin' + + - action: '[Delete a discussion](/discussions/managing-discussions-for-your-community/managing-discussions#deleting-a-discussion)' + roles: 'triage, write, maintain, admin' + + - action: '[Create codespaces](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository?tool=webui) for private{% ifversion ghec %}/internal{% endif %} repositories' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'read, triage, write, maintain, admin' + + - action: '[Create codespaces](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository?tool=webui) for private{% ifversion ghec %}/internal{% endif %} repositories with [{% data variables.product.prodname_codespaces %} secrets access](/codespaces/managing-codespaces-for-your-organization/managing-development-environment-secrets-for-your-repository-or-organization?tool=webui)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'write, maintain, admin' + + - action: '[Create codespaces](/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository?tool=webui) for public repositories
(users with read-only access can only create codespaces at their own expense)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'read, triage, write, maintain, admin' + + - action: 'Edit the custom property values for the repository' + roles: 'admin' + +securityFeatures: + - action: 'Receive [{% data variables.product.prodname_dependabot_alerts %} for insecure dependencies](/code-security/concepts/supply-chain-security/dependabot-alerts) in a repository' + roles: 'write, maintain, admin' + + - action: '[Dismiss {% data variables.product.prodname_dependabot_alerts %}](/code-security/how-tos/manage-security-alerts/manage-dependabot-alerts/view-dependabot-alerts)' + roles: 'write, maintain, admin' + + - action: '[Designate additional people or teams to receive security alerts](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts)' + versions: '{% ifversion ghes or ghec %}show{% endif %}' + roles: 'admin' + + - action: 'Create [security advisories](/code-security/concepts/vulnerability-reporting-and-management/repository-security-advisories)' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'admin' + + - action: 'Manage access to {% data variables.product.prodname_GHAS %} features (see [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization))' + roles: 'admin' + + - action: '[Enable the dependency graph](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/explore-dependencies) for a private repository ' + versions: '{% ifversion fpt or ghec %}show{% endif %}' + roles: 'admin' + + - action: '[View dependency reviews](/code-security/concepts/supply-chain-security/dependency-review)' + versions: '{% ifversion ghes or ghec %}show{% endif %}' + roles: 'read, triage, write, maintain, admin' + + - action: '[View {% data variables.product.prodname_code_scanning %} alerts on pull requests](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/triage-alerts-in-pull-requests)' + roles: 'read, triage, write, maintain, admin' + + - action: '[List, dismiss, and delete {% data variables.product.prodname_code_scanning %} alerts](/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/resolve-alerts)' + roles: 'write, maintain, admin' + + - action: '[View and dismiss {% data variables.secret-scanning.alerts %} in a repository](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts)' + roles: 'write, maintain, admin' + # Not available for FPT + + - action: '[Resolve, revoke, or re-open {% data variables.secret-scanning.alerts %}](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts)' + versions: '{% ifversion ghes or ghec %}show{% endif %}' + roles: 'write, maintain, admin' + + - action: '[Designate additional people or teams to receive {% data variables.secret-scanning.alerts %}](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-security-and-analysis-settings-for-your-repository#granting-access-to-security-alerts) in repositories' + versions: '{% ifversion ghes or ghec %}show{% endif %}' + roles: 'admin' diff --git a/src/content-render/liquid/engine.ts b/src/content-render/liquid/engine.ts index 034fa453ddf2..2d10036d94f8 100644 --- a/src/content-render/liquid/engine.ts +++ b/src/content-render/liquid/engine.ts @@ -55,6 +55,28 @@ engine.registerFilter('version_num', (input: string): string => { return input.split('@')[1] }) +/** + * Render a string that itself contains Liquid. + * + * Values interpolated with `{{ }}` are not given a second Liquid pass, so + * `{% data %}` or `{% ifversion %}` stored in a data file would otherwise be + * printed literally. This filter lets data files keep using Liquid instead of + * hardcoding product names or version logic. + * + * Usage: {{ row.action | render_liquid }} + */ +interface FilterScope { + context: { + environments: Record + } +} + +engine.registerFilter('render_liquid', function (this: FilterScope, input: unknown): unknown { + if (typeof input !== 'string') return input + if (!input.includes('{%') && !input.includes('{{')) return input + return engine.parseAndRender(input, this.context.environments) +}) + /** * Convert the input to a slug */ diff --git a/src/content-render/tests/render-liquid-filter.ts b/src/content-render/tests/render-liquid-filter.ts new file mode 100644 index 000000000000..d9273ebfbd23 --- /dev/null +++ b/src/content-render/tests/render-liquid-filter.ts @@ -0,0 +1,74 @@ +import { describe, expect, test } from 'vitest' + +import { liquid } from '@/content-render/index' +import shortVersionsMiddleware from '@/versions/middleware/short-versions' +import { allVersions } from '@/versions/lib/all-versions' +import enterpriseServerReleases from '@/versions/lib/enterprise-server-releases' +import type { Context, ExtendedRequest } from '@/types' + +function contextFor(currentVersion: string) { + const req = { language: 'en', query: {} } as ExtendedRequest + req.context = { + currentVersion, + currentLanguage: 'en', + allVersions, + enterpriseServerReleases, + } as Context + req.context!.currentVersionObj = allVersions[currentVersion] + shortVersionsMiddleware(req, null, () => {}) + return req.context! +} + +describe('render_liquid filter', () => { + test('leaves strings without Liquid untouched', async () => { + const context = contextFor('free-pro-team@latest') + const output = await liquid.parseAndRender('{{ value | render_liquid }}', { + ...context, + value: 'read, triage, write', + }) + expect(output).toBe('read, triage, write') + }) + + test('renders a data reference held in a variable', async () => { + const context = contextFor('free-pro-team@latest') + const output = await liquid.parseAndRender('{{ value | render_liquid }}', { + ...context, + value: '{% data variables.product.prodname_discussions %}', + }) + expect(output).toBe('GitHub Discussions') + }) + + test('renders ifversion held in a variable, matching an inline conditional', async () => { + const template = '{% ifversion ghes %}server{% else %}not server{% endif %}' + for (const version of [ + 'free-pro-team@latest', + `enterprise-server@${enterpriseServerReleases.latest}`, + ]) { + const context = contextFor(version) + const inline = await liquid.parseAndRender(template, context) + const viaFilter = await liquid.parseAndRender('{{ value | render_liquid }}', { + ...context, + value: template, + }) + expect(viaFilter).toBe(inline) + } + }) + + test('survives chaining into other filters', async () => { + const context = contextFor('free-pro-team@latest') + const output = await liquid.parseAndRender( + '{% assign roles = value | render_liquid | split: ", " %}{% if roles contains "write" %}yes{% else %}no{% endif %}', + { ...context, value: '{% ifversion fpt %}write, admin{% else %}admin{% endif %}' }, + ) + expect(output).toBe('yes') + }) + + test('passes through values that are not strings', async () => { + const context = contextFor('free-pro-team@latest') + const output = await liquid.parseAndRender('{{ value | render_liquid }}', { + ...context, + value: 42, + }) + expect(output).toBe('42') + }) +}) diff --git a/src/data-directory/lib/data-schemas/tables/repository-roles.ts b/src/data-directory/lib/data-schemas/tables/repository-roles.ts new file mode 100644 index 000000000000..6774b9739d4b --- /dev/null +++ b/src/data-directory/lib/data-schemas/tables/repository-roles.ts @@ -0,0 +1,39 @@ +// This schema enforces the structure in data/tables/repository-roles.yml + +const row = { + type: 'object', + additionalProperties: false, + required: ['action', 'roles'], + properties: { + action: { + type: 'string', + lintable: true, + }, + // Liquid that renders non-empty when the row should be shown. When omitted, + // the row is shown on every version. + versions: { + type: 'string', + }, + // Comma separated list of the roles that can perform the action. Roles left + // out render as no. May contain Liquid, so a single role can be conditional. + roles: { + type: 'string', + }, + }, +} + +export default { + type: 'object', + additionalProperties: false, + required: ['permissions', 'securityFeatures'], + properties: { + permissions: { + type: 'array', + items: row, + }, + securityFeatures: { + type: 'array', + items: row, + }, + }, +} From b6365b498e057f1a62b002f0946336e9c0a2cda6 Mon Sep 17 00:00:00 2001 From: Stoney <19228888+ThatStoney@users.noreply.github.com> Date: Tue, 8 Sep 2026 17:13:39 +0000 Subject: [PATCH 018/138] Require replication teardown, not stop, before restoring (#63088) Co-authored-by: Laura Coursen --- .../restoring-from-a-backup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/admin/backing-up-and-restoring-your-instance/restoring-from-a-backup.md b/content/admin/backing-up-and-restoring-your-instance/restoring-from-a-backup.md index 57b2c32b29b2..841eafcf1c41 100644 --- a/content/admin/backing-up-and-restoring-your-instance/restoring-from-a-backup.md +++ b/content/admin/backing-up-and-restoring-your-instance/restoring-from-a-backup.md @@ -32,7 +32,7 @@ Before restoring a backup: 1. **Enable maintenance mode** on the target instance. See [AUTOTITLE](/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode). 1. **Verify access** to the backup storage containing the snapshot. -1. **Pause interfering services** — if using High Availability (HA), make sure replication is stopped. +1. **Tear down replication**. If using High Availability (HA), run `ghe-repl-teardown` on the target instance. Stopping replication with `ghe-repl-stop` is not sufficient, because the target remains configured as part of a replication pair and the restore fails. See [AUTOTITLE](/admin/monitoring-and-managing-your-instance/configuring-high-availability/removing-a-high-availability-replica). 1. **Prepare for {% data variables.product.prodname_actions %}** — if enabled, ensure the target instance is configured with the correct external storage. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/restoring-with-github-actions-enabled) for details. ## Starting the restore operation From 054ddea492196b296c51d9ec25059fc5f613858b Mon Sep 17 00:00:00 2001 From: Dorothy Mitchell <19343236+dorothymitchell@users.noreply.github.com> Date: Tue, 8 Sep 2026 18:51:37 +0000 Subject: [PATCH 019/138] Add eligibility criteria for enterprise trial (#62929) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../trialing-github-advanced-security/trial-advanced-security.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md b/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md index e81df157fe92..42ef43e3f700 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/trial-advanced-security.md @@ -27,6 +27,7 @@ To set up a trial of {% data variables.product.prodname_GHAS %} using this metho 1. You have not previously purchased {% data variables.product.prodname_GHAS %} (that is, you do not currently or in the past have a paid license for {% data variables.product.prodname_GHAS %}). 1. You are not already using metered billing for {% data variables.product.prodname_GHAS %}. 1. If you have had a previous {% data variables.product.prodname_GHAS %} trial, you are eligible only if you have had no more than one previous trial and it ended at least 180 days ago. +1. Your enterprise has 300 or fewer seats. > [!TIP] > * **No enterprise account?** Start a trial of {% data variables.product.prodname_ghe_cloud %} with {% data variables.product.prodname_GHAS %}. See [AUTOTITLE](/enterprise-cloud@latest/admin/overview/setting-up-a-trial-of-github-enterprise-cloud). From ad3185337d9becbf267f183191f6ec73cc986e3a Mon Sep 17 00:00:00 2001 From: amrithss <89491847+amrithss@users.noreply.github.com> Date: Tue, 8 Sep 2026 19:32:09 +0000 Subject: [PATCH 020/138] Correct model version in enterprise-managed-settings.md (#63126) --- .../enterprise-administrators/enterprise-managed-settings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md b/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md index 74d99b42df57..8c52aa19c444 100644 --- a/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md +++ b/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md @@ -161,7 +161,7 @@ Restricts plugin installation to only the marketplaces explicitly defined by the Sets your preferred model as the default for new conversations. This lets you choose the default model that best fits your enterprise's workflows. Users can still select a different model on a per-conversation basis. * Set `model` to `"auto"` to use {% data variables.copilot.copilot_auto_model_selection_short %} as the default, so new sessions choose a model automatically unless the user specifies a different model on a per-conversation basis. See [AUTOTITLE](/copilot/concepts/models/auto-model-selection). -* Set `model` to a specific model and version to make that model the default for new conversations, for example `"kimi-k-3"`. +* Set `model` to a specific model and version to make that model the default for new conversations, for example `"kimi-k3"`. This key is overridable by enterprise team mapping. In your `{% data variables.copilot.managed_setting_file %}`, use the `{ "overridable": "auto" }` syntax to specialize the key's configuration on a per-team basis. You can then set `"model": "unmanaged"` in a team settings file, providing a specialization that takes precedence over `{% data variables.copilot.managed_setting_file %}` for members of the subject team. From aa0ed844abaa454ca11e726454224d40e6b1d1d9 Mon Sep 17 00:00:00 2001 From: Anne-Marie <102995847+am-stead@users.noreply.github.com> Date: Tue, 8 Sep 2026 19:50:44 +0000 Subject: [PATCH 021/138] Publish GHES 3.22 General Availability (GA) release notes (#62744) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Co-authored-by: Tim Reimherr <16481702+timreimherr@users.noreply.github.com> --- .../enterprise-server/3-22/0-rc1.yml | 2 +- .../enterprise-server/3-22/0.yml | 273 ++++++++++++++++++ .../lib/enterprise-server-releases.ts | 2 +- 3 files changed, 275 insertions(+), 2 deletions(-) create mode 100644 data/release-notes/enterprise-server/3-22/0.yml diff --git a/data/release-notes/enterprise-server/3-22/0-rc1.yml b/data/release-notes/enterprise-server/3-22/0-rc1.yml index bef5f4aaab9c..5336109f64f6 100644 --- a/data/release-notes/enterprise-server/3-22/0-rc1.yml +++ b/data/release-notes/enterprise-server/3-22/0-rc1.yml @@ -1,6 +1,6 @@ date: '2026-08-11' release_candidate: true -deprecated: false +deprecated: true intro: | > [!NOTE] Release candidate (RC) builds are intended solely for use in a test environment. Do not install an RC in a production environment. > diff --git a/data/release-notes/enterprise-server/3-22/0.yml b/data/release-notes/enterprise-server/3-22/0.yml new file mode 100644 index 000000000000..c0a147589272 --- /dev/null +++ b/data/release-notes/enterprise-server/3-22/0.yml @@ -0,0 +1,273 @@ +date: '2026-09-08' +release_candidate: false +deprecated: false +intro: | +sections: + + features: + - heading: Instance administration + notes: + # https://github.com/github/releases/issues/10237 + - | + Phased upgrade execution gives you better control over downtime-inducing actions by isolating those actions to their own phase. You can now run the pre-upgrade stage of an upgrade outside the maintenance window using `ghe-upgrade --phase pre-upgrade -y UPGRADE-PACKAGE-FILENAME`. Running the pre-upgrade stage in advance can reduce in-maintenance upgrade time by up to 20 minutes. For more information, see [AUTOTITLE](/admin/upgrading-your-instance/performing-an-upgrade/upgrading-with-an-upgrade-package#upgrading-an-instance-using-phased-upgrade-execution). + # https://github.com/github/releases/issues/10384 + - | + Replication operations such as starting and stopping replication and Config Apply are less dependent on each other, reducing runtime and the risk of unrelated component failures. A new replication controller service is introduced, and it manages data replication by monitoring the desired state of the system and reconciling replication configuration for Git, Pages, storage, MySQL, Elasticsearch, GitHooks, and Redis. This is an internal change, and there is no other documentation. + # https://github.com/github/releases/issues/4841 + - | + The Enterprise Live Migrations (ELM) service is generally available, allowing enterprises to migrate repositories from GitHub Enterprise Server to GHE.com with minimal downtime. A new GitHub CLI extension allows administrators to operate the service from their local machine. See [AUTOTITLE](/migrations/elm/about-live-migrations). + + - heading: Copilot + notes: + # https://github.com/github/releases/issues/10164 + - | + {% data variables.copilot.copilot_cli_short %} can be configured to work with {% data variables.product.prodname_ghe_server %} for enterprises that operate in disconnected or air-gapped environments without connectivity to {% data variables.product.prodname_ghe_cloud %}. An administrator can configure a model provider once in {% data variables.product.prodname_ghe_server %}, and end users across the enterprise can use {% data variables.copilot.copilot_cli_short %} with their {% data variables.product.prodname_ghe_server %} credentials. This capability is in {% data variables.release-phases.technical_preview %} and subject to change. See [AUTOTITLE](/admin/github-copilot/copilot-cli/set-up-and-use-copilot-cli). + + - heading: Identity and access management + notes: + # https://github.com/github/releases/issues/6636 + - | + Enterprise Teams, previously in public preview, is now generally available. Enterprise owners can use Enterprise Teams to manage users and their access across the entire enterprise, including organizations and repositories, from a single, centralized team structure. This reduces the operational overhead of managing user access across multiple organizations within an enterprise. + + - heading: GitHub Advanced Security + notes: + # https://github.com/github/releases/issues/9195 + - | + Security analysts can now sort {% data variables.product.prodname_secret_scanning %} push protection bypass requests and {% data variables.product.prodname_secret_scanning %} alert dismissal requests by date, in ascending or descending order, using the filter bar at the repository, organization, and enterprise levels. Previously, sort order for these requests could not be adjusted, which made it difficult for teams managing high volumes of requests to prioritize their review. For more information, see [AUTOTITLE](/code-security/secret-scanning/managing-alerts-from-secret-scanning). + # https://github.com/github/releases/issues/9186 + - | + Organization owners can now enable periodic {% data variables.product.prodname_code_scanning %} of repositories that have been inactive (no commits) for 180 days or more. Previously, {% data variables.product.prodname_code_scanning %} with its default setup stopped scanning repositories after 180 days of inactivity. This option helps organizations that need to scan all repositories periodically for compliance reasons. For details, see the [changelog](https://github.blog/changelog/2026-06-09-periodic-code-scanning-of-inactive-repositories/). + # https://github.com/github/releases/issues/9170 + - | + This release comes installed with {% data variables.product.prodname_codeql %} 2.25.6. Significant updates since the previous version include: + + * {% data variables.product.prodname_codeql %} can analyze projects using Swift up to 6.3.2. + * Users working with Kotlin can analyze projects using Kotlin up to 2.3.20. + * {% data variables.product.prodname_codeql %} now has full support for C# 14 and .NET 10, including partial constructors, user-defined compound assignment operators, and generated data flow models for the .NET 10 runtime. Expanded ASP.NET remote source modeling improves detection of taint flows in ASP.NET applications. + * The Python extractor supports the new lazy import syntax defined in PEP-810 (Python 3.15). + * The Java control flow graph has been completely rewritten for improved analysis precision, and false positives have been reduced across multiple queries including path injection, sensitive logging, and trust boundary violation. + * Five C/C++ queries have been promoted to the default {% data variables.product.prodname_code_scanning %} query suite, and taint flow models have been added for the Windows SDK (`Strsafe.h` and `scanf_s`). + * Security queries for JavaScript/TypeScript now detect vulnerabilities in Vercel serverless functions, and new browser-specific source kinds are available for data extensions. + * {% data variables.product.prodname_actions %} analysis has been expanded to cover composite action metadata files, with improved detection for artifact poisoning and untrusted checkout scenarios. + * Users can now add custom data flow barriers and sanitizer models using data extensions across all supported languages, making it easier to suppress false positives without modifying queries directly. + * Security severity scores have been realigned across multiple languages, increasing XSS query scores and reducing log injection scores to better reflect actual impact. + * Read more in the changelogs for the {% data variables.product.prodname_codeql %} versions included in this release: + + * [{% data variables.product.prodname_codeql %} 2.25.0](https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.25.0/) + * [{% data variables.product.prodname_codeql %} 2.25.2](https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.25.2/) + * [{% data variables.product.prodname_codeql %} 2.25.3](https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.25.3/) + * [{% data variables.product.prodname_codeql %} 2.25.4](https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.25.4/) + * [{% data variables.product.prodname_codeql %} 2.25.5](https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.25.5/) + * [{% data variables.product.prodname_codeql %} 2.25.6](https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.25.6/) + # https://github.com/github/releases/issues/8388 + # https://github.com/github/releases/issues/7049 + # https://github.com/github/releases/issues/6749 + - | + {% data variables.product.prodname_code_scanning_caps %} with {% data variables.product.prodname_codeql %} now performs incremental analysis for pull requests in C/C++, Go, Python, JavaScript, TypeScript, Ruby, and Java repositories. By performing incremental extraction and evaluation, {% data variables.product.prodname_codeql %} analyzes only the code that changed instead of re-scanning the entire codebase, significantly reducing scan duration—with early results showing improvements between 2x and 10x. This gives developers faster feedback on pull requests, helping teams identify and remediate vulnerabilities more quickly without slowing down development. For details, see the changelogs for [C/C++ and Go](https://github.blog/changelog/2026-06-10-incremental-analysis-for-go-c-c-and-codeql-cli/) and [Ruby and Java](https://github.blog/changelog/2026-03-24-faster-incremental-analysis-with-codeql-in-pull-requests/). + # https://github.com/github/releases/issues/8427 + - | + Security managers can now use a standardized filter bar to search and filter delegated bypass requests in Security Overview, providing a consistent filtering experience across bypass views. For details, see the [changelog](https://github.blog/changelog/2026-04-16-rule-insights-dashboard-and-unified-filter-bar/). + # https://github.com/github/releases/issues/8235 + - | + Repository administrators can now exempt trusted automation, such as migration bots and service accounts, from {% data variables.product.prodname_secret_scanning %} push protection at the repository level. This allows high-volume automated pushes to proceed without push protection friction, while enforcement remains in place for all other contributors. Exemptions can also be configured at the organization and enterprise level, and exemption status is evaluated at the time of each push. For more information, see [AUTOTITLE](/code-security/how-tos/secure-your-secrets/manage-bypass-requests/grant-exemptions). + # https://github.com/github/releases/issues/7786 + - | + Enterprise owners can now disable {% data variables.product.prodname_GH_advanced_security %} for all private and internal repositories directly from the Enterprise licensing page. Disabling {% data variables.product.prodname_GH_advanced_security %} this way also sets a policy that prevents future paid adoption of {% data variables.product.prodname_GH_advanced_security %}, helping to avoid unexpected billing or accidental re-enablement. + # https://github.com/github/releases/issues/7616 + - | + Developers and security teams can now set a custom, user-defined validity state for {% data variables.secret-scanning.alerts %} created from custom patterns using the REST API. Sending a `PATCH` request to update an alert now accepts a `validity` value of `active`, `inactive`, or `unknown`, and sending `null` clears any existing user-defined override. When a user manually sets validity, the alert's `GET` response includes a new `validity_set_by` field identifying who set it. + + This provides teams with more flexibility to prioritize and track {% data variables.secret-scanning.alerts %} programmatically, including custom pattern and partner alerts where {% data variables.product.github %} cannot automatically determine validity. For more information, see [AUTOTITLE](/rest/secret-scanning/secret-scanning). For details, see the [changelog](https://github.blog/changelog/2026-04-14-secret-scanning-pattern-updates-and-product-improvements/). + # https://github.com/github/releases/issues/7023 + - | + Organization owners and security managers can enable {% data variables.product.prodname_GH_advanced_security %} features more easily with a new wizard-style setup dialog on the security configurations page. The guided experience lets users choose which security products to enable and where to apply them, and first-time users see a setup splash page that opens the wizard. This makes it simpler for users who are less familiar with {% data variables.product.prodname_GH_advanced_security %} to complete setup. For more information, see [AUTOTITLE](/code-security/how-tos/secure-at-scale/configure-organization-security). For details, see the [changelog](https://github.blog/changelog/2026-03-17-github-advanced-security-setup-made-simple/). + # https://github.com/github/releases/issues/7022 + - | + Developers and security teams can now link {% data variables.product.prodname_code_scanning %} alerts to {% data variables.product.prodname_github_issues %}, making it easier to collaborate on and track remediation work directly within {% data variables.product.github %}. This closes the traceability gap that occurs when switching between {% data variables.product.github %} and external work tracking tools. This feature is in public preview and subject to change. For details, see the [changelog](https://github.blog/changelog/2026-04-14-link-code-scanning-alerts-to-github-issues/). + # https://github.com/github/releases/issues/5239 + - | + Security Overview now displays {% data variables.product.prodname_code_scanning %} {% data variables.product.prodname_codeql %} alerts from pull request analysis for branches other than the default branch. Previously, Security Overview only reported alerts and autofix statistics for the default branch, which meant alert counts did not reflect the full scope of protected branches. Site administrators and security teams can now see a more complete picture of {% data variables.product.prodname_code_scanning %} coverage across all protected branches. + + - heading: Dependabot + notes: + # https://github.com/github/releases/issues/8654 + - | + Organization owners can now configure OpenID Connect (OIDC) for private registries used by {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_code_scanning %} directly from the organization settings UI, rather than needing to configure OIDC in each repository's `dependabot.yml` file. This simplifies enabling secure, tokenless authentication to private package registries across all repositories in an organization. For more information, see [AUTOTITLE](/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot#configuring-access-to-a-private-registry-in-your-organization). + # https://github.com/github/releases/issues/8602 + - | + Organizations can now configure multiple private registries per ecosystem for {% data variables.product.prodname_dependabot %}, removing the previous limitation of one registry per ecosystem type. This allows organizations with multiple private package sources for the same ecosystem, such as two separate NuGet feeds, to register all of their private feeds and have {% data variables.product.prodname_dependabot %} authenticate against each one correctly, including when multiple registries share the same host. + # https://github.com/github/releases/issues/8600 + - | + Developers using Deno can now receive {% data variables.product.prodname_dependabot_version_updates %} for their Deno projects. {% data variables.product.prodname_dependabot %} detects Deno dependency manifests and opens pull requests to keep dependencies up to date. For more information, see [AUTOTITLE](/code-security/reference/supply-chain-security/supported-ecosystems-and-repositories). + # https://github.com/github/releases/issues/8598 + - | + Developers can now receive {% data variables.product.prodname_dependabot_version_updates %} for projects that use sbt as their build tool. This expands {% data variables.product.prodname_dependabot %}'s version update support to teams working with Scala projects managed by sbt. For details, see the [changelog](https://github.blog/changelog/2026-05-26-dependabot-version-updates-now-support-the-sbt-ecosystem/). + # https://github.com/github/releases/issues/8596 + - | + {% data variables.product.prodname_dependabot %} now supports Poetry v2 for version and security updates, allowing users of Poetry v2 to receive {% data variables.product.prodname_dependabot_alerts %} and pull requests to keep their dependencies up to date and secure. + # https://github.com/github/releases/issues/8588 + - | + Enterprise owners can allow {% data variables.product.prodname_dependabot %} to access internal and private repositories across organizations within the same enterprise. This enterprise-level setting lets {% data variables.product.prodname_dependabot %} update jobs in one organization resolve dependencies hosted in internal or private repositories of another organization, extending innersource dependency management beyond single-organization boundaries. Cross-organization access events are fully covered in the audit log. For details, see the [changelog](https://github.blog/changelog/2026-04-28-cross-org-dependabot-access-for-internal-repositories/). + # https://github.com/github/releases/issues/8489 + - | + {% data variables.product.prodname_dependabot %} now supports the Nix ecosystem, enabling automated dependency updates for projects that use Nix Flakes for dependency management. Previously, Nix dependencies appeared as an "unknown" ecosystem with a generic icon on the {% data variables.product.prodname_dependabot %} settings page. Now, Nix is correctly recognized and visually identifiable, bringing it to parity with other supported ecosystems. For details, see the [changelog](https://github.blog/changelog/2026-04-07-dependabot-version-updates-now-support-the-nix-ecosystem/). + # https://github.com/github/releases/issues/8116 + - | + Developers using Swift packages in Xcode projects can now get automated dependency updates from {% data variables.product.prodname_dependabot %}, even when their project doesn't include a standalone `Package.swift` file. {% data variables.product.prodname_dependabot %} now discovers and updates Swift package dependencies in Xcode projects that use `.xcodeproj` manifests with `Package.resolved` files. For more information, see [AUTOTITLE](/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories). + # https://github.com/github/releases/issues/7255 + - | + {% data variables.product.prodname_dependabot %} now detects and alerts on known malicious package versions, starting with npm packages and expanding to additional ecosystems over time. Previously, users had little to no signal from {% data variables.product.github %} when a dependency was compromised by a supply chain attack, making it difficult to identify and remediate malware quickly. With this release, repositories that depend on packages identified as malware receive proactive {% data variables.product.prodname_dependabot_alerts %}, helping administrators and developers respond faster to targeted attacks. For details, see the [changelog](https://github.blog/changelog/2026-03-17-dependabot-now-detects-malware-in-npm-dependencies/). + + - heading: GitHub Actions + notes: + # https://github.com/github/releases/issues/7396 + - | + Maintainers can now suppress "Run cancelled" notifications while still receiving "Run failed" notifications for their {% data variables.product.prodname_actions %} workflows. This gives users more control over the notifications they receive when manually cancelling a workflow run. + # https://github.com/github/releases/issues/7096 + - | + {% data variables.product.prodname_actions_runner_controller %} (ARC) now supports multiple labels for a single scale set. Previously, ARC supported only one label per scale set, which forced enterprises to create multiple scale sets to cover overlapping configurations, leading to operational complexity and inefficient resource utilization. With multi-label support, administrators can target runners based on combined attributes, such as operating system, hardware tier, compliance zone, and network configuration, within a single scale set. This reduces the number of redundant scale sets, improves utilization, and preserves backward compatibility with existing single-label configurations. + # https://github.com/github/releases/issues/7068 + - | + {% data variables.product.prodname_actions_runner_controller %} (ARC) 0.14.0 delivers quality-of-life improvements that reduce operational complexity for users running self-hosted runners on Kubernetes. This release includes refined Helm charts for easier Docker configuration, improved logging for better troubleshooting, updated metrics aligned with recent platform availability initiatives, and formalized versioning requirements for ARC. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller). + # https://github.com/github/releases/issues/7066 + - | + Developers can now specify a timezone when scheduling workflows with the `cron` syntax, allowing scheduled workflow runs to be localized to a specific timezone instead of only UTC. This feature is in public preview and subject to change. + + - heading: Community experience + notes: + # https://github.com/github/releases/issues/7270 + - | + Users can sort their notifications from oldest to newest, in addition to the default newest to oldest order, using a new sort dropdown on the notifications page. This helps users who manage large volumes of notifications process their backlog chronologically, making it easier to catch up after vacations, events, or periods of high activity. For more information, see [AUTOTITLE](/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/about-notifications). + + - heading: Organizations + notes: + # https://github.com/github/releases/issues/8680 + - | + Organization owners can disable commit comments for all repositories in an organization at once, instead of disabling commit comments repository by repository. This makes it easier for organizations with many repositories to control commenting on commits at scale. For details, see the [changelog](https://github.blog/changelog/2026-04-23-disable-commit-comments-across-your-organization/). + + - heading: Repositories + notes: + # https://github.com/github/releases/issues/8431 + - | + Repository administrators can now rename default branches that are protected by an organization ruleset. Previously, only organization owners could rename these branches. For more information, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch). + # https://github.com/github/releases/issues/8429 + - | + Repository and organization rulesets now support bypassing by individual users, in addition to roles, teams, and apps. This gives administrators more granular control over rule bypass permissions, such as adding a service account to a bypass list without needing to create a dedicated role or team. + # https://github.com/github/releases/issues/7902 + - | + Repository administrators and maintainers can now delete commit comments. Previously, commit comments could not be removed, which allowed spam and abusive comments to persist in repositories. This gives maintainers another tool to reduce spam and unwanted content. For details, see the [changelog](https://github.blog/changelog/2026-03-25-disable-comments-on-individual-commits/). + # https://github.com/github/releases/issues/7340 + - | + Organization owners and repository administrators can require specific reviewers for pull requests targeting a given branch by adding a required reviewers rule to a repository ruleset. This provides more granular control over code ownership than a single `CODEOWNERS` file, which is difficult to scale for large organizations or monorepos. For example, administrators can require QA reviewers on a release branch, security team members on the default branch, or product and design reviewers on feature branches, including setting the minimum number of required reviews per team. + # https://github.com/github/releases/issues/6784 + - | + Developers can find and organize their repositories more efficiently using the new repositories dashboard at `/repos`. The dashboard displays a developer's most active repositories and allows them to create saved views for quick access to the repositories they use most. This gives developers a centralized page for tracking their work and streamlining their workflows. For details, see the [changelog](https://github.blog/changelog/2026-02-24-repository-dashboard-is-now-generally-available/). + + - heading: Issues + notes: + # https://github.com/github/releases/issues/8570 + - | + Developers can now see release status directly in the issue sidebar. When a linked pull request has been included in a release, the sidebar displays a "Latest" or "Pre-release" badge, making it easy to tell whether a fix has shipped without leaving the issue. For details, see the [changelog](https://github.blog/changelog/2026-04-09-release-info-in-issue-sidebar-and-project-defaults/). + + - heading: Projects + notes: + # https://github.com/github/releases/issues/8570 + - | + Project maintainers can set default values for text, number, and single select fields. When an item is added to a project, these fields are automatically populated with the configured default, reducing repetitive manual data entry. For details, see the [changelog](https://github.blog/changelog/2026-04-09-release-info-in-issue-sidebar-and-project-defaults/). + + - heading: Commits + notes: + # https://github.com/github/releases/issues/8943 + - | + Users can now disable commit comments at the user level, in addition to the existing repository and organization level controls. This is especially useful for the small percentage of users who own more than 100 public repositories, allowing them to manage commit comment settings across all of their repositories from a single location. + + - heading: Pull requests + notes: + # https://github.com/github/releases/issues/8566 + - | + Maintainers can now see contributor role labels, such as "First-time contributor," "Contributor," and "Member," directly in the pull request list view for public repositories. This gives maintainers at-a-glance context about each author's relationship to the repository without needing to open individual pull requests to check the comment box for this information. For details, see the [changelog](https://github.blog/changelog/2026-04-09-repository-member-role-labels-now-in-pull-request-list-view/). + + changes: + # https://github.com/github/ghes/issues/18667 + - | + Starting in version 3.20, we have reserved the `/repos` path for a forthcoming product feature. If you currently use `/repos` for a route (for example, a username, organization name, a {% data variables.product.prodname_github_app %}, {% data variables.product.prodname_oauth_app %}, reverse proxy, or internal integration), you may need to update your configuration to avoid routing conflicts. Starting in 3.22, the `/repos` path will show new functionality. + # https://github.com/github/github/issues/446559 + - | + {% data variables.product.prodname_ghe_server %} now uses fewer CPU resources when serving REST and GraphQL API requests by skipping unused MySQL query backtrace collection. + + known_issues: + # Known issues from "GHES Release Note Tracking" project + - | + During an upgrade of {% data variables.product.prodname_ghe_server %}, custom firewall rules are removed. If you use custom firewall rules, you must reapply them after upgrading. + - | + During the validation phase of a configuration run, a `No such object` error may occur for the Notebook and Viewscreen services. This error can be ignored as the services should still correctly start. + - | + If the root site administrator is locked out of the {% data variables.enterprise.management_console %} after failed login attempts, the account does not unlock automatically after the defined lockout time. Someone with administrative SSH access to the instance must unlock the account using the administrative shell. For more information, see [Troubleshooting access to the {% data variables.enterprise.management_console %}](/admin/administering-your-instance/administering-your-instance-from-the-web-ui/troubleshooting-access-to-the-management-console#unlocking-the-root-site-administrator-account). + - | + {% data reusables.release-notes.large-adoc-files-issue %} + - | + Admin stats REST API endpoints may time out on appliances with many users or repositories. Retrying the request until data is returned is advised. + - | + When following the steps for [Replacing the primary MySQL node](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-the-primary-mysql-node), step 14 (running `ghe-cluster-config-apply`) might fail with errors. If this occurs, re-running `ghe-cluster-config-apply` is expected to succeed. + - | + Running a config apply as part of the steps for [Replacing a node in an emergency](/admin/monitoring-managing-and-updating-your-instance/configuring-clustering/replacing-a-cluster-node#replacing-a-node-in-an-emergency) may fail with errors if the node being replaced is still reachable. If this occurs, shut down the node and repeat the steps. + - | + When restoring data originally backed up from a 3.13 or greater appliance version, the Elasticsearch indices need to be reindexed before some of the data will show up. This happens via a nightly scheduled job. It can also be forced by running `/usr/local/share/enterprise/ghe-es-search-repair`. + - | + When initializing a new GHES cluster, nodes with the `consul-server` role should be added to the cluster before adding additional nodes. Adding all nodes simultaneously creates a race condition between nomad server registration and nomad client registration. + - | + In a cluster, the host running restore requires access to the storage nodes via their private IPs. + - | + On an instance hosted on Azure, commenting on an issue via email meant the comment was not added to the issue. + - | + After a restore, existing outside collaborators cannot be added to repositories in a new organization. This issue can be resolved by running `/usr/local/share/enterprise/ghe-es-search-repair` on the appliance. + - | + After a geo-replica is promoted to be a primary by running `ghe-repl-promote`, the actions workflow of a repository does not have any suggested workflows. + - | + When publishing npm packages in a workflow after restoring from a backup to {% data variables.product.prodname_ghe_server %} 3.13.5.gm4 or 3.14.2.gm3, you may encounter a `401 Unauthorized` error from the {% data variables.product.prodname_registry %} service. This can happen if the restore is from an N-1 or N-2 version and the workflow targets the npm endpoint on the backup instance. To avoid this issue, ensure the access token is valid and includes the correct scopes for publishing to {% data variables.product.prodname_registry %}. + - | + When applying an enterprise security configuration to all repositories (for example, enabling {% data variables.product.prodname_secret_scanning_caps %} or {% data variables.product.prodname_code_scanning_caps %} across all repositories), the system immediately enqueues enablement jobs for every organization in the enterprise simultaneously. For enterprises with a large number of repositories, this can result in significant system load and potential performance degradation. If you manage a large enterprise with many organizations and repositories, we recommend applying security configurations at the organization level rather than at the enterprise level in the UI. This allows you to enable security features incrementally and monitor system performance as you roll out changes. + - | + On instances with multiple Git storage nodes in a voting configuration, including cluster and geo-replication high availability topologies, upgrading may fail to correctly install Actions that ship with the new version. In some cases, previous versions of these Actions remain on the instance. To resolve this issue, run the following commands on the primary node: `ghe-config --unset 'app.actions.actions-repos-sha1sum'`, `ghe-config-apply`, and `/usr/local/share/enterprise/ghe-run-init-actions-graph`. + - | + When booting a cluster in Terraform-based environments, node names may appear unidentifiable in cluster status output. + - | + In cluster HA environments, `ghe-cluster-repl-status` may report inconsistent Spokes or Storage status after running `ghe-cluster-repl-bootstrap` or `ghe-cluster-repl-teardown`. + - | + In some cases, pull requests using auto-merge or merge queue may not merge automatically until mergeability is recalculated. + - | + After upgrading to {% data variables.product.prodname_ghe_server %} 3.22, scheduled {% data variables.product.prodname_dependabot_version_updates %} may stop running for pre-existing configurations. If you have already upgraded and want to trigger scheduled version updates, save a change to each affected repository's `.github/dependabot.yml` file. + - | + When restoring an instance with `ghe-restore` while the replication controller is enabled, the storage directory is not restored. + - | + In clustered {% data variables.product.prodname_ghe_server %} environments, nodes that remain in the cluster after losing the `git-server`, `pages-server`, or `storage-server` role may stay online and remain eligible to vote in the corresponding replication tables. Review the replication state for each role, and contact {% data variables.contact.github_support %} if stale rows affect replication. + - | + On a newly booted {% data variables.product.prodname_ghe_server %} instance, the merge box on a newly created pull request can stay on "Checking for the ability to merge automatically" and not show the merge status. If encountered, refreshing the page shows the correct merge status. + + closing_down: + # https://github.com/github/releases/issues/9775 + - | + {% data variables.product.prodname_nes %}, introduced for cluster topologies and gated by the app.nes.enabled feature flag, is closing down in {% data variables.product.prodname_ghe_server %} 3.22 and will be removed in {% data variables.product.prodname_ghe_server %} 3.23. There is no replacement; cluster administrators do not need to take any action. If you previously enabled the `app.nes.enabled` flag, you can disable it now with `ghe-config app.nes.enabled false && ghe-config-apply`. In 3.22, a closing down warning will appear during `ghe-config-apply` if the flag is set to true. {% data variables.product.prodname_nes %} will continue to function in 3.22, but we recommend planning to stop using it before upgrading to 3.23. + # https://github.com/github/releases/issues/7068 + - | + With the release of {% data variables.product.prodname_actions_runner_controller %} (ARC) 0.14.0, {% data variables.product.github %} has officially announced the closing down of legacy ARC. Users still running legacy ARC versions should migrate to the latest ARC release to continue receiving critical improvements and observability features. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller). + # https://github.com/github/releases/issues/8875 + - | + Collectd metrics will be retired starting in version 3.23. There won't be a Collectd metrics stack in 3.23. We will continue to support the Collectd stack in 3.22 and earlier versions during their respective support windows. For more information, see [AUTOTITLE](/admin/monitoring-and-managing-your-instance/monitoring-your-instance/collectd-metrics/about-collectd-metrics). + # https://github.com/github/ghes/issues/18667 + - | + With the release of `2026-03-10`, the `2022-11-28` version has entered its closing down period and will be retired in the next enterprise server release after `2028-03-10`. We recommend planning your migration ahead of this date to avoid any disruption. For more information, see [AUTOTITLE](/rest/about-the-rest-api/api-versions). + + retired: + # https://github.com/github/releases/issues/8843 + - | + The `code_scanning_upload` field is no longer included in the response from the `rate_limit` REST API endpoint. This field displayed a separate rate limit value that was actually joined with the `core` rate limit, which caused confusion for users. Removing the field simplifies the `rate_limit` endpoint response and provides a clearer picture of the rate limits that apply. + # https://github.com/github/releases/issues/7795 + - | + The `*_enabled_for_new_repositories` fields are removed from the REST API for organizations, including `advanced_security_enabled_for_new_repositories`, `dependabot_alerts_enabled_for_new_repositories`, `dependabot_security_updates_enabled_for_new_repositories`, `dependency_graph_enabled_for_new_repositories`, `secret_scanning_enabled_for_new_repositories`, `secret_scanning_push_protection_enabled_for_new_repositories`, and `secret_scanning_validity_checks_enabled`. Use the {% data variables.product.prodname_code_scanning %} configurations API to manage security feature enablement for new repositories instead. For more information, see [AUTOTITLE](/rest/orgs/security-managers). + # https://github.com/github/releases/issues/7806 + - | + Starting in 3.22, high availability replication for cluster topologies has been retired. You will no longer be able to configure or use the feature, and the supporting code will be removed from the product. + # https://github.com/github/releases/issues/6651 + - | + Starting in 3.22, networking-related syscalls will be disabled by default in the pre-receive hook environment. For enhanced security, hook environments will be placed in dedicated network namespaces. You will be able to override the default setting by setting pre-receive-hook-networking to enabled. In many cases, push rulesets are an alternative for many pre-receive hooks. For more information, see [AUTOTITLE](/enterprise-server@3.22/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets#push-rulesets). diff --git a/src/versions/lib/enterprise-server-releases.ts b/src/versions/lib/enterprise-server-releases.ts index 13d717ce0c7a..566902bba9d0 100644 --- a/src/versions/lib/enterprise-server-releases.ts +++ b/src/versions/lib/enterprise-server-releases.ts @@ -36,7 +36,7 @@ export const nextNext = '3.24' export const supported = ['3.22', '3.21', '3.20', '3.19', '3.18', '3.17'] // Set to version number when in RC phase, null when no RC is active -export const releaseCandidate = '3.22' +export const releaseCandidate = null // Deprecated versions with functional redirect handling (3.0+) // When archiving a new version, add it here and update the archival process From d45dc32841d4d903f9f8ab4e113aad328fd657cd Mon Sep 17 00:00:00 2001 From: John Clement <70238417+jclement136@users.noreply.github.com> Date: Wed, 9 Sep 2026 05:21:49 +0000 Subject: [PATCH 022/138] [2026-09-08] Secret scanning: PR ruleset to block merges for exposed secrets [Public Preview] (#63092) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../resolving-alerts.md | 6 ++ .../block-merges-with-secrets.md | 82 +++++++++++++++++++ .../prevent-future-leaks/index.md | 4 +- .../available-rules-for-rulesets.md | 18 ++++ .../secret-scanning-merge-protection.yml | 7 ++ ...require-secret-scanning-alerts-resolved.md | 5 ++ .../merge-protection-public-preview.md | 1 + 7 files changed, 121 insertions(+), 2 deletions(-) create mode 100644 content/code-security/how-tos/secure-your-secrets/prevent-future-leaks/block-merges-with-secrets.md create mode 100644 data/features/secret-scanning-merge-protection.yml create mode 100644 data/reusables/repositories/rulesets-require-secret-scanning-alerts-resolved.md create mode 100644 data/reusables/secret-scanning/merge-protection-public-preview.md diff --git a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts.md b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts.md index 1db51a08b1ea..bd97d1dd7400 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts.md @@ -48,6 +48,12 @@ Once a secret has been committed to a repository, you should consider the secret > [!NOTE] >{% data variables.product.prodname_secret_scanning_caps %} doesn't automatically close alerts when the corresponding token has been removed from the repository. You must manually close these alerts in the alert list on {% data variables.product.prodname_dotcom %}. +{% ifversion secret-scanning-merge-protection %} + +If a branch ruleset requires {% data variables.product.prodname_secret_scanning %} alerts to be resolved, an open alert introduced by a pull request can block merging. After fixing the exposed secret, close the alert using the following steps. After all blocking alerts are closed, the alerts no longer prevent merging. The rule can continue to block merging until a {% data variables.product.prodname_secret_scanning %} scan completes for the pull request's head commit. + +{% endif %} + {% data reusables.repositories.navigate-to-repo %} {% data reusables.repositories.sidebar-security %} 1. In the left sidebar, under "Vulnerability alerts", click **{% data variables.product.prodname_secret_scanning_caps %}**. diff --git a/content/code-security/how-tos/secure-your-secrets/prevent-future-leaks/block-merges-with-secrets.md b/content/code-security/how-tos/secure-your-secrets/prevent-future-leaks/block-merges-with-secrets.md new file mode 100644 index 000000000000..611c6a52f230 --- /dev/null +++ b/content/code-security/how-tos/secure-your-secrets/prevent-future-leaks/block-merges-with-secrets.md @@ -0,0 +1,82 @@ +--- +title: Blocking pull request merges that contain secrets +shortTitle: Block merges with secrets +intro: Prevent exposed secrets from reaching protected branches by requiring contributors to resolve {% data variables.product.prodname_secret_scanning %} alerts before merging. +permissions: '{% data reusables.permissions.security-org-enable %}{% ifversion enterprise-code-rulesets %}, and enterprise owners{% endif %}' +product: '{% data reusables.gated-features.secret-protection %}' +versions: + feature: secret-scanning-merge-protection +contentType: how-tos +category: + - Protect your secrets +redirect_from: + - /code-security/how-tos/secure-your-secrets/prevent-future-leaks/block-pull-request-merges +--- + +> [!NOTE] +> {% data reusables.secret-scanning.merge-protection-public-preview %} + +The **Require secret scanning alerts are resolved** rule is available for rulesets that target branches in repositories. You can use the rule to block a pull request from merging when either of these conditions applies: + +* A {% data variables.product.prodname_secret_scanning %} scan has not completed for the head commit of the pull request. +* A commit in the pull request introduced an open {% data variables.product.prodname_secret_scanning %} alert that matches a secret type selected in the ruleset. + +The rule supports provider, custom, and generic patterns. It does not support AI-detected secrets. + +## Prerequisites + +The repositories that you want to protect must have: + +* Either {% data variables.product.prodname_GH_secret_protection %} or {% data variables.product.prodname_GHAS %} enabled +* {% data variables.product.prodname_secret_scanning_caps %} enabled. See [AUTOTITLE](/code-security/how-tos/secure-your-secrets/detect-secret-leaks/enable-secret-scanning). + +## Creating a merge protection ruleset for a repository + +{% data reusables.repositories.navigate-to-repo %} +{% data reusables.repositories.sidebar-settings %} +{% data reusables.repositories.repo-rulesets-settings %} +1. Click **New ruleset**. +1. Click **New branch ruleset**. +{% data reusables.repositories.rulesets-general-step %} +{% data reusables.repositories.rulesets-target-branches %} +{% data reusables.repositories.rulesets-require-secret-scanning-alerts-resolved %} +{% data reusables.repositories.rulesets-create-and-insights-step %} + +For information about configuring bypass permissions and other ruleset settings, see [AUTOTITLE](/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/creating-rulesets-for-a-repository). + +## Creating a merge protection ruleset for repositories in an organization{% ifversion enterprise-code-rulesets %} or enterprise{% endif %} + +{% ifversion enterprise-code-rulesets %}You can create this ruleset for repositories in your organization, or create it for an enterprise to apply merge protection consistently across repositories in multiple organizations. + +### Accessing organization ruleset settings{% endif %} + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +{% data reusables.organizations.access-ruleset-settings %} + +{% ifversion enterprise-code-rulesets %} + +### Accessing enterprise ruleset settings + +{% data reusables.enterprise-accounts.access-enterprise %} +{% data reusables.enterprise-accounts.policies-tab %} +1. Under "Policies", click **Code**. + +### Configuring the ruleset{% endif %} + +1. Click **New ruleset**. +1. Click **New branch ruleset**. +{% data reusables.repositories.rulesets-general-step %} +{% ifversion enterprise-code-rulesets %} +1. If you are creating an enterprise-level ruleset, under "Target organizations", choose the organizations that the ruleset will apply to. +{% endif %} +1. Under "Target repositories", choose the repositories that the ruleset will apply to. +{% data reusables.repositories.rulesets-target-branches %} +{% data reusables.repositories.rulesets-require-secret-scanning-alerts-resolved %} +{% data reusables.repositories.rulesets-create-and-insights-step %} + +For information about configuring bypass permissions and other ruleset settings, see [AUTOTITLE](/organizations/managing-organization-settings/creating-rulesets-for-repositories-in-your-organization){% ifversion enterprise-code-rulesets %} and [AUTOTITLE](/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-code-governance){% endif %}. + +## Unblocking a pull request + +When this rule blocks a pull request because of open alerts, you must resolve each alert that matches the secret types selected in the ruleset. See [AUTOTITLE](/code-security/how-tos/manage-security-alerts/manage-secret-scanning-alerts/resolving-alerts). diff --git a/content/code-security/how-tos/secure-your-secrets/prevent-future-leaks/index.md b/content/code-security/how-tos/secure-your-secrets/prevent-future-leaks/index.md index e16a907c203f..398a458c9910 100644 --- a/content/code-security/how-tos/secure-your-secrets/prevent-future-leaks/index.md +++ b/content/code-security/how-tos/secure-your-secrets/prevent-future-leaks/index.md @@ -1,7 +1,7 @@ --- title: How-tos for leak prevention shortTitle: Prevent future leaks -intro: Learn how to prevent future secret leaks with {% data variables.product.github %}'s push protection. +intro: Prevent exposed secrets from reaching your repositories and protected branches. versions: fpt: '*' ghes: '*' @@ -10,5 +10,5 @@ contentType: how-tos children: - /enable-push-protection - /manage-user-push-protection + - /block-merges-with-secrets --- - diff --git a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets.md b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets.md index 8866e5313c2d..7d357280a53f 100644 --- a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets.md +++ b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets.md @@ -211,6 +211,24 @@ Enabling force pushes will not override any other rules. For example, if a branc If a site administrator has blocked force pushes to the default branch only, you can still enable force pushes for any other branch or tag.{% endif %} +{% ifversion secret-scanning-merge-protection %} + +## Require {% data variables.product.prodname_secret_scanning %} alerts are resolved + +> [!NOTE] +> {% data reusables.secret-scanning.merge-protection-public-preview %} + +If your repositories use {% data variables.product.prodname_secret_scanning %}, you can prevent a pull request from merging when either of these conditions applies: + +* A {% data variables.product.prodname_secret_scanning %} scan has not completed for the head commit of the pull request. +* A commit in the pull request introduced an open {% data variables.product.prodname_secret_scanning %} alert that matches a secret type selected in the ruleset. + +You can configure the rule for provider, custom, and generic patterns. AI-detected secrets are not supported. + +For more information, see [AUTOTITLE](/code-security/how-tos/secure-your-secrets/prevent-future-leaks/block-merges-with-secrets). + +{% endif %} + ## Require {% data variables.product.prodname_code_scanning %} results If your repositories are configured with {% data variables.product.prodname_code_scanning %}, you can use rulesets to prevent pull requests from being merged when one of the following conditions is met: diff --git a/data/features/secret-scanning-merge-protection.yml b/data/features/secret-scanning-merge-protection.yml new file mode 100644 index 000000000000..b49bf679fff2 --- /dev/null +++ b/data/features/secret-scanning-merge-protection.yml @@ -0,0 +1,7 @@ +# Reference: https://github.com/github/docs-content/issues/24116 +# Public preview for requiring secret scanning alerts to be resolved before merging + +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.24' diff --git a/data/reusables/repositories/rulesets-require-secret-scanning-alerts-resolved.md b/data/reusables/repositories/rulesets-require-secret-scanning-alerts-resolved.md new file mode 100644 index 000000000000..60f01b621d48 --- /dev/null +++ b/data/reusables/repositories/rulesets-require-secret-scanning-alerts-resolved.md @@ -0,0 +1,5 @@ +1. Under "Branch protections", select **Require {% data variables.product.prodname_secret_scanning %} alerts are resolved**. +1. Under "Secret types", select one or more types of secrets that should block merging: + * **Provider patterns** + * **Custom patterns** + * **Generic patterns** diff --git a/data/reusables/secret-scanning/merge-protection-public-preview.md b/data/reusables/secret-scanning/merge-protection-public-preview.md new file mode 100644 index 000000000000..2affc184ebb0 --- /dev/null +++ b/data/reusables/secret-scanning/merge-protection-public-preview.md @@ -0,0 +1 @@ +The rule to require {% data variables.product.prodname_secret_scanning %} alerts to be resolved before merging is in {% data variables.release-phases.public_preview %} and subject to change. From baa39079fc46f5ae2c5722bd8562e3dd7e43767f Mon Sep 17 00:00:00 2001 From: Yoshiaki Yoshida Date: Wed, 9 Sep 2026 07:46:53 +0000 Subject: [PATCH 023/138] Fix audit log streaming filename format (#45787) --- .../streaming-the-audit-log-for-your-enterprise.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md index 7c93cd52faec..868a5d271394 100644 --- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md +++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/streaming-the-audit-log-for-your-enterprise.md @@ -30,7 +30,7 @@ You can also stream agent session activity from {% data variables.product.prodna You can set up{% ifversion pause-audit-log-stream %}, pause,{% endif %} or delete a stream at any time. The stream exports audit and Git events data for all of the organizations in your enterprise, for activity from the time the stream is enabled onwards. -All streamed audit logs are sent as compressed JSON files. The filename format is in`YYYY/MM/HH/MM/.json.gz`. +All streamed audit logs are sent as compressed JSON files. The filename format is `YYYY/MM/DD/HH/MM/.json.log.gz`. >[!NOTE] {% data variables.product.prodname_dotcom %} uses an at-least-once delivery method. Due to certain network or system issues, some events may be duplicated. From b645932e6b77d69a6e712de8383e99d4b64c416e Mon Sep 17 00:00:00 2001 From: Ross Wollman Date: Wed, 9 Sep 2026 08:14:31 +0000 Subject: [PATCH 024/138] Document VS Code Agent Host managed permissions support (#63128) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 22cfdd82-5704-4eef-86a9-e0322c415baa --- .../enterprise-managed-settings.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md b/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md index 8c52aa19c444..c667854ae6d8 100644 --- a/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md +++ b/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md @@ -21,9 +21,9 @@ For instructions on creating the file, see [AUTOTITLE](/copilot/how-tos/administ | Key | Purpose | {% data variables.copilot.copilot_cli_short %} | {% data variables.product.prodname_vscode_shortname %} | {% data variables.copilot.github_copilot_app %} | {% data variables.copilot.copilot_cloud_agent %} | {% data variables.product.prodname_jetbrains_ides %} | | --- | --- | --- | --- | --- | --- | --- | | `permissions.disableBypassPermissionsMode` | Disables bypass or YOLO-style allow-all behavior | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | -| `permissions.deny` | Blocks specific operations | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | -| `permissions.ask` | Requires a fresh human approval before specific operations can proceed | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | -| `permissions.allow` | Permits specific operations to proceed without a prompt | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | +| `permissions.deny` | Blocks specific operations | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | +| `permissions.ask` | Requires a fresh human approval before specific operations can proceed | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | +| `permissions.allow` | Permits specific operations to proceed without a prompt | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} | | `model` | Sets your preferred model as the default for new conversations | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | | `enabledPlugins` | Enables or disables specific plugins by key | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | | `extraKnownMarketplaces` | Adds plugin marketplaces that users can access | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | @@ -172,6 +172,8 @@ This key is overridable by enterprise team mapping. In your `{% data variables.c ### deny, ask, allow +In {% data variables.product.prodname_vscode_shortname %}, these granular permission rules apply to {% data variables.product.prodname_copilot_short %} sessions that use Agent Host. The `permissions.disableBypassPermissionsMode` setting has broader {% data variables.product.prodname_vscode_shortname %} support and isn't limited to Agent Host. + The `permissions.deny`, `permissions.ask`, and `permissions.allow` keys use **deny > ask > allow** precedence. If an MDM-managed, server-managed, or file-based source defines any permission rule—or if any applicable source declares an `allow` list—an unmatched supported operation defaults to requiring approval. Otherwise, it follows the ordinary permission flow. * `deny` blocks specific operations, regardless of whether they also match an `ask` or `allow` rule. A deny rule set by any managed settings source blocks the operation for all users regardless of rules in the other sources. From a3584dd6eaecf7e12b0d4241ae500b809efc114b Mon Sep 17 00:00:00 2001 From: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Date: Wed, 9 Sep 2026 08:41:25 +0000 Subject: [PATCH 025/138] Switch GHES backups article to new redirect system (#62843) --- .../about-the-backup-service-for-github-enterprise-server.md | 1 + src/redirects/lib/static/redirect-exceptions.txt | 5 ----- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/content/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server.md b/content/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server.md index cabc2d65767c..1973d9e36dc7 100644 --- a/content/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server.md +++ b/content/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server.md @@ -9,6 +9,7 @@ category: - Back up and upgrade your instance redirect_from: - /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/about-the-backup-service-for-github-enterprise-server + - /admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance --- {% ifversion ghes < 3.20 %} diff --git a/src/redirects/lib/static/redirect-exceptions.txt b/src/redirects/lib/static/redirect-exceptions.txt index 02a9da69714b..9f7a56931291 100644 --- a/src/redirects/lib/static/redirect-exceptions.txt +++ b/src/redirects/lib/static/redirect-exceptions.txt @@ -48,8 +48,3 @@ - /github-ae@latest/admin/overview/about-data-residency - /github-ae@latest/admin/overview/deploying-github-ae - /github-ae@latest/admin/overview/initializing-github-ae - -# The legacy backup-utils docs are deprecated from 3.22, but they still need to exist in previous supported versions -# So we need to set up a redirect for every new GHES versions until 3.22 is the oldest supported versions -/enterprise-server@3.22/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server -- /enterprise-server@3.22/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance From 75ba38297a6089a71492cc68987c4f97acbb3262 Mon Sep 17 00:00:00 2001 From: hubwriter Date: Wed, 9 Sep 2026 08:53:13 +0000 Subject: [PATCH 026/138] Note that enterprise managed settings may limit local sandbox configuration (#63116) --- .../configuring-local-sandbox-settings.md | 3 +++ ...bling-or-disabling-cloud-sandboxes-for-your-organization.md | 2 ++ 2 files changed, 5 insertions(+) diff --git a/content/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings.md b/content/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings.md index 295be57c903a..ed336b745a2f 100644 --- a/content/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings.md +++ b/content/copilot/how-tos/cloud-and-local-sandboxes/configuring-local-sandbox-settings.md @@ -20,6 +20,9 @@ docsTeamMetrics: You can use the `/sandbox` slash command to grant extra paths, adjust network access, or turn sandboxing on or off. +> [!NOTE] +> If you get your {% data variables.product.prodname_copilot_short %} license from an enterprise, some or all sandbox settings may be controlled by enterprise managed settings. A managed setting is labeled `(managed)` in the `/sandbox` interface and can't be changed. + For a conceptual overview of cloud and local sandboxes for {% data variables.product.prodname_copilot_short %}, see [AUTOTITLE](/copilot/concepts/about-cloud-and-local-sandboxes). ## Opening the sandbox configuration diff --git a/content/copilot/how-tos/cloud-and-local-sandboxes/enabling-or-disabling-cloud-sandboxes-for-your-organization.md b/content/copilot/how-tos/cloud-and-local-sandboxes/enabling-or-disabling-cloud-sandboxes-for-your-organization.md index 53a63a6089f0..9514ea525fb9 100644 --- a/content/copilot/how-tos/cloud-and-local-sandboxes/enabling-or-disabling-cloud-sandboxes-for-your-organization.md +++ b/content/copilot/how-tos/cloud-and-local-sandboxes/enabling-or-disabling-cloud-sandboxes-for-your-organization.md @@ -48,3 +48,5 @@ Enterprise owners can control cloud sandbox access for all organizations in the * [AUTOTITLE](/copilot/concepts/about-cloud-and-local-sandboxes) * [AUTOTITLE](/billing/concepts/product-billing/cloud-and-local-sandboxes) +* [AUTOTITLE](/copilot/reference/enterprise-administrators/enterprise-managed-settings#sandbox) + From 8476a756132675d5444221f27e89181f28bcfbb9 Mon Sep 17 00:00:00 2001 From: Sergio Emir Baidon Carrillo Date: Wed, 9 Sep 2026 08:59:04 +0000 Subject: [PATCH 027/138] Copilot: Fix Pro+ signup attribution in setup guide (#63133) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: hubwriter --- content/copilot/how-tos/set-up/set-up-for-self.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/copilot/how-tos/set-up/set-up-for-self.md b/content/copilot/how-tos/set-up/set-up-for-self.md index 0ce282089442..2357c43ade78 100644 --- a/content/copilot/how-tos/set-up/set-up-for-self.md +++ b/content/copilot/how-tos/set-up/set-up-for-self.md @@ -23,7 +23,7 @@ There are a few ways that you can get access to {% data variables.product.prodna * **Sign up for a paid plan**. You can subscribe to one of these plans: * **{% data variables.copilot.copilot_pro_short %}**, which includes access to premium models and a monthly allowance of {% data variables.product.prodname_ai_credits_short %}. [Subscribe to {% data variables.copilot.copilot_pro_short %}](https://github.com/github-copilot/signup?ref_product=copilot&ref_type=purchase&ref_style=text&ref_plan=pro). - * **{% data variables.copilot.copilot_pro_plus_short %}**, which includes a higher monthly allowance of {% data variables.product.prodname_ai_credits_short %} and access to all available models. [Subscribe to {% data variables.copilot.copilot_pro_plus_short %}](https://github.com/github-copilot/signup?ref_product=copilot&ref_type=purchase&ref_style=text&ref_plan=pro). + * **{% data variables.copilot.copilot_pro_plus_short %}**, which includes a higher monthly allowance of {% data variables.product.prodname_ai_credits_short %} and access to all available models. [Subscribe to {% data variables.copilot.copilot_pro_plus_short %}](https://github.com/github-copilot/signup?ref_product=copilot&ref_type=purchase&ref_style=text&ref_plan=pro-plus). * **{% data variables.copilot.copilot_max_short %}**, which includes advanced AI models and our highest individual monthly allowance of {% data variables.product.prodname_ai_credits_short %}. [Subscribe to {% data variables.copilot.copilot_max_short %}](https://github.com/settings/billing/licensing?ref_product=copilot&ref_type=purchase&ref_style=text&ref_plan=max). * **Use {% data variables.product.prodname_copilot_short %} through your organization or enterprise**. If you're part of an organization or enterprise with a {% data variables.product.prodname_copilot_short %} plan, you can request access at [https://github.com/settings/copilot](https://github.com/settings/copilot) under "Get {% data variables.product.prodname_copilot_short %} from an organization." From 0397eaed6705a0a832594a1ce476078791abaafc Mon Sep 17 00:00:00 2001 From: Ashis Kumar Baral Date: Wed, 9 Sep 2026 09:08:35 +0000 Subject: [PATCH 028/138] Update review cancellation instructions and screenshot (#45812) --- .../pull_requests/abandon-review-button.png | Bin 71291 -> 140738 bytes ...wing-proposed-changes-in-a-pull-request.md | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/images/help/pull_requests/abandon-review-button.png b/assets/images/help/pull_requests/abandon-review-button.png index 9a635048de2753992141fdc1bdb605e6b0880da7..2c0a1bd00ea3d5fa459bef1e48fad031cb56ae6f 100644 GIT binary patch literal 140738 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 z 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%0DB6{$WpoK12X{ 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 diff --git a/content/pull-requests/how-tos/review-pull-requests/reviewing-proposed-changes-in-a-pull-request.md b/content/pull-requests/how-tos/review-pull-requests/reviewing-proposed-changes-in-a-pull-request.md index 6405269f7422..026f920dc8ad 100644 --- a/content/pull-requests/how-tos/review-pull-requests/reviewing-proposed-changes-in-a-pull-request.md +++ b/content/pull-requests/how-tos/review-pull-requests/reviewing-proposed-changes-in-a-pull-request.md @@ -96,7 +96,7 @@ To change the format of the diff view in this tab, click {% octicon "gear" aria- {% data reusables.repositories.start-file-comment %} 1. When you're done, click **Start a review**. If you have already started a review, you can click **Add review comment**. -Before you submit your review, your line comments are _pending_ and only visible to you. You can edit pending comments anytime before you submit your review. To cancel a pending review, including all of its pending comments, click **Review changes**, then click **Abandon review**. +Before you submit your review, your line comments are _pending_ and only visible to you. You can edit pending comments anytime before you submit your review. To cancel a pending review, including all of its pending comments, click **Submit review**, then click **Discard review**. ![Screenshot of the comment field for a review. The "Abandon review" button is outlined in dark orange.](/assets/images/help/pull_requests/abandon-review-button.png) {% endwebui %} From 0b80581d03c8c6239383468e4ae93b80e5d8a842 Mon Sep 17 00:00:00 2001 From: Ben Ahmady <32935794+subatoi@users.noreply.github.com> Date: Wed, 9 Sep 2026 09:19:59 +0000 Subject: [PATCH 029/138] Small fixes (#63134) --- .github/workflows/check-for-spammy-prs.yml | 2 -- src/workflows/unallowed-contribution-filters.yml | 1 - 2 files changed, 3 deletions(-) diff --git a/.github/workflows/check-for-spammy-prs.yml b/.github/workflows/check-for-spammy-prs.yml index 241fd9b9f369..94f411e917dd 100644 --- a/.github/workflows/check-for-spammy-prs.yml +++ b/.github/workflows/check-for-spammy-prs.yml @@ -41,8 +41,6 @@ jobs: const changedLines = (file.patch || '') .split('\n') .filter(line => /^[+-]/.test(line)) - ) - return changedLines.length > 0 && changedLines.every(line => line.slice(1).trim() === '') }) diff --git a/src/workflows/unallowed-contribution-filters.yml b/src/workflows/unallowed-contribution-filters.yml index e6bd35f29e01..9930c22b66c3 100644 --- a/src/workflows/unallowed-contribution-filters.yml +++ b/src/workflows/unallowed-contribution-filters.yml @@ -4,7 +4,6 @@ notAllowed: - '.github/**' - 'data/reusables/rai/**' - '.vscode/**' - - 'assets/**' - 'config/**' - 'contributing/**' - 'src/**' From e1b86f706e0858da8985d30b0ca139d8c8128bb0 Mon Sep 17 00:00:00 2001 From: Isaac Brown <101839405+isaacmbrown@users.noreply.github.com> Date: Wed, 9 Sep 2026 09:30:58 +0000 Subject: [PATCH 030/138] Use canonical links in AI governance journey (#63105) Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> --- content/copilot/get-started/enterprise-ai-governance.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/copilot/get-started/enterprise-ai-governance.md b/content/copilot/get-started/enterprise-ai-governance.md index 151c8c0a22e3..831c60673078 100644 --- a/content/copilot/get-started/enterprise-ai-governance.md +++ b/content/copilot/get-started/enterprise-ai-governance.md @@ -22,7 +22,7 @@ journeyTracks: description: 'Use {% data variables.product.github %}''s governance features to stay in control of your codebase and compliance requirements.' guides: - href: '/copilot/tutorials/roll-out-at-scale/govern-at-scale/govern-for-adoption' - - href: '/copilot/concepts/policies' + - href: '/copilot/concepts/enterprise/policies' - href: '/copilot/tutorials/roll-out-at-scale/govern-at-scale/maintain-codebase-standards' - href: '/copilot/how-tos/administer-copilot/manage-for-enterprise/review-audit-logs' - id: 'adopting_agents' @@ -30,7 +30,7 @@ journeyTracks: description: 'Learn what agents can do for your enterprise, and prepare to roll them out.' guides: - href: '/copilot/tutorials/roll-out-at-scale/enable-developers/integrate-ai-agents' - - href: '/copilot/concepts/agents/enterprise-management' + - href: '/copilot/concepts/enterprise/agent-management' - href: '/copilot/tutorials/cloud-agent/build-guardrails' - href: '/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-enterprise-allowlist' - id: 'enable_agents' @@ -47,6 +47,6 @@ journeyTracks: title: 'Adopting new features' description: 'Expand your capabilities by assessing and rolling out any new feature or model.' guides: - - href: '/copilot/concepts/learning-about-new-features-and-models' + - href: '/copilot/concepts/enterprise/learning-about-new-features-and-models' - href: '/copilot/tutorials/roll-out-at-scale/govern-at-scale/pilot-a-feature-or-model' --- From 449d8c51919553367fc379792a59f562eb33a076 Mon Sep 17 00:00:00 2001 From: Really Him Date: Wed, 9 Sep 2026 12:29:54 +0000 Subject: [PATCH 031/138] docs: clarify dependency graph/review enabled/default status (#44586) Co-authored-by: Sharra-writes Co-authored-by: Eric Sorenson Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> --- .../supply-chain-security.md | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/content/code-security/concepts/supply-chain-security/supply-chain-security.md b/content/code-security/concepts/supply-chain-security/supply-chain-security.md index 55545062cf3d..977d817be833 100644 --- a/content/code-security/concepts/supply-chain-security/supply-chain-security.md +++ b/content/code-security/concepts/supply-chain-security/supply-chain-security.md @@ -173,31 +173,19 @@ When you use {% data variables.product.prodname_actions %} to generate attestati {% ifversion fpt or ghec %} -Public repositories: -* **Dependency graph:** Enabled by default and cannot be disabled. -* **Dependency review:** Enabled by default and cannot be disabled. -* **{% data variables.product.prodname_dependabot_alerts %}:** Not enabled by default. {% data variables.product.prodname_dotcom %} detects insecure dependencies and displays information in the dependency graph, but does not generate {% data variables.product.prodname_dependabot_alerts %} by default. Repository owners or people with admin access can enable {% data variables.product.prodname_dependabot_alerts %}. - You can also enable or disable Dependabot alerts for all repositories owned by your user account or organization. For more information, see [AUTOTITLE](/account-and-profile/how-tos/account-settings/managing-security-and-analysis-features) or [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization). +* **Dependency graph:** Not enabled by default. Available for all repositories, and can be enabled or disabled by repository administrators. +* **Dependency review:** Available when the dependency graph is enabled. For private repositories, the repository must also be owned by an organization that uses {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %} and has a license for {% data variables.product.prodname_GHAS_or_code_security %}. +* **{% data variables.product.prodname_dependabot_alerts %}:** Not enabled by default. Repository owners or people with admin access can enable {% data variables.product.prodname_dependabot_alerts %} for repositories that have the dependency graph enabled. + You can also enable or disable {% data variables.product.prodname_dependabot_alerts %} for all repositories owned by your user account or organization. For more information, see [AUTOTITLE](/account-and-profile/how-tos/account-settings/managing-security-and-analysis-features) or [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization). +* **{% data variables.product.prodname_dependabot_security_updates %}:** Not enabled by default. You can enable {% data variables.product.prodname_dependabot_security_updates %} for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. See [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-security-updates). +* **{% data variables.product.prodname_dependabot_version_updates %}:** Not enabled by default. People with write permissions to a repository can enable {% data variables.product.prodname_dependabot_version_updates %}. See [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-version-updates). +* **Immutable releases:** Not enabled by default. You can enable release immutability for a repository or organization. See [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/establish-provenance-and-integrity/prevent-release-changes). * **Artifact attestations:** Available in all public repositories, but you must explicitly generate attestations in your build workflows. See [AUTOTITLE](/actions/how-tos/secure-your-work/use-artifact-attestations/use-artifact-attestations). -Private repositories: -* **Dependency graph:** Not enabled by default. The feature can be enabled by repository administrators. For more information, see [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/explore-dependencies). -* **Dependency review:** Available in private repositories owned by organizations that use {% data variables.product.prodname_team %} or {% data variables.product.prodname_ghe_cloud %} and have a license for {% data variables.product.prodname_GHAS_or_code_security %}. For more information, see [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security) and [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/explore-dependencies). -* **{% data variables.product.prodname_dependabot_alerts %}:** Not enabled by default. Owners of private repositories, or people with admin access, can enable {% data variables.product.prodname_dependabot_alerts %} by enabling the dependency graph and {% data variables.product.prodname_dependabot_alerts %} for their repositories. - You can also enable or disable Dependabot alerts for all repositories owned by your user account or organization. For more information, see [AUTOTITLE](/account-and-profile/how-tos/account-settings/managing-security-and-analysis-features) or [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization). -* **Artifact attestations:** Only available in private repositories on {% data variables.product.prodname_ghe_cloud %}. - -Any repository type: -* **{% data variables.product.prodname_dependabot_security_updates %}:** Not enabled by default. You can enable {% data variables.product.prodname_dependabot_security_updates %} for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For information about enabling security updates, see [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-security-updates). -* **{% data variables.product.prodname_dependabot_version_updates %}:** Not enabled by default. People with write permissions to a repository can enable {% data variables.product.prodname_dependabot_version_updates %}. For information about enabling version updates, see [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-version-updates). -* **Immutable releases*:** Not enabled by default. You can enable release immutability for a repository or organization. See [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/establish-provenance-and-integrity/prevent-release-changes). {% endif %} - {% ifversion ghes %} * **Dependency graph and {% data variables.product.prodname_dependabot_alerts %}:** Not enabled by default. Both features are configured at an enterprise level by the enterprise owner. For more information, see [AUTOTITLE](/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/enable-dependency-graph) and [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise). * **Dependency review:** Available when dependency graph is enabled for your instance and {% data variables.product.prodname_GHAS_or_code_security %} is enabled for the organization or repository. For more information, see [AUTOTITLE](/get-started/learning-about-github/about-github-advanced-security). -{% endif %} -{% ifversion ghes %} * **{% data variables.product.prodname_dependabot_security_updates %}:** Not enabled by default. You can enable {% data variables.product.prodname_dependabot_security_updates %} for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For information about enabling security updates, see [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-security-updates). * **{% data variables.product.prodname_dependabot_version_updates %}:** Not enabled by default. People with write permissions to a repository can enable {% data variables.product.prodname_dependabot_version_updates %}. For information about enabling version updates, see [AUTOTITLE](/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-version-updates). -{% endif %} +{% endif %} \ No newline at end of file From 3816ce34e9bc41e454accf2807e0d89f5e9ce294 Mon Sep 17 00:00:00 2001 From: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> Date: Wed, 9 Sep 2026 16:18:26 +0000 Subject: [PATCH 032/138] Move SDK quickstart to get started (#63036) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Jenni C <97056108+dihydroJenoxide@users.noreply.github.com> Copilot-Session: a8e2667d-7f41-4341-b1ca-58c0a42d3a73 --- .github/workflows/sync-sdk-docs.yml | 5 + content/copilot/get-started/index.md | 1 + .../sdk-quickstart.md} | 15 +- .../how-tos/copilot-sdk/auth/authenticate.md | 2 +- .../copilot/how-tos/copilot-sdk/auth/byok.md | 2 +- .../how-tos/copilot-sdk/features/hooks.md | 2 +- .../how-tos/copilot-sdk/features/mcp.md | 2 +- .../how-tos/copilot-sdk/features/skills.md | 4 +- .../features/steering-and-queueing.md | 2 +- .../copilot-sdk/hooks/hooks-overview.md | 4 +- content/copilot/how-tos/copilot-sdk/index.md | 1 - .../integrations/microsoft-agent-framework.md | 6 +- .../how-tos/copilot-sdk/setup/bundled-cli.md | 2 +- .../setup/choosing-a-setup-path.md | 2 +- .../how-tos/copilot-sdk/setup/local-cli.md | 2 +- .../troubleshooting/compatibility.md | 2 +- .../copilot-sdk/troubleshooting/debugging.md | 2 +- content/copilot/responsible-use/agents.md | 2 +- .../sync-sdk-docs/normalize-sdk-docs.ts | 143 +++++++++++++++++- 19 files changed, 174 insertions(+), 27 deletions(-) rename content/copilot/{how-tos/copilot-sdk/getting-started.md => get-started/sdk-quickstart.md} (99%) diff --git a/.github/workflows/sync-sdk-docs.yml b/.github/workflows/sync-sdk-docs.yml index b8d56344aaca..82a1b2d3a1b4 100644 --- a/.github/workflows/sync-sdk-docs.yml +++ b/.github/workflows/sync-sdk-docs.yml @@ -24,6 +24,7 @@ on: types: [opened, synchronize, reopened] paths: - '.github/workflows/sync-sdk-docs.yml' + - 'content/copilot/get-started/sdk-quickstart.md' - 'src/workflows/sync-sdk-docs/**' concurrency: @@ -77,6 +78,10 @@ jobs: - name: Copy SDK docs run: | mkdir -p "$SDK_DOCS_TARGET" + # Pages relocated out of this tree into hand-authored content are not + # excluded here — they are removed by the RELOCATED_PAGES map in + # src/workflows/sync-sdk-docs/normalize-sdk-docs.ts, which also + # repoints inbound links at their new URLs. rsync -av --exclude='.validation/' --exclude='developer-docs/' "$SDK_TMP/docs/" "$SDK_DOCS_TARGET/" echo "Copied $(find "$SDK_DOCS_TARGET" -name '*.md' | wc -l | tr -d ' ') markdown files" diff --git a/content/copilot/get-started/index.md b/content/copilot/get-started/index.md index 04fd99c3a261..62e71e31c8f0 100644 --- a/content/copilot/get-started/index.md +++ b/content/copilot/get-started/index.md @@ -8,6 +8,7 @@ children: - /quickstart - /cli-quickstart - /quickstart-copilot-app + - /sdk-quickstart - /what-is-github-copilot - /plans - /features diff --git a/content/copilot/how-tos/copilot-sdk/getting-started.md b/content/copilot/get-started/sdk-quickstart.md similarity index 99% rename from content/copilot/how-tos/copilot-sdk/getting-started.md rename to content/copilot/get-started/sdk-quickstart.md index 0b14f781ee31..33db9d2e1cab 100644 --- a/content/copilot/how-tos/copilot-sdk/getting-started.md +++ b/content/copilot/get-started/sdk-quickstart.md @@ -1,21 +1,22 @@ --- title: Build your first Copilot-powered app -shortTitle: Getting Started +shortTitle: Copilot SDK quickstart +allowTitleToDifferFromFilename: true intro: >- In this tutorial, you'll use the Copilot SDK to build a command-line assistant. You'll start with the basics, add streaming responses, then add custom tools - giving Copilot the ability to call your code. versions: - fpt: '*' - ghec: '*' + feature: copilot redirect_from: - /copilot/how-tos/copilot-sdk/sdk-getting-started -contentType: how-tos + - /copilot/how-tos/copilot-sdk/getting-started +contentType: get-started +category: + - Quickstarts + - Integrate Copilot with your tools --- - - - **What you'll build:** ```text diff --git a/content/copilot/how-tos/copilot-sdk/auth/authenticate.md b/content/copilot/how-tos/copilot-sdk/auth/authenticate.md index 7b6068443725..efd6654f5bb8 100644 --- a/content/copilot/how-tos/copilot-sdk/auth/authenticate.md +++ b/content/copilot/how-tos/copilot-sdk/auth/authenticate.md @@ -404,5 +404,5 @@ const client = new CopilotClient({ ## Next steps * [AUTOTITLE](/copilot/how-tos/copilot-sdk/auth/byok) - Learn how to use your own API keys -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) - Build your first Copilot-powered app +* [AUTOTITLE](/copilot/get-started/sdk-quickstart) - Build your first Copilot-powered app * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/mcp) - Connect to external tools diff --git a/content/copilot/how-tos/copilot-sdk/auth/byok.md b/content/copilot/how-tos/copilot-sdk/auth/byok.md index a5ec405399ee..6624808ec975 100644 --- a/content/copilot/how-tos/copilot-sdk/auth/byok.md +++ b/content/copilot/how-tos/copilot-sdk/auth/byok.md @@ -594,4 +594,4 @@ foundry model run phi-4-mini ## Next steps * [AUTOTITLE](/copilot/how-tos/copilot-sdk/auth) - Learn about all authentication methods -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) - Build your first Copilot-powered app +* [AUTOTITLE](/copilot/get-started/sdk-quickstart) - Build your first Copilot-powered app diff --git a/content/copilot/how-tos/copilot-sdk/features/hooks.md b/content/copilot/how-tos/copilot-sdk/features/hooks.md index 3958e751636a..172c78fd7633 100644 --- a/content/copilot/how-tos/copilot-sdk/features/hooks.md +++ b/content/copilot/how-tos/copilot-sdk/features/hooks.md @@ -890,7 +890,7 @@ For full type definitions, input/output field tables, and additional examples fo ## See also -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) +* [AUTOTITLE](/copilot/get-started/sdk-quickstart) * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/custom-agents) * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/streaming-events) * [AUTOTITLE](/copilot/how-tos/copilot-sdk/troubleshooting/debugging) diff --git a/content/copilot/how-tos/copilot-sdk/features/mcp.md b/content/copilot/how-tos/copilot-sdk/features/mcp.md index d23b054c0bb9..9569df0f34d1 100644 --- a/content/copilot/how-tos/copilot-sdk/features/mcp.md +++ b/content/copilot/how-tos/copilot-sdk/features/mcp.md @@ -340,7 +340,7 @@ For detailed debugging guidance, see the **[AUTOTITLE](/copilot/how-tos/copilot- * [Model Context Protocol Specification](https://modelcontextprotocol.io/) * [MCP Servers Directory](https://github.com/modelcontextprotocol/servers) - Community MCP servers * [GitHub MCP Server](https://github.com/github/github-mcp-server) - Official GitHub MCP server -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) - SDK basics and custom tools +* [AUTOTITLE](/copilot/get-started/sdk-quickstart) - SDK basics and custom tools * [AUTOTITLE](/copilot/how-tos/copilot-sdk/troubleshooting/debugging) - SDK-wide debugging ## See also diff --git a/content/copilot/how-tos/copilot-sdk/features/skills.md b/content/copilot/how-tos/copilot-sdk/features/skills.md index 17676dc35f94..71fa9121dc63 100644 --- a/content/copilot/how-tos/copilot-sdk/features/skills.md +++ b/content/copilot/how-tos/copilot-sdk/features/skills.md @@ -373,6 +373,6 @@ If multiple skills provide conflicting instructions: ## See also -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started#create-custom-agents) - Define specialized AI personas -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started#step-4-add-a-custom-tool) - Build your own tools +* [AUTOTITLE](/copilot/get-started/sdk-quickstart#create-custom-agents) - Define specialized AI personas +* [AUTOTITLE](/copilot/get-started/sdk-quickstart#step-4-add-a-custom-tool) - Build your own tools * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/mcp) - Connect external tool providers diff --git a/content/copilot/how-tos/copilot-sdk/features/steering-and-queueing.md b/content/copilot/how-tos/copilot-sdk/features/steering-and-queueing.md index b1576cef0332..3669f9c5c2ca 100644 --- a/content/copilot/how-tos/copilot-sdk/features/steering-and-queueing.md +++ b/content/copilot/how-tos/copilot-sdk/features/steering-and-queueing.md @@ -546,7 +546,7 @@ class InteractiveChat { ## See also -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started): Set up a session and send messages +* [AUTOTITLE](/copilot/get-started/sdk-quickstart): Set up a session and send messages * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/custom-agents): Define specialized agents with scoped tools * [AUTOTITLE](/copilot/how-tos/copilot-sdk/hooks/hooks-overview): React to session lifecycle events * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/session-persistence): Resume sessions across restarts diff --git a/content/copilot/how-tos/copilot-sdk/hooks/hooks-overview.md b/content/copilot/how-tos/copilot-sdk/hooks/hooks-overview.md index 2a5df49b0ab7..58541e6eeb89 100644 --- a/content/copilot/how-tos/copilot-sdk/hooks/hooks-overview.md +++ b/content/copilot/how-tos/copilot-sdk/hooks/hooks-overview.md @@ -277,6 +277,6 @@ const session = await client.createSession({ ## See also -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started#step-4-add-a-custom-tool) +* [AUTOTITLE](/copilot/get-started/sdk-quickstart) +* [AUTOTITLE](/copilot/get-started/sdk-quickstart#step-4-add-a-custom-tool) * [AUTOTITLE](/copilot/how-tos/copilot-sdk/troubleshooting/debugging) diff --git a/content/copilot/how-tos/copilot-sdk/index.md b/content/copilot/how-tos/copilot-sdk/index.md index 094b1f3411a1..2285a39ff9fa 100644 --- a/content/copilot/how-tos/copilot-sdk/index.md +++ b/content/copilot/how-tos/copilot-sdk/index.md @@ -9,7 +9,6 @@ versions: ghec: '*' contentType: how-tos children: - - /getting-started - /auth - /features - /hooks diff --git a/content/copilot/how-tos/copilot-sdk/integrations/microsoft-agent-framework.md b/content/copilot/how-tos/copilot-sdk/integrations/microsoft-agent-framework.md index 2bc40d5b2b24..ce4a8769c230 100644 --- a/content/copilot/how-tos/copilot-sdk/integrations/microsoft-agent-framework.md +++ b/content/copilot/how-tos/copilot-sdk/integrations/microsoft-agent-framework.md @@ -33,7 +33,7 @@ The Microsoft Agent Framework is the unified successor to Semantic Kernel and Au Before you begin, ensure you have: -* A working [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) in your language of choice +* A working [AUTOTITLE](/copilot/get-started/sdk-quickstart) in your language of choice * A GitHub Copilot subscription (Individual, Business, or Enterprise) * The Copilot CLI installed or available via the SDK's bundled CLI @@ -593,7 +593,7 @@ client.stop().get(); ### Copilot SDK options (passed through) -All standard [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) options are still available when creating the underlying Copilot client. The MAF wrapper delegates to the SDK under the hood: +All standard [AUTOTITLE](/copilot/get-started/sdk-quickstart) options are still available when creating the underlying Copilot client. The MAF wrapper delegates to the SDK under the hood: | SDK Feature | MAF Support | |-------------|-------------| @@ -661,7 +661,7 @@ catch (AgentException ex) ## See also -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started): initial Copilot SDK setup +* [AUTOTITLE](/copilot/get-started/sdk-quickstart): initial Copilot SDK setup * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/custom-agents): define specialized sub-agents within the SDK * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/skills): reusable prompt modules * [Microsoft Agent Framework documentation](https://learn.microsoft.com/en-us/agent-framework/agents/providers/github-copilot): official MAF docs for the Copilot provider diff --git a/content/copilot/how-tos/copilot-sdk/setup/bundled-cli.md b/content/copilot/how-tos/copilot-sdk/setup/bundled-cli.md index 7f9f3b012772..51076cb21120 100644 --- a/content/copilot/how-tos/copilot-sdk/setup/bundled-cli.md +++ b/content/copilot/how-tos/copilot-sdk/setup/bundled-cli.md @@ -215,4 +215,4 @@ Session state persists at `~/.copilot/session-state/{sessionId}/`. * **[AUTOTITLE](/copilot/how-tos/copilot-sdk/auth/byok)**: Use your own model provider keys * **[AUTOTITLE](/copilot/how-tos/copilot-sdk/features/session-persistence)**: Advanced session management -* **[AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started)**: Build a complete app +* **[AUTOTITLE](/copilot/get-started/sdk-quickstart)**: Build a complete app diff --git a/content/copilot/how-tos/copilot-sdk/setup/choosing-a-setup-path.md b/content/copilot/how-tos/copilot-sdk/setup/choosing-a-setup-path.md index 79d5e41f9608..34c16e7d36cd 100644 --- a/content/copilot/how-tos/copilot-sdk/setup/choosing-a-setup-path.md +++ b/content/copilot/how-tos/copilot-sdk/setup/choosing-a-setup-path.md @@ -101,7 +101,7 @@ All guides assume you have: * Go: `go get github.com/github/copilot-sdk/go` (requires separate CLI installation) * .NET: `dotnet add package GitHub.Copilot.SDK` -If you're brand new, start with the **[AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started)** first, then come back here for production configuration. +If you're brand new, start with the **[AUTOTITLE](/copilot/get-started/sdk-quickstart)** first, then come back here for production configuration. ## Next steps diff --git a/content/copilot/how-tos/copilot-sdk/setup/local-cli.md b/content/copilot/how-tos/copilot-sdk/setup/local-cli.md index 541c481c4038..8efe570391ed 100644 --- a/content/copilot/how-tos/copilot-sdk/setup/local-cli.md +++ b/content/copilot/how-tos/copilot-sdk/setup/local-cli.md @@ -177,5 +177,5 @@ Session state is stored locally at `~/.copilot/session-state/{sessionId}/`. ## Next steps * **[AUTOTITLE](/copilot/how-tos/copilot-sdk/setup/bundled-cli)**: Use the SDK's built-in CLI (recommended for most use cases) -* **[AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started)**: Build a complete interactive app +* **[AUTOTITLE](/copilot/get-started/sdk-quickstart)**: Build a complete interactive app * **[AUTOTITLE](/copilot/how-tos/copilot-sdk/auth/authenticate)**: All auth methods in detail diff --git a/content/copilot/how-tos/copilot-sdk/troubleshooting/compatibility.md b/content/copilot/how-tos/copilot-sdk/troubleshooting/compatibility.md index 4499e127ded7..5a1f9a6cd656 100644 --- a/content/copilot/how-tos/copilot-sdk/troubleshooting/compatibility.md +++ b/content/copilot/how-tos/copilot-sdk/troubleshooting/compatibility.md @@ -308,7 +308,7 @@ console.log("Protocol version:", status.protocolVersion); ## See also -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) +* [AUTOTITLE](/copilot/get-started/sdk-quickstart) * [AUTOTITLE](/copilot/how-tos/copilot-sdk/hooks/hooks-overview) * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/mcp) * [AUTOTITLE](/copilot/how-tos/copilot-sdk/troubleshooting/debugging) diff --git a/content/copilot/how-tos/copilot-sdk/troubleshooting/debugging.md b/content/copilot/how-tos/copilot-sdk/troubleshooting/debugging.md index bcd88f945ae6..5f99af3540d1 100644 --- a/content/copilot/how-tos/copilot-sdk/troubleshooting/debugging.md +++ b/content/copilot/how-tos/copilot-sdk/troubleshooting/debugging.md @@ -538,7 +538,7 @@ If you're still stuck: ## See also -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) +* [AUTOTITLE](/copilot/get-started/sdk-quickstart) * [AUTOTITLE](/copilot/how-tos/copilot-sdk/features/mcp) - MCP configuration and setup * [AUTOTITLE](/copilot/how-tos/copilot-sdk/troubleshooting/mcp-debugging) - Detailed MCP troubleshooting * [API Reference](https://github.com/github/copilot-sdk) diff --git a/content/copilot/responsible-use/agents.md b/content/copilot/responsible-use/agents.md index 6ccf2ca743bb..9c744465e944 100644 --- a/content/copilot/responsible-use/agents.md +++ b/content/copilot/responsible-use/agents.md @@ -285,7 +285,7 @@ For additional guidance on the responsible use of Copilot agentic features, we r * [AUTOTITLE](/copilot/tutorials/cloud-agent/get-the-best-results) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/customize-cloud-agent/customize-the-agent-environment) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/customize-the-firewall) -* [AUTOTITLE](/copilot/how-tos/copilot-sdk/getting-started) +* [AUTOTITLE](/copilot/get-started/sdk-quickstart) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers) * [AUTOTITLE](/copilot/concepts/agents/copilot-cli/about-copilot-cli) * [AUTOTITLE](/copilot/concepts/agents/github-copilot-app) diff --git a/src/workflows/sync-sdk-docs/normalize-sdk-docs.ts b/src/workflows/sync-sdk-docs/normalize-sdk-docs.ts index 37bf35d3af3c..a4a1ec29566f 100644 --- a/src/workflows/sync-sdk-docs/normalize-sdk-docs.ts +++ b/src/workflows/sync-sdk-docs/normalize-sdk-docs.ts @@ -4,6 +4,8 @@ * Normalizes Copilot SDK docs for publishing on docs.github.com. * * For every .md file in the SDK docs directory, this script: + * - Removes pages that have been relocated out of the synced tree + * (see RELOCATED_PAGES) and repoints inbound links at their new URLs * - Renames README.md files to index.md (the SDK repo uses README.md as the * landing page for each docs directory; docs-internal requires index.md) * - Adds YAML frontmatter (title, intro, shortTitle, versions, contentType) @@ -41,6 +43,35 @@ const { values: args } = parseArgs({ const CONTENT_DIR = path.resolve(args['content-dir'] as string) const SDK_DOCS_DIR = path.resolve(args['sdk-docs-dir'] as string) +/** + * Pages that have been relocated OUT of the synced SDK docs tree into + * hand-authored content elsewhere in docs-internal. + * + * Keys are paths relative to the SDK docs root, exactly as they appear upstream + * in github/copilot-sdk's `docs/` directory. Values are the docs.github.com URL + * the page now lives at. + * + * Each entry does two inseparable things on every sync: + * 1. Deletes the upstream copy after it is rsynced in (Step 0a), so the page + * is not republished at its old URL — that URL is now a `redirect_from` on + * the hand-authored page and must stay vacant. + * 2. Teaches the internal-link rewriter (Step 3) to point inbound relative + * links at the new URL, instead of logging "target missing" and leaving a + * raw `../getting-started.md` link in published content. + * + * Both halves must stay together, which is why this lives here rather than as an + * rsync `--exclude` in .github/workflows/sync-sdk-docs.yml: excluding the file + * at copy time without remapping its links would ship ~17 broken links. + * + * Destinations are validated on every run; see validateRelocatedDestinations(). + */ +const RELOCATED_PAGES: Record = { + 'getting-started.md': '/copilot/get-started/sdk-quickstart', +} + +/** Relocated pages whose upstream source file was not found during this sync. */ +const missingRelocatedSources: string[] = [] + if (!fs.existsSync(CONTENT_DIR)) { console.error(`Content directory not found: ${CONTENT_DIR}`) process.exit(1) @@ -142,6 +173,98 @@ function convertReadmesToIndex(): void { } } +/** + * Return the new URL for a relocated page, given an absolute path inside the + * SDK docs tree. Returns undefined for pages that have not been relocated. + */ +function relocatedUrlFor(absPath: string): string | undefined { + return RELOCATED_PAGES[path.relative(SDK_DOCS_DIR, absPath)] +} + +/** + * Step 0a: Delete pages that have been relocated out of the synced tree. + * + * The sync `rm -rf`s and re-rsyncs this whole directory every run, so a page + * moved into hand-authored content elsewhere in docs-internal would otherwise + * reappear at its old URL on the next sync and collide with the `redirect_from` + * that now claims it. (Redirect compilation resolves that collision by dropping + * the redirect, so the deletion is a hard invariant, not a tidiness measure.) + * + * This runs before every other step, so keys stay expressed in upstream terms: + * before Step 0 renames `README.md` to `index.md`, and before Step 1 so that + * `getChildren()` never sees the file and the parent index.md's `children` + * array is free of dangling entries. + * + * A missing source is reported rather than ignored: it usually means upstream + * renamed the file, in which case the page silently republishes under a new URL + * and the vacated URL may be reclaimed. It does not fail the sync, because + * github/copilot-sdk is a separate repo that may legitimately delete the page + * once docs-internal is canonical. + */ +function removeRelocatedPages(): void { + for (const [relPath, newUrl] of Object.entries(RELOCATED_PAGES)) { + const absPath = path.join(SDK_DOCS_DIR, relPath) + if (!fs.existsSync(absPath)) { + missingRelocatedSources.push(relPath) + console.log(` WARN (relocated source missing upstream): ${relPath}`) + continue + } + fs.rmSync(absPath) + console.log(` RELOCATED: ${relPath} -> ${newUrl}`) + } +} + +/** + * Validate that every relocated page's destination actually exists in the + * hand-authored content tree. A typo or an unrelated rename would otherwise + * silently repoint every inbound link at a 404. + * + * Unlike a missing upstream source, this is entirely within docs-internal's + * control, so it fails the sync. It runs before anything mutates the tree. + */ +function validateRelocatedDestinations(): void { + const broken: string[] = [] + + for (const [relPath, newUrl] of Object.entries(RELOCATED_PAGES)) { + const base = path.join(CONTENT_DIR, newUrl) + if (!fs.existsSync(`${base}.md`) && !fs.existsSync(path.join(base, 'index.md'))) { + broken.push(`${relPath} -> ${newUrl}`) + } + } + + if (broken.length === 0) return + + console.error('RELOCATED_PAGES points at destinations that do not exist in the content tree:') + for (const entry of broken) console.error(` ${entry}`) + console.error('Update RELOCATED_PAGES in src/workflows/sync-sdk-docs/normalize-sdk-docs.ts.') + process.exit(1) +} + +/** + * Report relocated pages whose upstream source vanished, to the Actions job + * summary linked from the generated PR. Mirrors reportUnbalancedMarkers(): the + * run log alone is not something a PR reviewer will see. + */ +function reportMissingRelocatedSources(): void { + const summaryPath = process.env.GITHUB_STEP_SUMMARY + if (missingRelocatedSources.length === 0 || !summaryPath) return + + const lines = [ + '### ⚠️ Relocated page missing from upstream', + '', + 'These pages are listed in `RELOCATED_PAGES` but no longer exist in', + '[copilot-sdk docs](https://github.com/github/copilot-sdk/tree/main/docs).', + 'If upstream **renamed** the file, it is now republishing under a new URL and may have', + 'reclaimed the URL this move vacated — update `RELOCATED_PAGES`. If upstream', + '**deleted** it deliberately, remove the entry instead.', + '', + ...missingRelocatedSources.map((source) => `* \`${source}\``), + '', + ] + + fs.appendFileSync(summaryPath, lines.join('\n')) +} + /** Convert a filename slug to a title-case short title. */ function slugToTitle(slug: string): string { const ACRONYMS: Record = { @@ -303,6 +426,16 @@ function rewriteInternalLinks(filePath: string): void { const resolved = path.resolve(dir, rawPath) if (!resolved.startsWith(CONTENT_DIR)) return _match + + // Pages relocated out of the synced tree no longer exist on disk, so the + // existence check below would leave a raw relative link. Repoint them at + // their new home instead. + const relocatedUrl = relocatedUrlFor(resolved) + if (relocatedUrl) { + changed = true + return `[AUTOTITLE](${relocatedUrl}${anchor ? `#${anchor}` : ''})` + } + if (!fs.existsSync(resolved)) { console.log(` WARN (target missing): ${href} in ${path.relative(SDK_DOCS_DIR, filePath)}`) return _match @@ -896,9 +1029,17 @@ function suppressSdkLintRules(filePath: string): void { console.log(`Normalizing SDK docs in: ${SDK_DOCS_DIR}`) console.log(`Content directory: ${CONTENT_DIR}\n`) +// Step 0a: Remove pages relocated out of the synced tree (see RELOCATED_PAGES). +// Runs first so keys stay expressed in upstream terms (before README->index +// renaming) and so getChildren() never lists a relocated page. +validateRelocatedDestinations() +console.log('--- Removing relocated pages ---\n') +removeRelocatedPages() +reportMissingRelocatedSources() + // Step 0: Rename README.md files to index.md (copilot-sdk uses README.md as // directory landing pages; docs-internal requires index.md). -console.log('--- Renaming README.md files to index.md ---\n') +console.log('\n--- Renaming README.md files to index.md ---\n') convertReadmesToIndex() // Step 1: Add frontmatter From 68515935588310da3ff587b6c9de53d666909877 Mon Sep 17 00:00:00 2001 From: Steve Ward Date: Wed, 9 Sep 2026 16:57:20 +0000 Subject: [PATCH 033/138] Document the ability to delegate any PR comment to Copilot (#62901) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> --- .../cloud-agent/use-cloud-agent-on-github.md | 21 ++++++++++++++++++- ...rporating-feedback-in-your-pull-request.md | 6 ++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-on-github.md b/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-on-github.md index dd6f4579c433..1be6dcd31f13 100644 --- a/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-on-github.md +++ b/content/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-on-github.md @@ -138,11 +138,30 @@ When an {% data variables.product.prodname_actions %} workflow run fails on a pu ## Continuing work on a pull request +You can ask {% data variables.product.prodname_copilot_short %} to make changes or address review comments on an existing pull request. You can then track the resulting session and provide follow-up instructions. + +### Asking {% data variables.product.prodname_copilot_short %} to make changes + You can mention `@copilot` in a comment on any pull request to ask {% data variables.product.prodname_copilot_short %} to make changes. This works on pull requests created by {% data variables.product.prodname_copilot_short %} and on pull requests you or others created. By default, {% data variables.product.prodname_copilot_short %} pushes commits directly to the pull request branch. To create a separate pull request instead, describe that in your comment. You can also check out the branch and push changes yourself. -Batch review comments instead of submitting them individually. When submitting a pull request comment (not a review or review comment) through the {% data variables.product.github %} web interface, select a model with the model picker. {% data variables.product.prodname_copilot_short %} uses the model from the original pull request by default. +When submitting a pull request comment (not a review or review comment) through the {% data variables.product.github %} web interface, select a model with the model picker. {% data variables.product.prodname_copilot_short %} uses the model from the original pull request by default. + +### Delegating review comments + +You can delegate review comments to have {% data variables.product.prodname_copilot_short %} implement feedback from human reviewers and {% data variables.copilot.copilot_code-review %}. + +1. In the pull request, open the **Files changed** tab. +1. Navigate to the first review comment you want {% data variables.product.prodname_copilot_short %} to implement. + * To delegate one comment, click **Fix with {% data variables.product.prodname_copilot_short %}**. + * To delegate multiple comments, click **Add to batch**. Continue to add the comments you want {% data variables.product.prodname_copilot_short %} to work on. +1. In the **Manage batch** panel, add any additional instructions, and optionally select a model with the model picker. +1. Choose how you want {% data variables.product.prodname_copilot_short %} to apply the changes: + * To commit the changes directly to the branch, click **{% octicon "agent" aria-label="The Agents icon" %} Fix and commit**. + * To have {% data variables.product.prodname_copilot_short %} create a new pull request with the changes, click **Fix and open pull request** from the dropdown menu. + +### Tracking and continuing a session {% data reusables.copilot.cloud-agent.write-access-required %} diff --git a/content/pull-requests/how-tos/review-pull-requests/incorporating-feedback-in-your-pull-request.md b/content/pull-requests/how-tos/review-pull-requests/incorporating-feedback-in-your-pull-request.md index 2ec8f7488301..e42cdc06da06 100644 --- a/content/pull-requests/how-tos/review-pull-requests/incorporating-feedback-in-your-pull-request.md +++ b/content/pull-requests/how-tos/review-pull-requests/incorporating-feedback-in-your-pull-request.md @@ -40,6 +40,12 @@ Each person who suggested a change included in the commit will be a co-author of 1. In the commit message field, type a short, meaningful commit message that describes the change you made to the file or files. 1. Click **Commit changes**. +{% ifversion fpt or ghec %} +## Delegating review comments to {% data variables.product.prodname_copilot_short %} + +If you have access to {% data variables.copilot.copilot_cloud_agent %}, you can delegate review comments to have {% data variables.product.prodname_copilot_short %} implement the feedback. For more information, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/use-cloud-agent-on-github#delegating-review-comments). +{% endif %} + ## Re-requesting a review For example, you can re-request a review after you've made substantial changes to your pull request. From b6941f16fd67fdfe60a3eecf4a8e8df089bda990 Mon Sep 17 00:00:00 2001 From: Ashis Kumar Baral Date: Wed, 9 Sep 2026 17:18:56 +0000 Subject: [PATCH 034/138] Update pull request commenting instructions and screenshot (#45815) Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com> --- .../help/pull_requests/suggestion-block.png | Bin 26289 -> 18059 bytes .../commenting-on-a-pull-request.md | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/assets/images/help/pull_requests/suggestion-block.png b/assets/images/help/pull_requests/suggestion-block.png index 02c9ba4164327c86227f0566559844dd2857816d..9585f56aa48664df1f182a9594d082c0b3d82553 100644 GIT binary patch literal 18059 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

QP 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 HW8eP(9v)RQ diff --git a/content/pull-requests/how-tos/review-pull-requests/commenting-on-a-pull-request.md b/content/pull-requests/how-tos/review-pull-requests/commenting-on-a-pull-request.md index 399cbf736b63..fd6daabe5d4d 100644 --- a/content/pull-requests/how-tos/review-pull-requests/commenting-on-a-pull-request.md +++ b/content/pull-requests/how-tos/review-pull-requests/commenting-on-a-pull-request.md @@ -48,11 +48,11 @@ To reply to an existing line or file comment, navigate to the comment on either {% data reusables.repositories.start-file-comment %} 1. When you're done: - * If you only want to add this **one comment**, click **Add single comment**. + * If you only want to add this **one comment**, click {% ifversion fpt or ghec %}**Comment**{% elsif ghes %}**Add single comment**{% endif %}. * If you want to add **multiple comments**, click **Start a review**, then continue adding comments. - When you're finished, click **Finish your review**, leave a summary of your review, and click **Submit review**. + When you're finished, click {% ifversion fpt or ghec %}**Submit review** {% elsif ghes %}**Finish your review**{% endif %}, leave a summary of your review, and click **Submit review**. Anyone watching the pull request or repository will receive a notification of your comments. Batching your comments avoids sending multiple notifications. From 306e230c443ff53f46c65f672c664462fa451b4c Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 9 Sep 2026 17:31:56 +0000 Subject: [PATCH 035/138] Fix translated/missing assign keyword breaking repository-roles-for-an-organization.md (ja, pt, zh, ru) (#63147) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../lib/correct-translation-content.ts | 21 +++++++++++ .../tests/correct-translation-content.ts | 35 +++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/src/languages/lib/correct-translation-content.ts b/src/languages/lib/correct-translation-content.ts index 01dd773c882b..414d1dfdf90a 100644 --- a/src/languages/lib/correct-translation-content.ts +++ b/src/languages/lib/correct-translation-content.ts @@ -628,6 +628,12 @@ export function correctTranslatedContentStrings( 'これには、パブリック リポジトリ、プライベート リポジトリ、および内部{% elsif fpt %}both パブリック リポジトリとプライベート リポジトリ{% endif %}{% ifversion ghec %}が含まれます。', 'これには、{% ifversion ghec %}パブリック リポジトリ、プライベート リポジトリ、および内部{% elsif fpt %}パブリック リポジトリとプライベート リポジトリの両方{% endif %}が含まれます。', ) + + // `{%- roleColumns = X | split: ... -%}` — the `assign` keyword was + // dropped entirely (repository-roles-for-an-organization.md), leaving + // `roleColumns` interpreted as an unknown tag name (`tag "roleColumns" + // not found`). + content = content.replace(/\{%(-?)\s*roleColumns\s*=\s*/g, '{%$1 assign roleColumns = ') } if (context.code === 'pt') { @@ -695,6 +701,7 @@ export function correctTranslatedContentStrings( content = content.replaceAll('{%- mais %}', '{%- else %}') content = content.replaceAll('{% se ', '{% if ') content = content.replaceAll('{% atribuir ', '{% assign ') + content = content.replaceAll('{%- atribuir ', '{%- assign ') content = content.replaceAll('{% %} bruto', '{% raw %}') content = content.replaceAll('{% %de dados reusables.', '{% data reusables.') content = content.replaceAll('{% %de dados variables.', '{% data variables.') @@ -916,6 +923,9 @@ export function correctTranslatedContentStrings( // `{%数据变量.` — same but no space between `{%` and 数据变量 (e.g. `{%数据变量.enterprise.management_console%}`) content = content.replaceAll('{%数据变量.', '{% data variables.') content = content.replaceAll('{%-数据变量.', '{%- data variables.') + // `{% 分配 X = Y %}` — Chinese "assign" (repository-roles-for-an-organization.md) + content = content.replaceAll('{% 分配 ', '{% assign ') + content = content.replaceAll('{%- 分配 ', '{%- assign ') // `{% Windows 操作系统 %}` — "Windows OS" = windows platform tag content = content.replaceAll('{% Windows 操作系统 %}', '{% windows %}') content = content.replaceAll('{%- Windows 操作系统 %}', '{%- windows %}') @@ -1523,6 +1533,17 @@ export function correctTranslatedContentStrings( '{% data variables.product.prodname_GH_code_security %}и доступны для аккаунтов и {% data variables.product.prodname_team %}{% data variables.product.prodname_ghe_cloud %}{% elsif ghes %}аккаунтов на {% data variables.product.prodname_ghe_server %}{% endif %}.{% ifversion fpt or ghec %}{% data variables.product.prodname_GH_secret_protection %}', '{% data variables.product.prodname_GH_code_security %} и {% data variables.product.prodname_GH_secret_protection %} доступны для {% ifversion fpt or ghec %}аккаунтов на {% data variables.product.prodname_team %} и {% data variables.product.prodname_ghe_cloud %}{% elsif ghes %}аккаунтов на {% data variables.product.prodname_ghe_server %}{% endif %}.', ) + + // `{%. Назначение roleColumns = "read,triage,write,maintain", admin" | split: "," -%}` + // (repository-roles-for-an-organization.md): the translator mangled the + // tag opener (`{%.` instead of `{%-`), translated `assign` to + // "Назначение", and misplaced a closing quote before `admin` — splitting + // the string value early and leaving `admin"` as trailing garbage + // (`illegal tag syntax, tag name expected`). Reconstruct the original tag. + content = content.replaceAll( + '{%. Назначение roleColumns = "read,triage,write,maintain", admin" | split: "," -%}', + '{%- assign roleColumns = "read,triage,write,maintain,admin" | split: "," -%}', + ) } if (context.code === 'fr') { diff --git a/src/languages/tests/correct-translation-content.ts b/src/languages/tests/correct-translation-content.ts index 05acc59e38c1..a3fd49603fd4 100644 --- a/src/languages/tests/correct-translation-content.ts +++ b/src/languages/tests/correct-translation-content.ts @@ -3037,6 +3037,41 @@ Para más información, consulta "[AUTOTITLE](/path)". }) }) + describe('ja: repository-roles-for-an-organization.md missing assign keyword', () => { + test('restores the dropped `assign` keyword before roleColumns', () => { + const broken = '{%- roleColumns = "read,triage,write,maintain,admin" | split: "," -%}' + const fixed = '{%- assign roleColumns = "read,triage,write,maintain,admin" | split: "," -%}' + expect(fix(broken, 'ja')).toBe(fixed) + expect(fix(fixed, 'ja')).toBe(fixed) + }) + }) + + describe('pt: repository-roles-for-an-organization.md translated assign keyword', () => { + test('translates `atribuir` (assign) back to `assign`, with and without a trim dash', () => { + expect(fix('{% atribuir roleColumns = X %}', 'pt')).toBe('{% assign roleColumns = X %}') + expect(fix('{%- atribuir roleColumns = X -%}', 'pt')).toBe('{%- assign roleColumns = X -%}') + expect(fix('{% assign roleColumns = X %}', 'pt')).toBe('{% assign roleColumns = X %}') + }) + }) + + describe('zh: repository-roles-for-an-organization.md translated assign keyword', () => { + test('translates `分配` (assign) back to `assign`, with and without a trim dash', () => { + expect(fix('{% 分配 roleColumns = X %}', 'zh')).toBe('{% assign roleColumns = X %}') + expect(fix('{%- 分配 roleColumns = X -%}', 'zh')).toBe('{%- assign roleColumns = X -%}') + expect(fix('{% assign roleColumns = X %}', 'zh')).toBe('{% assign roleColumns = X %}') + }) + }) + + describe('ru: repository-roles-for-an-organization.md per-file fix', () => { + test('reconstructs the mangled tag opener, translated `assign` keyword, and misplaced quote', () => { + const broken = + '{%. Назначение roleColumns = "read,triage,write,maintain", admin" | split: "," -%}' + const fixed = '{%- assign roleColumns = "read,triage,write,maintain,admin" | split: "," -%}' + expect(fix(broken, 'ru')).toBe(fixed) + expect(fix(fixed, 'ru')).toBe(fixed) + }) + }) + describe('universal: strips legacy {% note/warning/tip/danger %} tags', () => { test('strips a simple flush-left {% note %} block', () => { const broken = '{% note %}\n\n**Note:** Some note text.\n\n{% endnote %}\n' From 81f2df27f51301ffd2784125709e2e3441536c1b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 9 Sep 2026 17:39:58 +0000 Subject: [PATCH 036/138] Bump the npm_and_yarn group across 1 directory with 4 updates (#63131) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 536 +++++++++++++++++++++++----------------------- package.json | 6 +- 2 files changed, 271 insertions(+), 271 deletions(-) diff --git a/package-lock.json b/package-lock.json index ffd4b8c84745..e39deb56e96b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -81,7 +81,7 @@ "mdast-util-to-markdown": "2.1.2", "mdast-util-to-string": "^4.0.0", "micromark-extension-gfm": "^3.0.0", - "next": "^16.2.6", + "next": "^16.3.3", "ora": "^9.3.0", "parse5": "8.0.1", "quick-lru": "7.0.1", @@ -100,7 +100,7 @@ "remark-remove-comments": "^1.1.1", "remark-stringify": "^11.0.0", "semver": "^7.7.4", - "sharp": "0.35.3", + "sharp": "0.35.4", "slash": "^5.1.0", "strip-ansi": "7.1.0", "swr": "^2.4.0", @@ -1171,9 +1171,9 @@ } }, "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", - "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", + "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==", "dev": true, "funding": [ { @@ -1401,9 +1401,9 @@ } }, "node_modules/@gr2m/gray-matter/node_modules/js-yaml": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", - "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", + "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", @@ -1687,9 +1687,9 @@ } }, "node_modules/@img/sharp-darwin-arm64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.3.tgz", - "integrity": "sha512-RMnFX7YQsMoh7lWfcM4NEHHymBX/rLuKNPVM84XE9ONPcaSCDgE7CHIHpSgPcO2xcRthgBy1HfNO319mwhIAkg==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.35.4.tgz", + "integrity": "sha512-Uhfl4V4lhP2nbUVF9+hyH1+luj86f1gUFeo8ALYxFoULoU+G87D43BfeMP8XHsk9boxAnCY/bf2EHwhA7MuGsA==", "cpu": [ "arm64" ], @@ -1705,13 +1705,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-arm64": "1.3.2" + "@img/sharp-libvips-darwin-arm64": "1.3.3" } }, "node_modules/@img/sharp-darwin-x64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.3.tgz", - "integrity": "sha512-Xo+5uFBtLN0BKqieTxiFzFPQAUlBbbH5iBKyRX/z1JrbnYsHTfKJnUfL8+p2TPXr1pXqao4eeL4Rl144uDpK9w==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.35.4.tgz", + "integrity": "sha512-hWniXY3bG5qKpkKrAwPe4y+VTPmf086YQAnkxWh7uA1YrlRouWGa0M0Mxj3ZjnXFkv7/TD1bTy9lGUK26vRvWw==", "cpu": [ "x64" ], @@ -1727,20 +1727,20 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-darwin-x64": "1.3.2" + "@img/sharp-libvips-darwin-x64": "1.3.3" } }, "node_modules/@img/sharp-freebsd-wasm32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.3.tgz", - "integrity": "sha512-lUxcqWIj2wMQ9BrwNjngcr1gWUr5xgaGThBRqPPalIC2n67Cqj1uPh8NnA/ZhAg8hUbKl+kVHKwgUIwe6ZYPrg==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-freebsd-wasm32/-/sharp-freebsd-wasm32-0.35.4.tgz", + "integrity": "sha512-lIsKw/BU+kjB4eZjxrYrZmwOJYi3Ajrv66iAlBmUPyKc3HpnloevB1g3wxGD9P/5BbQ1brBGl65VRRrCvQDEqA==", "license": "Apache-2.0", "optional": true, "os": [ "freebsd" ], "dependencies": { - "@img/sharp-wasm32": "0.35.3" + "@img/sharp-wasm32": "0.35.4" }, "engines": { "node": ">=20.9.0" @@ -1750,9 +1750,9 @@ } }, "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.2.tgz", - "integrity": "sha512-9J6ypZFpQBj4YnePGoq/S38w6nz+vqg5WZLrLGY4YuSemdMq47GMLBPO42MzwdGwpg/agZ7xzZcFHa48xlywfg==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.3.3.tgz", + "integrity": "sha512-suTBPTDGrI9WodccaDdwZItTSaBYASlBk1NSfElSHrUfzu3szG6lvIF58+WiFvnfzuK8ZBFS5zE00PxqxnRiPg==", "cpu": [ "arm64" ], @@ -1766,9 +1766,9 @@ } }, "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.2.tgz", - "integrity": "sha512-m2pW1n6cns9VaubNwsZ+c3CRYjxNQWgJ5gPlnL1nbBcpkBvFm6SCFN5o0psFHI8w9n11NKhFkeEDns98tiqbEw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.3.3.tgz", + "integrity": "sha512-FVJZ5mITMobmXIz/hPDTw0EintTW5H3WfrxwLqEqjiIihlu+hVRyGrFQ60xl0Lxn7Bt3zdpevPaQi0HEzqz9fw==", "cpu": [ "x64" ], @@ -1782,9 +1782,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.2.tgz", - "integrity": "sha512-1eMLzy92I4J6rmi4mAT8yC3HxOtniyGELlzGbNMLLeqe052ahFQ0h6LFq+lh5DsDIdYViIDst08abvSbcEdLXQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.3.3.tgz", + "integrity": "sha512-3rbU4vqXXc3hY/OiXdl52xZvT0F1yEngWfvqudtPJg/KkyiaQw2DRsFrNzpmLvfavbwOq3qXn36GP8obHRULQA==", "cpu": [ "arm" ], @@ -1801,9 +1801,9 @@ } }, "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.2.tgz", - "integrity": "sha512-dqVSFynCox4C/J8kT16V7SIFAns0IjgLwkvYT7p8LQVmJ5OS5b6tI9IGflxTeuBS//zXeFIUbwt5dwxyZ17cnA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.3.3.tgz", + "integrity": "sha512-0DaL0A6Xu6sQSQFwe4iVCrKWU2cCTItnRsYsCdxAMm9NF6twAA9BKnoqy4hqz4+azQ0JHuA26qiUKsf1XJ/v5A==", "cpu": [ "arm64" ], @@ -1819,10 +1819,48 @@ "url": "https://opencollective.com/libvips" } }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.3.tgz", + "integrity": "sha512-cdn1OvUBwsXhbC0zSzJnNzf5MZ/mTrobawDvNXBTxe8VtqKAm0sRuEY2Evzovb/w9JMk4TvRxqt1mekSuJz64w==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "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.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.3.tgz", + "integrity": "sha512-HjPVx7yKz+0lqdhDlTw1tt90wamBoxhiXpvl1XZpJLiHH4RCJ5yDTqH+VlYPv2fwFs89JFw4c1IexYOcQUi4IQ==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "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.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.2.tgz", - "integrity": "sha512-/ABshyj8gCpyIrNXnHn4LorDJ0HHm1VhXPBlxZ8zAtfVPAaSafXPGn+sUSIRiwaSBy0mmFjSjiXI5mkcwdChKQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.3.3.tgz", + "integrity": "sha512-neWLh+3yCNThxnfy3c4BbVBeGgt9aftno+XbT56iK28RgeDs3UOFWviLWlUu0bArYVYJaFDK+RRohbicUNCm8Q==", "cpu": [ "s390x" ], @@ -1839,9 +1877,9 @@ } }, "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz", - "integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.3.tgz", + "integrity": "sha512-4vKmvAst9nrowcqquKFAyZJUDolUaIp8uRiN0mWFguJ1IplC9/pitXtlnnlU4aa/eJw3J7i67V+pwUL+wZGdsA==", "cpu": [ "x64" ], @@ -1858,9 +1896,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.2.tgz", - "integrity": "sha512-zE9EdiUzUmg5mDT5a1rk5fYJ6GWPloTwWBYDS14naqHsL+EaMpDj1AWnpLgh3u0YCORv2Tt50wrcrpYqkP97Kw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.3.3.tgz", + "integrity": "sha512-Y9kQaLMuNoB0bPYOOdcZMaseNrFpPodIWWMrx+CZyydf2xn68j9WYc6sWWRrDwNkzCQjKYfc68L7jKjGlHMibw==", "cpu": [ "arm64" ], @@ -1877,9 +1915,9 @@ } }, "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.2.tgz", - "integrity": "sha512-m0lrLiUt+lBYnCFr8qV/65yMR4E/c7/wf78I5eKTdkEakFAlZ9QlzEM3QIhhAwVeUhLAHLcCq7a7Vszq/oFNZQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.3.3.tgz", + "integrity": "sha512-fj8Mv0HHfD1Rr+4I68+3agJynxDWtBFgicTbSOb9Bke6pIwzGcJ+RX/yHjmiEGFMCavY/dxvem7MyNaJF+wDiw==", "cpu": [ "x64" ], @@ -1896,9 +1934,9 @@ } }, "node_modules/@img/sharp-linux-arm": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.3.tgz", - "integrity": "sha512-affVWCTLooy8TSxbDx2qkzuDeaWLNVBA+P//FNBirHsXpP2fuBhk5AuboYUnrDnzoXes8GFjpTx0SBFOCRg+FA==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.35.4.tgz", + "integrity": "sha512-7OAS8gI0EReKGVN2HssHlM6umJgxF5VI3xN0p9FA91p/YO+ou5hiNghLdZ5BEHztwaaK5+bLKRf8x/o2L2nk9A==", "cpu": [ "arm" ], @@ -1917,13 +1955,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm": "1.3.2" + "@img/sharp-libvips-linux-arm": "1.3.3" } }, "node_modules/@img/sharp-linux-arm64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.3.tgz", - "integrity": "sha512-QgKDspHPnrU+GQ55XPhGwyhC8acLVOOSyAvo1oVfFmrIXLkDNmGWzAfDZ4xK8oSA1qBQrALcHX0G5UZni/SuFQ==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.35.4.tgz", + "integrity": "sha512-De4jpEnAU8Hd5oT0j1G3uL4ZvTuipVMn7YC6vPaJhy6/7EwEae0SVAoBrUMYQbkLGDm85taVWwuPc1a44LTzCQ==", "cpu": [ "arm64" ], @@ -1942,13 +1980,63 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-arm64": "1.3.2" + "@img/sharp-libvips-linux-arm64": "1.3.3" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.4.tgz", + "integrity": "sha512-2oYZJeIl4kCcMGk4ouZVjnkCtFrpQFlNEtJ6GbxzhHQchwH0NH/qEb9ykmOl29dqwMq+JhFdZn+1ak2FKhI9fQ==", + "cpu": [ + "ppc64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.3.3" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.4.tgz", + "integrity": "sha512-cPbNChoRURAWdebDIHSenxRpgEdy7JkPydSnUxRm9VvKD7m0/xVaR/8Fzlu81pk5nHEvHH87UZUA7cTtwnbJSA==", + "cpu": [ + "riscv64" + ], + "libc": [ + "glibc" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=20.9.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.3.3" } }, "node_modules/@img/sharp-linux-s390x": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.3.tgz", - "integrity": "sha512-KgAxQ0DxpNOq1rG2t5cgTgShJFGSuU7XO45cqC+1NVOuZnP6tlgZRuSYOfNupGkHID0o3cJOsw4DVeJpMovcGw==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.35.4.tgz", + "integrity": "sha512-RY0JFY8Fd6RonCBtHz+DvadaPkXDSI1AUn6yWL9TipqkZ1vY8w8evqdgyDFnkm4/K1ve1TvZiaePP5oSd4+WVQ==", "cpu": [ "s390x" ], @@ -1967,13 +2055,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-s390x": "1.3.2" + "@img/sharp-libvips-linux-s390x": "1.3.3" } }, "node_modules/@img/sharp-linux-x64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz", - "integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.4.tgz", + "integrity": "sha512-9qvvEAuk8k89TfWUoX2htWjbAMX8p+NxCppjpcg5k6xMsjhBQPTsoIh36h9Qde4WRuGpJeYnOjdosDn/cnv+OA==", "cpu": [ "x64" ], @@ -1992,13 +2080,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linux-x64": "1.3.2" + "@img/sharp-libvips-linux-x64": "1.3.3" } }, "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.3.tgz", - "integrity": "sha512-Vz0iQjzzcSX3HCbfwFfCSG/9SCIqyO0mH2sXyiHaAYfBk0cRsCWXRyQYX0ovCK/PAQBbTzQ0dsPQHh5MAFL59w==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.35.4.tgz", + "integrity": "sha512-KB5jxpfWQTr0nc3xdHtWChdbifHrBGsd2SM62Eyxrl8afikm+f5qGBU75SJIZBT/S1MC8XyacdlXBMSWq6OURA==", "cpu": [ "arm64" ], @@ -2017,13 +2105,13 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-arm64": "1.3.2" + "@img/sharp-libvips-linuxmusl-arm64": "1.3.3" } }, "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.3.tgz", - "integrity": "sha512-6O1NPKcDVj9QEdg7Hx549EX8U0rp6yXQERqru6yRN7fGBn32UvIRJUlWnk+8xDCiG76hXVBbX82NZ/ZKr0euIg==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.35.4.tgz", + "integrity": "sha512-f+eZJZIQNEEd26RPSW+76chwOf1XtA2Y/O+5ocVyLliHkeih3e+jhLVBdNTd2rS3IbNXK8+ug93Vf5ZXtF5Lxg==", "cpu": [ "x64" ], @@ -2042,17 +2130,17 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-libvips-linuxmusl-x64": "1.3.2" + "@img/sharp-libvips-linuxmusl-x64": "1.3.3" } }, "node_modules/@img/sharp-wasm32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz", - "integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.4.tgz", + "integrity": "sha512-zQnl4Kwp7Q6NHsENtU2T/00Zi+w3AQNwz3+UaTyVBy2FpXrzXzGjndpK61onhZjRtRpQXxCTeqw19bVyXOh7jA==", "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", "optional": true, "dependencies": { - "@emnapi/runtime": "^1.11.1" + "@emnapi/runtime": "^1.11.3" }, "engines": { "node": ">=20.9.0" @@ -2062,17 +2150,36 @@ } }, "node_modules/@img/sharp-webcontainers-wasm32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.3.tgz", - "integrity": "sha512-2rnq7bX3NzeR2T4YWgz8qiG4h3TSdMe+vN1iQXpJleSJ3SM5zQ8Fy2SyyXAWlbxpEZ2Y+Z4u1BePgJEYbSy80Q==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-webcontainers-wasm32/-/sharp-webcontainers-wasm32-0.35.4.tgz", + "integrity": "sha512-ESfNkywmCfPNyaZjxooddJQiQ+l/nTpGEOGthxiLnIHXC/CmcBixnfwUleX9mCz9ovrUUvKMap/pm8RYbzfwaA==", "cpu": [ "wasm32" ], "license": "Apache-2.0", "optional": true, "dependencies": { - "@img/sharp-wasm32": "0.35.3" + "@img/sharp-wasm32": "0.35.4" + }, + "engines": { + "node": ">=20.9.0" }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.4.tgz", + "integrity": "sha512-iNdlBX9gLVvqe2I3uIJSIKTq6wckP/DYxZtcqxm09x5Gi24DnFBmPAWZmr60ZyYMG0xlzo6goG3670ar+RXvRw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], "engines": { "node": ">=20.9.0" }, @@ -2081,9 +2188,9 @@ } }, "node_modules/@img/sharp-win32-ia32": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.3.tgz", - "integrity": "sha512-r53mXsBN6lFUDiST764SvgwUdHAqM4rPAiDzAmf4fLoB6X/rkfyTrLCg6+g17wJJiCmB3JYgHuUldCWUIRFSXw==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.35.4.tgz", + "integrity": "sha512-kqRsbaa5CS6KHlpxnN7WhE6vAAugXyZButpRdvDWetlv6Qv4N9WTcrWzF7tXfB9T7MsoadqdI8hmwLq6UlLvtw==", "cpu": [ "ia32" ], @@ -2100,9 +2207,9 @@ } }, "node_modules/@img/sharp-win32-x64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.3.tgz", - "integrity": "sha512-D4y1vNeZrIIJCN+uHaWVtH86B+aCrdMYYjicy9pXHvbGZeGYLLSd3wdVuC37FxVXlU1ARsk84eKWfWMXGYEqvA==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.35.4.tgz", + "integrity": "sha512-XtmnYhBcrORsJ4XJngyzr/EWP0hRZLAZRFaApdKuviyqF78+ylxh2y06ZmtULAMOnObJ3ucpN0AcwSWnMowTRg==", "cpu": [ "x64" ], @@ -2178,15 +2285,15 @@ } }, "node_modules/@next/env": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.11.tgz", - "integrity": "sha512-0do5A3BJ2gxWr0ZCMcD6BhW+e595jyxdTl3rXTS6lOtD8ektMiW6CO+EPwt1Eca1DBnm90r/7GdiKWBKxH++DA==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/env/-/env-16.3.3.tgz", + "integrity": "sha512-U2eYQRwXj+dsqxV79zFqExDdatnNY/ZWc2nsJU1p/OgT7fd3dXwlF6OjYaFQCfMoeTA19PWq+wVmYgimVA+V+g==", "license": "MIT" }, "node_modules/@next/swc-darwin-arm64": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.11.tgz", - "integrity": "sha512-wryL4pjKmDwGv2ox6+GZDFxvmtSRLqApBR8kL1j4+vhB7Z5vJC/zAnXpiR9Xkfzl0AS8WLMnsuGV/UKI67/rrw==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.3.3.tgz", + "integrity": "sha512-8Hiv32QJPwdV6KYJ8meR9SBA061tQqnIKTJDocvOXlEQqib0xMFpzArosuffFUUc0sslbh7QQ8a3Yey1QV8EIw==", "cpu": [ "arm64" ], @@ -2200,9 +2307,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.11.tgz", - "integrity": "sha512-aZl2j4f/fLyjQvOhv0Oe9UaMAQHolYpKhctsoYzplSumKJKPUmgjcf6545aBtysLTcu994TREd0+pSgNE4ohmg==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.3.3.tgz", + "integrity": "sha512-A1lgKgwVchRYmSe467zdwhxT9040dd8lH+o65sL5Jet8fjB4kegw/rDyPIpYVRb6jAqwXFOJpjIXJLxQKLiE3A==", "cpu": [ "x64" ], @@ -2216,9 +2323,9 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.11.tgz", - "integrity": "sha512-5jEriyEnH/LWFy27L2ZG0XaLlyEJIjhsImEsiS9P563PKEVp2BVups/xfOucIrsvVntp11oNcZwjHvaDPYVB5g==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.3.3.tgz", + "integrity": "sha512-bf0FIssMFueU2dm7vQEWWxk0c8UjKTdW0yzuh0sQsD8pf1+KCLDdaqhYZNMYGmXwEOiHAUzgBKudovIlcvvBjg==", "cpu": [ "arm64" ], @@ -2235,9 +2342,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.11.tgz", - "integrity": "sha512-eIjcpx2fnnFSSkZDbTxy74KnokUXDjfoLClpWelfgHLf621aTqswhwXQ7GkD5K5rplrS6LZ/Bj+mVuvzluBOEg==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.3.3.tgz", + "integrity": "sha512-W7viwCk9JY/cAkdz/A273rd5bb3RgT/IHwR7Upv90tunjBWNtAAhGhoecHh+teRNRSinuAFmE+l7fwZ4YKkrXg==", "cpu": [ "arm64" ], @@ -2254,9 +2361,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.11.tgz", - "integrity": "sha512-8WgzpaWMs46qJT9kiV47cje86L0x/Mu9t8/Gwj+pnbgW3rETVfCnaScPjlYUwNScpOozdcIMHWmAvuZJUonR2w==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.3.3.tgz", + "integrity": "sha512-0W46zw1N3ODpI6n0GeivHvvob1pooozgZVqy65k0mh4/7vr+FbY9+WpHzNVXjHipJf/A3FDheBG19H1s5A25rA==", "cpu": [ "x64" ], @@ -2273,9 +2380,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.11.tgz", - "integrity": "sha512-I3UgPds7G4ZYnTb/H+5GBGuUT2DhAk6j0mL6A4s63RjFs74wB2hOWP0vaxsK+3NJraExt3eYEPQ/UtT0x/64Nw==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.3.3.tgz", + "integrity": "sha512-H4mBso8ZTMBPtdT0PN0pBx2ayTvQuTuvS6qT13d77yVFJXAPCxkyIhLTmdMaGTJs0krQYI/qpzdHijCeihXhbg==", "cpu": [ "x64" ], @@ -2292,9 +2399,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.11.tgz", - "integrity": "sha512-n89CjtcThnjrwgJMAiI5xbqwLY51zvwC9tSlArmVndAJLYVl9T9UAdlkXTmZvE++idoXe8KdglQlhNRdUp1c6g==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.3.3.tgz", + "integrity": "sha512-cTMUJpcEGmeywofCUfhR+rSsoE33+rVPnPEYNTNdLNlsOeEg/vktOsKUSTb28vUGqD2jkm4Zaskcwn7OCI6FQg==", "cpu": [ "arm64" ], @@ -2308,9 +2415,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.11.tgz", - "integrity": "sha512-md8CLNggS1Dx9pUgApzps5uAf+N8GN9xywzmNx9vHAWo94HtBwCCqkSnhIrdfQe83Dhz8Lfo/20Nb1Zxal092w==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.3.3.tgz", + "integrity": "sha512-2VR4cTBzHXaBjnGsuH6GyJjENzQOmHeAh11uY1iUhjm3j5dEUrVJuUj+VL78jaGi/Dik8xS76zEj18BsFhlVZQ==", "cpu": [ "x64" ], @@ -4283,9 +4390,9 @@ "license": "MIT" }, "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "version": "0.5.23", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.23.tgz", + "integrity": "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw==", "license": "Apache-2.0", "dependencies": { "tslib": "^2.8.0" @@ -8498,9 +8605,9 @@ "dev": true }, "node_modules/fast-uri": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz", - "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz", + "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==", "funding": [ { "type": "github", @@ -10423,9 +10530,9 @@ } }, "node_modules/js-yaml": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.2.3.tgz", - "integrity": "sha512-n+mUVyUX5bVv7G/G2zyIHOhdxfuU1dY2NOFzTQUWiMUbFss8b57NFlgCCaggU78wSw5KVS9cllzeLyzyR+n5nw==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-5.4.1.tgz", + "integrity": "sha512-28R/k+NAjeuf7+CKlTxWZVExJGwVVLwY06DgEnOMz2gEpfNkDcD7QvyiVPT0xy0XXhU8vHsd4Ot42OOPdJG7dQ==", "funding": [ { "type": "github", @@ -12311,16 +12418,16 @@ } }, "node_modules/next": { - "version": "16.2.11", - "resolved": "https://registry.npmjs.org/next/-/next-16.2.11.tgz", - "integrity": "sha512-B339zaqbyK8cmxhoAvLrcwoabwCP1wz21zSzfqxqXAemTu2BXnH7tQnfcglKv1vnMUIDBc+Hth7XODQriTZiRQ==", + "version": "16.3.3", + "resolved": "https://registry.npmjs.org/next/-/next-16.3.3.tgz", + "integrity": "sha512-tuRTx1nQ/yVw83cwJBo9F+njGUgMn3UHQycreWHB8XsStvvAh1AthbI8/4IpKnFaF58F+iSiHejYOlMQ/eq83g==", "license": "MIT", "dependencies": { - "@next/env": "16.2.11", - "@swc/helpers": "0.5.15", + "@next/env": "16.3.3", + "@swc/helpers": "0.5.23", "baseline-browser-mapping": "^2.9.19", "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", + "postcss": "8.5.23", "styled-jsx": "5.1.6" }, "bin": { @@ -12330,15 +12437,15 @@ "node": ">=20.9.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "16.2.11", - "@next/swc-darwin-x64": "16.2.11", - "@next/swc-linux-arm64-gnu": "16.2.11", - "@next/swc-linux-arm64-musl": "16.2.11", - "@next/swc-linux-x64-gnu": "16.2.11", - "@next/swc-linux-x64-musl": "16.2.11", - "@next/swc-win32-arm64-msvc": "16.2.11", - "@next/swc-win32-x64-msvc": "16.2.11", - "sharp": "^0.34.5" + "@next/swc-darwin-arm64": "16.3.3", + "@next/swc-darwin-x64": "16.3.3", + "@next/swc-linux-arm64-gnu": "16.3.3", + "@next/swc-linux-arm64-musl": "16.3.3", + "@next/swc-linux-x64-gnu": "16.3.3", + "@next/swc-linux-x64-musl": "16.3.3", + "@next/swc-win32-arm64-msvc": "16.3.3", + "@next/swc-win32-x64-msvc": "16.3.3", + "sharp": "^0.35.3" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -14214,9 +14321,9 @@ "license": "ISC" }, "node_modules/sharp": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz", - "integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==", + "version": "0.35.4", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.4.tgz", + "integrity": "sha512-n++8XWcj+jCOr2IOl7h8LbKnGBDY4aPbmprMONBNFdn0ImXqpGVv5zliDs0V9HbmbCQLpbuo2ej9rAoOQTvMDA==", "license": "Apache-2.0", "dependencies": { "@img/colour": "^1.1.0", @@ -14230,31 +14337,31 @@ "url": "https://opencollective.com/libvips" }, "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.35.3", - "@img/sharp-darwin-x64": "0.35.3", - "@img/sharp-freebsd-wasm32": "0.35.3", - "@img/sharp-libvips-darwin-arm64": "1.3.2", - "@img/sharp-libvips-darwin-x64": "1.3.2", - "@img/sharp-libvips-linux-arm": "1.3.2", - "@img/sharp-libvips-linux-arm64": "1.3.2", - "@img/sharp-libvips-linux-ppc64": "1.3.2", - "@img/sharp-libvips-linux-riscv64": "1.3.2", - "@img/sharp-libvips-linux-s390x": "1.3.2", - "@img/sharp-libvips-linux-x64": "1.3.2", - "@img/sharp-libvips-linuxmusl-arm64": "1.3.2", - "@img/sharp-libvips-linuxmusl-x64": "1.3.2", - "@img/sharp-linux-arm": "0.35.3", - "@img/sharp-linux-arm64": "0.35.3", - "@img/sharp-linux-ppc64": "0.35.3", - "@img/sharp-linux-riscv64": "0.35.3", - "@img/sharp-linux-s390x": "0.35.3", - "@img/sharp-linux-x64": "0.35.3", - "@img/sharp-linuxmusl-arm64": "0.35.3", - "@img/sharp-linuxmusl-x64": "0.35.3", - "@img/sharp-webcontainers-wasm32": "0.35.3", - "@img/sharp-win32-arm64": "0.35.3", - "@img/sharp-win32-ia32": "0.35.3", - "@img/sharp-win32-x64": "0.35.3" + "@img/sharp-darwin-arm64": "0.35.4", + "@img/sharp-darwin-x64": "0.35.4", + "@img/sharp-freebsd-wasm32": "0.35.4", + "@img/sharp-libvips-darwin-arm64": "1.3.3", + "@img/sharp-libvips-darwin-x64": "1.3.3", + "@img/sharp-libvips-linux-arm": "1.3.3", + "@img/sharp-libvips-linux-arm64": "1.3.3", + "@img/sharp-libvips-linux-ppc64": "1.3.3", + "@img/sharp-libvips-linux-riscv64": "1.3.3", + "@img/sharp-libvips-linux-s390x": "1.3.3", + "@img/sharp-libvips-linux-x64": "1.3.3", + "@img/sharp-libvips-linuxmusl-arm64": "1.3.3", + "@img/sharp-libvips-linuxmusl-x64": "1.3.3", + "@img/sharp-linux-arm": "0.35.4", + "@img/sharp-linux-arm64": "0.35.4", + "@img/sharp-linux-ppc64": "0.35.4", + "@img/sharp-linux-riscv64": "0.35.4", + "@img/sharp-linux-s390x": "0.35.4", + "@img/sharp-linux-x64": "0.35.4", + "@img/sharp-linuxmusl-arm64": "0.35.4", + "@img/sharp-linuxmusl-x64": "0.35.4", + "@img/sharp-webcontainers-wasm32": "0.35.4", + "@img/sharp-win32-arm64": "0.35.4", + "@img/sharp-win32-ia32": "0.35.4", + "@img/sharp-win32-x64": "0.35.4" }, "peerDependenciesMeta": { "@types/node": { @@ -14262,113 +14369,6 @@ } } }, - "node_modules/sharp/node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.3.2.tgz", - "integrity": "sha512-3z0NHDxD6n5I9gc05U1eW1AyRm+Gznzq3naMrthPNqE6oYykcogW0l/jfpJdjYnuNl8R7yI9pNbE1XiUeyq0Aw==", - "cpu": [ - "ppc64" - ], - "libc": [ - "glibc" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/sharp/node_modules/@img/sharp-libvips-linux-riscv64": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.3.2.tgz", - "integrity": "sha512-bsb4rI+NldGOsXuej2r8OdSS8+zXDVaCWxyWrcv6kneTOlgAHtZABRzBBCwdsPiD90J4myNJuHpg6kA20ImW/w==", - "cpu": [ - "riscv64" - ], - "libc": [ - "glibc" - ], - "license": "LGPL-3.0-or-later", - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/sharp/node_modules/@img/sharp-linux-ppc64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.35.3.tgz", - "integrity": "sha512-sMd8rDxmpLOwv/7N44klFjOD5DUO7FLdjiXDI0hoxYaf7Ar262dQIEkosE98bps+5HPLtp/EvNqeqQtOycP/IA==", - "cpu": [ - "ppc64" - ], - "libc": [ - "glibc" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-ppc64": "1.3.2" - } - }, - "node_modules/sharp/node_modules/@img/sharp-linux-riscv64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.35.3.tgz", - "integrity": "sha512-0Eob78yjlYPfL5vMNWAW55l3R9Y6BQS/gOfe0ZcP9mEz9ohhKSt4im1hayiknXgf8AWrFqMvJcKIdmLmEe7yeQ==", - "cpu": [ - "riscv64" - ], - "libc": [ - "glibc" - ], - "license": "Apache-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-libvips-linux-riscv64": "1.3.2" - } - }, - "node_modules/sharp/node_modules/@img/sharp-win32-arm64": { - "version": "0.35.3", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.35.3.tgz", - "integrity": "sha512-4bPwFdMbeC4JQ8L8LOyWp6nsHcboP5fxkp6iPOXz2Vg49R42TuMs2whkJ5OAP4/Ul035qOzy0AecOF9VOscn4w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 AND LGPL-3.0-or-later", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=20.9.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "dev": true, diff --git a/package.json b/package.json index 3fc6618ceceb..95c12830688a 100644 --- a/package.json +++ b/package.json @@ -244,7 +244,7 @@ "mdast-util-to-markdown": "2.1.2", "mdast-util-to-string": "^4.0.0", "micromark-extension-gfm": "^3.0.0", - "next": "^16.2.6", + "next": "^16.3.3", "ora": "^9.3.0", "parse5": "8.0.1", "quick-lru": "7.0.1", @@ -263,7 +263,7 @@ "remark-remove-comments": "^1.1.1", "remark-stringify": "^11.0.0", "semver": "^7.7.4", - "sharp": "0.35.3", + "sharp": "0.35.4", "slash": "^5.1.0", "strip-ansi": "7.1.0", "swr": "^2.4.0", @@ -369,7 +369,7 @@ "brace-expansion": "^5.0.8" }, "sharp": "$sharp", - "fast-uri": "^3.1.5" + "fast-uri": "^3.1.7" }, "optionalDependencies": { "esm": "^3.2.25" From 9050d9257a6a6f679c9d341be79ad573c23bb907 Mon Sep 17 00:00:00 2001 From: mc <42146119+mchammer01@users.noreply.github.com> Date: Wed, 9 Sep 2026 17:45:49 +0000 Subject: [PATCH 037/138] GitHub Code Quality: Agentic Autofix for Backlog Experiences [public preview] (#61831) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Anne-Marie <102995847+am-stead@users.noreply.github.com> Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com> Copilot-Session: cc516c8e-bdeb-4490-85c3-6ef91946419a Copilot-Session: 2c5b1fb4-960a-4056-9b94-da74ddd243bb Copilot-Session: e03f76ef-c46c-49a6-b767-f5b01e370f56 Copilot-Session: 7330ec01-3ba0-45a2-98bd-aa2f2c1b20f3 --- .../code-quality/assign-findings-bulk.png | Bin 0 -> 341135 bytes .../fix-backlog-findings.md | 30 +++++++++++++++--- ...allow-github-code-quality-in-enterprise.md | 8 ++++- .../raise-your-quality-rating.md | 9 ++++-- .../agentic-autofix-preview-note.md | 2 ++ .../generate-autofix-from-dashboard.md | 5 ++- 6 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 assets/images/help/code-quality/assign-findings-bulk.png create mode 100644 data/reusables/code-quality/agentic-autofix-preview-note.md diff --git a/assets/images/help/code-quality/assign-findings-bulk.png b/assets/images/help/code-quality/assign-findings-bulk.png new file mode 100644 index 0000000000000000000000000000000000000000..6b12a3972ce5463e37d647834f6cecba529add0e GIT binary patch literal 341135 zcmeFZcUV)~`YtL(5EM`mSyYkUktV%~NC^T`r36%Zkq)6FA|kyLX@*{;N$*5N2%&}E zn}lAaMhJmBJ?H-R+IOF|H~ao`{#raw$jD?c=cw=Ze((2XglTCglabPrUb%9GOjYHv z_LVEwbgx_?x_ylZxI*vEhq`hF&)il~QOjOYS<%VC$yLYsrMcx}TQ_Him)=^!SFUiz z`Nvj(+O=+W!u9hqJ#I44(+h>}vxMG$Gf zBh=ldRe*Jd6^sCUl;rgOQh)p-%~04e)AB*2?F2~l4upDEGpZ(-<3$$ByZR3` zN#xECl{xGYQzOz3ga}P)8h+3QjVPy-=m(AKyr?IPoYO+p8uZ!yI9`{2@RRfVG;6FR zVI$vt+30s`j5-Gd&g*`71O=}sbCb!9fl((kS5?%yL3RbtkpR65e0H#Wu4?u4=@o9E zeC-M$9_^K@KnV|c$>P!dqx=Mq^9sTLx{iP4N~rA>!vD992Jrs-Cl+}9{-6K-j-QGD zKQ*rDW)l2QndtWKsy!#)TY)zcXB9)YD_8Ea{eI!8YP0^laz*}%>SG06FTAZ;@ARk3 z_rC7!J~;NDPpL>?V@3QqF>me}6#D5R+|C+SF2l>w> z^Y=>rb5r~c7k`4(-*E8{82%eB{;$CWf85s!$}rcJ$kh(aJ=NG?WldlG{5Tng&EyG6 zTMLmJ1pk+^z?`$+fO7OK`Fto+Q(jS|RIgByMw3bz-hk}HzZCa6TD`vz?Jq<3ER=&;Y z8h2Ek9;GHX8+0_D<<1`?zm|I%O_zJ{^7q-Vl3P5#FN2tu`J^V!!e{!Nr-E2R6^Tz{ zIrU~geuvasPLWjI`ZDh1JbBGz5RZyheQ>?>=~(;Fn{YwR$7a>U1(YKK0Tqf?0+KJD zmiU@I=a|}U5QIs4Kwhd+uLzGT$8dC$ptF{LsZv_TJ^_6}pRHhULJK_%jF18aD$f(Y zep6qa&htAERebKVS@c^y<&qbq3=3m29F~*s&21n4>dJ_d^!2miEtwkL@|lJvcsZ$z!j$_VRB^qGAGp=v6bB> zO9is1g`7P8ceDMEh51eUt6Q=xuhSqVKm9FNV;$$3?a6v!4JDy+e!3yB_(Fp zlkr_WQXI6U1Bo`rF9OSDxnURX4~^SW84!8nSYwN=VN2;JIVbew^fIqUJGSJOT_Q88 zIh=n@*p44`r?F_u27azaF=1!*9&e<{hr6$26zT{zq4q$AaXiL8DZ=${d7pcX5c*m` zc~g3sxGtOQH}Zd6H*vwE(rCNWI1D;c4tz!AYl)coOJtYzcm-99%q70 z{@dguSJ1S@HicG{X&_ zpi`DI&}{|S`m+Ov8VgjsX>X1@Rp~gIruW3t^V+Ogg@h@2iaJ|fghhPziBLF^rAc9- zx!R`=0Bgo>3-6eZ*=Gpi7^3B{=azz)Zz-FNy}Q&U)Cvr`NXap6*l zOl-YU`i(zNAic=8BF(-lRj&5U7X7jPJ}5VV#{g+YF-dXn=-@*8@RX%+Ip)YX1&7qT_3E> zlpZR1WBB=-_rr_O4&vn+k|vWBiLF}NfuD;69a~^HEbEVpc_%Zrn3x&nz%ogv2VWFj z8fN*>kG`PY8-rwXYJb(oU?nsTH9_S}DlKq=<1VuUUn33f@$-`v!<<%K-cFLNFw$YnUeC=x-pokB*%FsSRflaSA4n;8a8TJS{IxyS++OfNQttc^b;kL$T=7o z!Wwz|DNC<|nmSLwF|OR)(oEY)Yhght2(>W7<_g}oq^Ih(6%viv$x6?EnJ zN6B`3> zztnd$Wv-pu77*WY5-W5)(sQrt%hN?*%dXmdQQW1d?Z&XLbr$80$uyeTr;+SL(rhKfI6=cE(xi|^x388|$a~ufU!pYy zZf14v|1kEEFhO_;-ue0VeXkvaHv*B(10m-vl;AVFr=%3}d^L z%;ZQK=3J}EDire_^r6_f_0-)Y8DdT3=Td}a*SIwSzT?9bjw#V@Yf)q}mpAB{gCHp1 zrpQDnqPhsC%$=giaA7?Ey_@`?XnDCpDtB;H0t|Ap0o%>x96Lc_=MomL=UxdZtohq9 z4Zzc)kq;LB@2_VNvq2=I0xp z;!uzH@r#uU$OP4coD@ls&2G^Z2}J6fta$^*IEZ>?NHPh0i?S~}t0zb6-z@1rsZvlb z;WydL>|tZ;VDgz;=^HaK95u7J+P6ccN^Q9ss{7A_OlWfF!6BAwxqoa*lW`7|;7d-H z_xPIV$Tp3XetgQE+{JwBQ^l>Z6N#r|q-2ER8D6qA3L2DaFNlfj%}j*xN~Z2Q>8-n7 zhshWkRenTTHLbm?vQh#%l9_b%MMtt%(cO$u*{!`I5WBipS;?J;pm!5W!qxy>Rq2iBdY0xfem#gKX@c8p-G0UvKGU>l_sbJ25d$=c}5-sC%O z4SdU{Xgy9;n?P591b+(}A~pObYQeO!~0!W60m zOXj_2NNc}Hsr30)m%j|$*cXu5<+RuhkJb!!p1NV;G>U5-a#M|gkJBG@sqcj~h`lz4 zvWvPQ`No&x5i@Vyw#<)LBjNql&uJ!w)!Zd$_`Ka78<9`;`d)PAg2#N%GrZ@eQUtaC zo7w0`m2r5CS^B6~>AY)M!eF+X<0OSi0OcZ84@kzLx)G+P!)C z?E7K<$0{14E%VeA`3Ng|FSs?A!GjQg=>+6$!P78K-|%}dZ8KBUz(W-Lv6I8?)r}d9Q_ML zN}gGNpe9TNg_QaDO;%O7-o5qctjTJ88kQRNjo^$7p^Cm+AIJrcQ&MOB? z_IdeBvA--`nx*;~Ro|PJ(9lrFL>DWGR08F`M)5oUhGYFnUztMi`>STSws=cLhgHV_ zb{~Pcea~oB7SFe+Gh>uj(RuaAy9AzNmGXX>E(Uq8IJyfHL9VtHR7JUXYJW~VKfz?) z=Sr2-kNYOqfF3p5Md4Osk#Ag{KirbOABxrlogp9d=*VaKpIrCpdYQ~r5kVwAVYxhZ zpum)*c1jdEvASL`H~t>{X_9XyCiK`76-a~{rbU`~zMo17GOpG;dk$p}`e1~BJd{CoUz1F z34%sOL_zB_&jeydI5*`c+8L=~mvbV%n`3xXJ_#BMRJ1SR^xtxC5y$oMCTXE8o(;fT zUz7F-^icEwcv({^ZKKtZD0f`InYkFsM!XErgm^0HmoZ43F!MJE%~cF~ZW?e%C}LIY z;!UQL)R|S7bkP__Sj)Z7E>pO?W9vo>Sz-oMM>FEi4V3lC?ZEdtcv5q#cOC{&Qhws$ zDc77}bAvLtGR#@N4LfYg2?Ta{cdQ0mu4l->B(DiaWzeN2(Tn7rzkJBt?(%KjALkD4 z>%n48iHV50`B!=Z4^nvIjqjF9*}WC2ZAe`oVjfRM@ux1!SJ5m9(GZO7O7kmnAnN-` zM&D!i$uOxxlZiyvDGPU=KISCFGUyQSCVP4ZE6 zI)(#TtU%@D!NZlhz08pirvw*xCvC>(^{+G=ejR5wdS*Wse2K`$yu<3pK{HpTt$|%Iy+-B!T%Ca!W-JbtF9dl?6 zdo0iu`{ce2W?yTg5;Vr;I6HX1L(`?~pjk`=`|i90_Fxn3MMb7Q)Jx@QSo`B+3zFlq zv1eK^SO_OA)CvL7=mH*{D=KQWO8d7PAhE#l2XiN(akHdj!DicN=~BaE1+cUTnGX zwo~U$7Y&y$c}51OqnKCDZ#Jfu$`o#lda5z6D--&g7bb^0vS(%;9eFRk|19wsdNN>n zGhg7E14&3#j>`Fk*}9gAQER=vi1Q<;as75k&CuD@jCQM+)d^%+Fy%LE(fewKqP9P4 ziyof;HLUG#1VHFhmT!?iU76d2A8;7d9%`3sd!D$B z-rAf9R(z<2?L1kUBDIG08h$zb5c!c7z41BEko?`-OF_g$Wg+}Vq1K&(%<$_kLl(W_ znrW5}I6yr)yAH`L2+C5D1%9HYq@wS$YyQ)3l5tyapFl$PF+0Xz%IT#boe!du&ka})&U6L}ZP|NP5 zUUp>{u}n^GF0%Cp*imFsD8Kc&2I(?#L2^kJ&{qPm-`XOFcUX!vA)r8%^ibbC&JPnX zEcM4UVs^UTX&MpSqKx%Wv35$|oWL2K?>yD?2$W-PIUPVtROUnRwj+>>kn(sM0cah5 z%u1{2vw*$~sS0l^AsGF*XSFTxq&}Up!1<|wyvGA&k-#^1Cb@-mmtyW&{ zfECJrr_sr*uf}ieMFd(E1^6%3Hh;!?%#m%lY@-$0n_eu%3_wMl>FCQ6V zCu&!7x8&kqfE9)Bnru~$^J?C<-+9Kdkn=QFCI1FB`GoU5bO&u9z_0JQ8O>^dFkT}T zc43o{?(FU)nU*E7Hdzfzon8`K(H9vWg*8b1y?Bz=p9bWNGOt^94WDW~)6G&}yb1qN z&UJLT)n}8Jzbb%_f6YWY=*UVn^&!EyvH5^Hcfy5%hMJe9h^n~%lPQWxPM*3><5gQv zsy^pO3V)6I|HQhqfuLykNPM0d;mvE$7ZfOYD;$OeH~qksIWLdWwR6<Kx{5Np;58d+SwXiFARQF%zQUVRuU(o$V;|=jC z@q@2rZcPQseqnA=ef+G^*{UJm@8SCB=U5w}>!g=jkk~1pfw{F0a4c`+E3e*0eb}1t z)fV}ftuhyR`&Qf*zs==Qd_rJul(hUro?JTMz!(KN-(i9Th|B8jkX+i`-yMGoM8ugn zWocP1ZwJ#Gd2!O4TDPJ#lYAfjS8d4z;`rCXV>&Nge!o%pX7ul=MC&Yn`s=CwmnSlD z0@(*|7jpzJor2#zdzS;u?2li%4IGy)so&4JrUtCs%wINQOjv#3Ak>~ zTpcnKkTx@UN**KWd9(fxeEYGIBm-jj50|3Dxb@|XTkWjIV^Ap0kq8qlm6BDgq~$p zL5=^|x}YV}cb4)>uU=*QNq9ELC7hX%uP%IsN_|61b*1bGplB^_vb8*lX@CBm|&x>;sz>JKALqG%?c~7Z&%p zz>-rr8j$1Nc_+){u!!l^)0r@O$K z48!9(K*?&49=%QEG&RZ2RtwpZ)oHqjB}7HGt7RVlwZH)Gl|- z&~jg%P`1PDdOhR5Ed7+}De0FbgpwC;fksBWzZJ<_N)C;8hjyV9_ma)`_U>;BOJsB) z?m>fzDcA~-S5ag&qwB*3%U^?nT@NQJuA54UYKXh9#nQ|8h~$Df*x8LRcQ!Cc-&o0G zG$O{=puolqk^bUSN0Qc|Easkg>}QNUoFGd?#(O{a$aEd@{!+1p*`iP-q)tAVqZQ|w zfA$kiZ&>RWf_mo@Ra^{0car5P9T>BH)_!u@J1xea^@?eKS}MNI z11a==Jjv)iu`P2sHC|ji_KswelvJY?YgTn^$O|(u@1*O_PM8Vg{{>=y`svjtEWFZo z*eYfxCnqNt*%y^N$@f%gK1e=-D5W<86QO=?6<%UkrC;kfya;6}X8U4A28bf@N_P5f*# zR)FFcOb_!z+1#RLZ?Mv9@Al>}E|7L&sK6``!@Z9CWv*TMn51~;5zbe{eR?o68+dYJ zN|jX_)?|0DpNii^r8}96h0n>Jzt5>fsnQy?GdARQ(3>K>e^@2(LDmT~l;tl~WZIIt zE~e4>^p{a&iJETmUb)QGKigytx;7ICW||TH;dUy&{%o zJ<5u7X^Kg@EEVRPD$_Uh#SD@Hx*^{|v**xKt&Y`NANO5u-0AUgk>=;cRLOB)_1KLD zNR2I@Q}g*}^D6j-DQnEJ-%LRi8kt`ST8$nmfCwNHxf0+yC1y=>CnHt+!!zCiC>Obb zopayikkwCn)7CvwQ(fT~`i)|7Wnf9$n_Pd&rc1AH!OM1{{i#f70)3sv86ul9SAfYZ$~}dL=kKJT-+fm_+~(55gO;eUup@~b z)4|eBmZ7F`^8h&3r;O;$jX%Uy^3^kT=0<$I5)pB z&NH?Dxgf^>hkDl2l@xUv3Xd&^t9%U}Kc;4Cc%JMy(mj9CelPHxje&84HIzKmbMlYz z7uqh0P{nnJR%#?k{=knLK1UwwCtmjkmtFDs_N)wH{a{~{2Ol3{u`fn!XoTE9&X--B z`eunZ`q%>n|pTecx;+$<0(fG!f!uC z(-@q+fOpV?TT&mH&amlx$8jplCTYm1KFD^>-4DqpNix0D7M%_9@q%g@zn*N=V_e_2 zsl=z)5?mKJ$I2Zvx1?=pf)`oxwnqzF1cz3)z^!L?&CS?3;<-`0?ah7K490aUz8|+# z2*|Fv_*|UTj4oTHSJK&3(t)+xeTygqaW*Zj)0#(t{6#uLOBLr_XQpd?YeP)IrgZc_ z{cZKhF>KHIM}DF;WvR)&@ALZ}ZzXADG;#1O^t8m7wqU!X8Kh>5CoWOCm`biPx1a9t zFZPk$+etq*gC5#=_=1oyIrv$fYu?#87AACx*7SdJ+&NIU^n;v2Etxk3j4-{opN}pd zsfgayk%Qfop)+dEF18^RKFRjp}!Rjt^$3S^Yn z2sMsJiwVwaQmxXOh6_eLE+ry8+wFiZ&(_WFud$5in|Jzc48mL7bb{%YDi~+;EW&Q< zvwx5~H(@f1N?S1htnr&t8Hw6YJS8|C*_iVa$?Q zvgW5^w=GYDqjG2cEFtUkDt^7TEa&if$Ec3p`sk1}h zN6(Lw`ASsB9zy00CF6G>a3r8En_wxOig?v(RSE+qA&P-M4qy# zFccym5{*7t_1o=mr0lYOdt!RS=k*74QK|7PzoKd2XnVPDUH?$2vH*ftAlNLB#So7Q z7AR@tSQyx{In}5h%fFjN!`0j)N8Ypjo1g6t=Q{s*BxK*Ii%gKJ+kDP!%G>wV_Tk)yXwZe4Q(k`E>KO55-~Hcd941!ggTU&&AVK&?+P z2SDyk%%;FJBJ%vJ%k5*Sgyn1#lya$#PP^T7EyM8x6WI93=XKJ2XT8*@Vs3-@TTW!6 zh79K(<;kQ}-M(AImBQP`t1sTv&CxGXs%PQWg=tUbu6h5=QkHHUzY=k@IR@$orz#phb*Jp zWTqio&R2D}rl?pN?|jhl#%#Z21gu{)QAqPco6Hi!rZFd}f>wTy3`r?}0f6gSEc6KY z04a*kg{^uy6`#f`0cP&BdiYI@sQnnx;g0Ri1m6cC#~EBY?B2)g1r~EC_$hByc2Akj z&rpWk92!2_8Lwdah?w#GvY|=B{d!_x4AnmNGQ_z1s61)LeF9thOZtyXYrG)-&%RR7 zgWur-LW(MzLFVWdKao@OBK?|h3)H7swAbUu?+*R89Nq*W@ai&(bPAfbGiDtIn^Q(w z^OH4Oz=QRJPqmjncgyyO09;aR63Dd%(XI)cdEk$k4XREYQ_QSZnS6~*smdL10HQ`; zxOLd4tS2M(DB*W;dH%LlBJUxCk+i4O>XQ}b1t`%P_)6UzbLo!FdYye=`Yi^AWnsLs zHWFH`y`J(`g<(oV$}N zEqnA0GQT@nP0|$X+tl&v>)$OfZ*1->jN4TUe*ZLsya3r~$c_%zp^@DpLnezB58p?o ziIq2>biVK|G^d840p7Xy7LSUGCmC|%)lmOXTCXsLhs|#NV|54hk~=*5BaQjzX$Sjn zE>2A3io*AoyHDxI7Vcr>$zYU)e@34EvcwemJATsEKC*Q~Bj`q|VCK$|m};7oG2nI3 zsf}{$u|jrCsGApovGz;m8F=EozmyCPsC+q*vC^B;KIiW5IMX~?!?4!5PsQV>(FYZa z`To80bfn3^i#TRY5XaVf{>YTW18{(FW(MVDn$C)mDe8_h)eTe&&h}NtC1HWSu7=Zu z#t)q)7bil9)LHdLUhKropU7C^PNSj`8)Hu;+f`cqPI3W$40svZF~{eXPwHX1fb)Xj zy?QKhKC?Jm$>6Ym5It*$uO83M21CYX|QU;AR;5Uypk-r>O&Oz|YjlODlaHS^)z76}z7w=7SQrWLc} zl$cF^UZJ7Vd2zfox#{JZGL*-#Nl-e|VqJ$W8XSBUeYBHA)mOr*$)K&BS=Y6J`!GvYdODr3zmnPiy!Mrf zc|j^IFl5H7(CJ`s2do5r{qYyDx;$F|-`2h%)CJ8E&Y$Ii0Ze{DsFcdy;%cB}E2P{_ zUMZe|!)0K8De(4FKlXqGNwHXS7j_j^gR=CoqO9s6^3AaZebc~gs`ZQB166W1en(iZ z2@N6`5)@RQuiwWyEx~X|eFzx5Wp|&i9)g0ccvKm(J`Z$~) zu~@$5`-j6M`e(o06$K`AnO3XG7bu)_TeK$}BLB|xIn<6MSN8#)z}&V#qRSI(pKFkH zIjEJ;NaX8E9+ViFi`2n?{muIlea55$KM3_b1aENA91-t99TpabckxQf|MYNwgGT^F zLHYdF8exrwW5DSo_0Z=&8Agy_y0o{DA-Z`0iHL#K4{$Lej#?GL8cjzuYCOK_n3>rp zbByQtHa`_Il?ZrtTI({9FI*meWghVKF@0;8+)-rFpN=e&T#y9sbTln>eVT3Rc98>( zl|&yEXq+Ced%e1uq%q!=+UG4j2PHYgF3#?}+O?Mt(IH{Ac|2|D;U%kqnqH^PD#SW1 zbK3?O^StGH6r_6ZKX=mLo&0mF!k?IkZKa629Gh8=bIl!lXS^vHP|X4Ppa6g09&?#S zWHT%<2|2Hx1Y7BM+iGvo7UlqQP0P>3ec#{V(tf_b+_xDpQ3D2aF#v69?dNUHFU|?F z*UxgY)f&lH`!l9%7`on{uJ8XL$-lcV-&8xN$B30&Z+4i3yB>{>N^cyjqE;*Jar0m_ zjOWH?x+SwfH0mjm;QT&31L%B%#U7R7uehG&YvWeyl8Ex#uDYes0R?7Ld9sjx3+#4oJIbvdO<%fV6GV zSXGuZ0=*Ll3y*jxky0P0sK1`w@T3u6=!iAte$KPoww4Rowzo433?^!2HLi6`2)qE_ zkGLx!2=ez^b<_03(g<6#31@zjPOtH;|?te;0tm}q_{2#u8( zZtC($xUD#sP*_?9$SKeTMfx6Xh-T5NeLmJJdHxIrS(~T20RK#-y_s`y?geF5ia)RW zjy+4>=wd6J%dUi#<Nj>-a49 zntdyS{TNXCctcs~LKj}#mjjia9iS>%eaDwyiwvx}a&<7YVpEZp^XE9#xo=~9#tbn~ zPScqR*^wk*I*!&WfnF@*FmuU(D*X%KZ%A6gCzmA7EU4YR)^mgERK8r$kTl?YSqx@9 z-J~g(BEAFqtwyhY^zHaXV%GD$oTJI0p|)7Rba85otnbDb^Hu(s#z!HfMnQKNldP15 zg${RSb=WmixCI3(7(>TPjd!QUZ%`+&Yr1T2c2dao$02-=z6|aA(mPKNlKAg_z0Tlt z_2By9QetNmZFk9TE5;_f$B9TPTqwG9D zW~E0_cv!YHdeArdod*(>SlWr8!*pm4r*0x#q%!CnGOU6Izfyu7+4GjI5(e9_zFGb) zLN;G+(497#*8$Kjji8-#&oTEef7CVkH{@px$K7fnSzE(6*__rU#D$^$^Vs1Y))hdDWk!D~`l zQa;0yc=W21Kkt!m3^2WCj5$i)GxO)4+tJB?3Pr*HNaIF#CrTuk!&5Eu^!sR|5%@(8 zGe6l8!+=uAKR#N_14y>pZhnU!HR*$!0Q${7p2n0C@yvB)pX`oNy;sGWHfx+I9y{%o zY#QCejGVuU0RPi9XSVC_w&U+zy?)m@eP$%IG@+Hu$&uav^oTlRB;x`L%T6JXz1Zhz z*qp;I7Ztz`uo~`u^}#4XTwa~dVAzpT1hgxRlEWkv&=goT<*>~Tv$eB&)=nmtfF_om zPzA8JMrE>*7uO|ly=#uoipdM2u2Vvc{1n(aW1*J&qKzQ|-S<a;p?Cy$XejxHIrcEzri zJs+&dT#V+Fgjs9`1uc;29UPm%_F7hGfF{pC2&Tp?%|H3p!f*JDLW+npN_IvXjOB5M z8z+Sb@83a_sy^528X!<_x~TD?K&+7ahutCOplZ;%1XvOhFMx=4yRk6{=|pnnjW=pF zY3Hd)e#&msO%;4}QLRpo2^lH#k3u(`bHf5Y!>E|hEfz7KF6O$Pjltlxo-M5jGL4WL zhz?FiI0=X|eMWf%qzjJ|>h>NL72yA8i;GA2_}fFp5LpwP=n3MUKU1oa+{DnAmjvrh z_&3tSO;=0B{5eKvQQ&4T+xWIS?dsTO?*kwxVy9Q!^#*GCvk=rD%|E?2bn!`3gEGd= zgCr6%AHdTQ@SC@5%AKnSSxUms9@#x_vDpzUvTg>L7;7+>2xX{FW+d@@SVpK+HPkqD zZfn(MXjF1Vl@fj%ywcuu!|z0C@I_o=a$P8Vy`C4OhP|Gf!SAv^mZpd=F^W#-VBB4= zxEG$$oy21ZDtMPIuqz8hqxg5>Qp`w5e^V4Tpw-XY^1HFqDR0nXfJR{*-OO{dGd?tW z*C@3nhc?wx)c%-U=)(5M6FYE6Q!Xj_*lc<)aiduA5Bcpp_#L0h|EPEVn zbp0xqg+97^{WKle^qdJ%Ol;;OK{8`GY0a3An!rDrZH^A*U6GU%DAN# zmg^wXIAYXKtg>yM#4O#(C>duW>vMJC3Ma~s#4S1;hsu{-bZ(ZbJ(VL0s>VQ~0}MjR zz5C{WWNzA)4Icb%AJKF)W?ky6WSwo#Uu;hv|d z4|^uL_$3LVK@VSwFppX?Cw~lP<7GymeO10Ebu=tW-7~U5E`USxXp<%N=zdW)<+>d1 zK@TBGGpk{xg{QP0lyZ-sM%e1G%yrvdtGjnyXQ@w&2vlRIXL6)L*I12&!U7%GN9B^V z*)pKu0ne=3A;I$pzVC0)NOu|GKPI?-M&(~CSy7_l5A!k^%DcW}pP4Xv%4@BD@r2PK z&@+rWaD2?gV|z$7U;Pskplu&OQuSbb_WC@WPhRi`m=K(O1gi$Pthvxd!_AK^X;*}k>$r19TP;Qk$TnDd3yt3LomieII%o&NCQ z8iHR)Qd$^8nbBE_XxS9)viMm{P>T6(c1+SjLDsc?VPOV4J{E0JUiW8^5hx1O+zR-0 z$r%hxrPqNo!q`eFghtR(UO!`h2QFT{dS!{4YjHjMcll@&4GT*TC7h-J7a?trQR=Rf z1XUNztUG1v3N2xr5u5CJ{nkW7`>(BJz+`}coQR_t(J#uvI=Lcm6tPo)(&xQX;mRvJ z=K~|9;${u$gSG0|R-}u&e4{;x&XD3eIO{YM4mSxW!Q?2%bl*2GoR52_LlQ3q;U8R< zdZY))G4`$0O(m;2D3jf1FwKf=CBNhYl2Os%b!9}o)wZMrkj+pdtz8t)_Gsf)?}San zp9;xemE?_X)-w}u58+Fj|D|B}FMRPzP&LoZ86#p_OzR&sf0^L-e>j`5uYeGTwz{(7 zf6TM_AFRJ-0M!0=gmg9gKW_9-!NPy^JJAZ{}r762SolvG8HsF^(Q_J zwAg}3^R3-LUJ$hW3pttZcA)kb`GA7qLdCC&FHm#-`zzBq7TA8UzJHXRUanI)KjW&` zZtv;KGCxt5&&8)v2A`nJA=ev^1&%tylZs1$(~Xq3c4R6&aqLA}Wrul;cgHXN>L}q* z^KY50zSzDqs3(h+oxMB9|5L*E;V|u5^+f5>ChYQqtuHj_Gr9BR7+IW}M%wBNsPN*& ztc3foFE$JPsUCD&!=<3&gGHpAGi=+ zqekfkU&G^FHJbDDKY+--?$_7+qhXU(mPwHJ>XM{m-(L__7Bkh|6GGU0=}05%IX&#e)qK>T(Q5u*$xikO>O&8Yn;|qoidMQ zn4cigS!%ks+7NC3?gsmkn_-!*7 zhvP*-cY&SsrM3n|wgTjUEmxOq&vi=vn7O#!>n8Q`li9lyfg)=MGdUsuTpq>uV94Uk zQ4PrB%e-$(KHRzt9T7Ik7aGHubmo1a62}}Oz0>0#IX6vvR_Tx6pKKEAw<|!+wmR*) zB~+E81U)f~lP~9tJ$NizcjMxMa0j2~@%-m8-?tNHB;3@(ZYzN?=w0j&nTJ@ZCdjVr zpkDO;sxW`Z^@cf)-Gj-?wpY;g>x2){kRJixb|U4@jd)=(X-lcjbxscy-`~*Q-1t0H zI!qA2p?-mLs_{EqH>h-iuMRP!;{6!Qk6QX9<&@xVW!&=?4(-C`$kjE~$$Gr1wJ$FK zdzeKB{0;+j9vaGZNA9lFvu|ual(d~&Z>!ZV@FZ*MM(c2daA>Bn3BzHVRq0Co^b)zY zIY5e6kFoUBgp_2KluP%G6kNMBk9jb-95z{Hop85KBtDrP8w~L_|3zGBx9wAW8WHoP zi^EJKasK=lkcQ9`mudzA=)qw z9t7;W!yxBVMh0oE(?F!E|04=vj8c;t2&f4x7;3>(jU9|EgoqKzIAsj&P6p{e_<%jx zjXoWz@%24mU-2CpswtyBGgJkQlp7c``YbRSFuhe)tjfV0A9uxACakwN>6RNA zHbU&2S_$6;2AuIys-zrSDF`nd! zsZOq&!*!vtKN!xk{MUrjWmc(SyOFJ8QFJD|K6MPl3T&6r)L&G<3A#Zm8P8x{X4j#T z^tbGXT-&~}>3hCe#bWkTEIvIvAU>HQyem$H^Eiu~bX$TgUm$rde7jT6W^ zY1YY_tFuQ1pjuwNw%2MSW-&dWTU#6)*t#R2|M=6+u;ORkvIYOH-BzMR5l5|g^f~TR zdM`mmh3`@nO!jBWA96rqmdzIhAeL^~U020GKq`W6_q`Wj*P>HnuTQbn?Rb10%9|iz zszB?>5h!qu=zhL8wm>aIVAL-snLyR{8sWHhw0>SfNtqx!-y}!oPV>O4J|@aP>?Dw1 zM1c~!bW-5s-E8J#0;f<^_FJH=eo;62;=>%yEFKEmHy;8SCN^Vl)Rucv*{EF8mW68@1KQxP5gI2y3e566daTMA zqv>T>ImdY#y`>O20d$ik+oJnP+sPl)I4zEVz2t%Ahgx~ zC=Wz*xaH}IuM7Qlt(w=kVu(sTtL%dYqdazxRVRWoGVtY zyx6|a?j?|vng8C$!!Astm*ZnErDRsC&7P3`qp1zV8FMSn|Fy|$>y(l^o)1E-+6F8i zbVK<7kNmL_dHLf3a0F>;Fu+|Nbv_N(Ltd>!ZJd7t(P_8SUG==!v-6JD71i5E@mz!+I^jgloLNZi9h@;CpZ3GLMpmz6TT-~488)Kg>SSIvxl18*IR;_ z&CVs_d;0s6r)QhcKQClaI~GE=2Wjf;!rlk@HQEn~vXaA)_u;4vfq6en4*8o+Y>hh<o4o78$Gvy8C5qnC%lbWL|9{x~%Ah#AZp+{fK?6Y(0zsPK8r8-t?Eiuq~+nHv_ac6&`-4zC|AL_7Uh|pV`DB02!1c-)e6Bc`fwJ^>S;%i_*GQ zYh;q0NtsRpDi0npp|G&piA;hssCqLiqlKL_QM$@`|OSswn zY3x+jivtp3K00B%Pg#J8fEm(}FJyp*!>weP+eE!8P$|;ZO?sO<3t@-GLdftCRuxS1Ig~z1( z!vZF?H)`Mm+K(5OV>K-tbsyV!>Jcc^CB3C0|B;_*EjUB>?QG^0XhhyORSJ|zr}cK- zZmL;dCMJ!CngrcfZI|OkFw~N}VEsg(a^(MD?#(hVz7MI_BEMB~j>wc~jGRWpK&hg- zhJal>wJpgXY-18mNR=0jbYGi7l^~kj_0x2PyAf`#A9Q_@_(i$R(#(OQ*eVC!5hjjW zI=4m(jFTe|WgLEmr|!;x2g?^mf-qK zX^7ZHEj-pUk|5-S2~+NGA=wi_ya%m|NHeC&UbGv_Q(6G z7r`j+XHJ?V19Zk=#H7on3`K~>sZKLQ9c(vUs;knZ z<0jy-%h>i;voC zPvYSG3#yfLX19-knq3)QbmQS|FSC)jsjy~5AE9xCUdmP9_Wf4gG4e#5B$xJY`* z0>-7CE9`{8Kp#R=iPb9Rf0J0vbhY2Dem3KIZOuINN~{z5j(o?>Jc6jrpxQ)6LGv8# zbtm(ZBf<-hJ7lQcoI3gnZ|(rOH14YLdG?2hdX;@08Vnq&y6WBI;b|@DWCunFa)TOS zny#ECn@wrL{GiolZlCXk!8}$iZsmeKP;#l9Vjxg!HJWw#1x8Ea3ei#;55|ZLQA?4R zi=beSx0(tqvm>HdaEaa=Et~#aius$he1#+|;Dd}yA}$Z>axt%FbY6{{P9E*dnEEpI z4rY5fk~da@@8wH85;_q#RZV;~lvlw|`;c$Vxv}54!7^L0N(9g$*g2;JG&b#!;IU!h z)i%R|KSA%gbD<;rsbUhDWaqYXGXX)K?NN~yU)<~Le79%ZP1t<0>lG7)A>z-%BZwQQ zR5&NIX3?-0HbDg$7nGSGLqIPo05fZB8@UO&dB{La2;E-=C)N*O9^)ouCA7Of=dpLw z$ld0}_bPbZvHRtP$@h=)q+U)d327eluQZgq&M-;su4SNt%wD8v75+kj`!K5n(tx@Wh3RxIo9Voc!j5VV0)Q9-W4U0Dikf$ zsIx1t+F;6r7!{_=knd6Yne#qU`&U&OA?rJ9DwQRc%nW_AaEBk~oPT zcNbJ92L&LaFqgI9!YQMU*ie4%1iA}q<5%Q)QVCIGlAQ139zC~gI4Sz6H%xmsk7nuM z+Eq&ChE5&c6h3@0>zE{)G95`s8(Qc&%kmebAYE%W+DCTX379L>>%B0}%dZwx%2rp< z*`1K(pFo5(sTHe~e_%Fw%4$_B*CdaRrE&4!^HevylgeBF*f`AtM}br;)PUgdy;A$4 zLXn7Z_?iFCPw+3I8xR3s^FYxkbChOE>&H>AJ&hPbP;g*dVzkgq0u>7x3~FeM!|okr zr}%E4>I`B%uIA@v?R(faKjsGu1`Lu)VwP#LOz_=~stplWY8&8u_DW*ur2!OLNqV%( zWJ@WIhh=;>sHE_si z=hWdS%gIV}Fut{E!E@86j*zcNu`&DlSp~?u7Vi1W&cqF-LRGZNnLa9U{EL1L7qQ`~ z_3Ed>a3Lv{3DsYPnLa;skJioBUZY5ZE|3 z{qs&-DtsUrc@!1kWQ2kAlI`{I`Pz>k;iO6-0lR4y%jKKwbv=<8%2aBzZuC0O1s)f@ z9L+XF^50#K_TP+J|H6aRL<2dMWh|2pWP@+FiO**(;R7rF7cW8V%mCyd8KBv7yfRz1 zShmQ)z;T#z$Np^M4ta_kn6(-_wr3_JPiQEikx0oC2+n+Je+! zmp+Egv@Q-$hOjS|XfxlBpQ4`zx?G^9uK=N^@9AP;krejU)p=>#cxOxxM3>5nj_B8< z3U-pI`!@EaO#0kMGiEn^(FP0Dzc~b6m5Zq&{XkyUG;b;1(?En2wE-V!ZYcyALYUT?XGXEd_`=DgfaOm272+4lsYOt+tIUu;;M?mdmS z-OJ+9X?!Y}tH??0_az*@{$4HXE8f7@FOyWbDR+Br>N(D)e6Hggfa0Ln{Zh)D(ipT) z`FBzG2me~GTH&ocT}?Efjf)aQ{!<6P^?nS+2j_Ba`?WOzjYhY!rO!KdoH-igRytpL zGfK9_j9U#JBGTSPr@P-IJIO-^cXbnFi5Df(ri!JWq3?`F7p~0*!{v_2%!c#Bp(h8k zacGe72I!lePA8rr5nj>@Kj#H$Ke5rQ%TsLloDKN9|SdMbe<0i^d1|AV zSZ5#8c4~VT=+$bxw`^FO7tE(tKC7yj!d6T_Q>;8WOO^k`B}Mxo>H8<%_EtOOgiQuy zT=f+gNs@vRF0FD)v-w)r68_{)(53&wYRPva>3#ZN|J7nqc5ke1sUEd2Stwt zR`6CxLpS|PaBP}jDf+0d@gkNVxc=s#im&m>{@DphjE9jw5?w;8X$(yI^yW)KA5Y`K zjzp*{8@tHxI$1`QClzSrU?(A{FHO~FK2Vw?pI!vfs5WPXl!h`ZI9Jwx&Z=_0 z8V*UydzGzF$p1Fcu~q#4&@dyf)nPlvX~W}V zdg08?FvxpD@DgUrQiivv+rQGE-7wjdG)O}qQdrP&|feeR3Oja|)L~xrG;dttib>r{X_hTLWH4i!0-C^F(NS9IvU-bt_~CEs47-my+G;m2zLQwu`%E=h;r%vhogM5DqgW_!U8(GS}vU zA$rLpJfrz|Vq36`;XJPz-EfSw-@r4cyU}VZ28C-tNmAi`9KWx{Lj>_fcs07;&5pA% zE(~AAnpgW-i<7R+N$g+ZKr&lJ8fBwlyapnESa_gaFX=+1ibJC=pSlUr%<&m~OqVoU zuPV^HlEH%MCO>_fZJK5n<*?fJ1hua33+HB!o|L7y2*+ZKLQn=c4i*`wbXE1YW+v6TAD0S_agiRo}gJXt#uC*vD z(`|URg)~^eh~>Bcsf||i+NpI=>j*a;pWsR4hV)ec|NG!92A#{wJ_e0H-Cskf(>O+SKK;S z0sg%FXW!=yJcHAA_a7~fea%ct8a8&gqP7`&%gqJV)6t7G8s9fiL=dPV^@B5x7ynF( z-sOFb?yC3X_(r8M@j==57YVNXo$D#j_x{Gt6x4WX!HK`Dm%e|D+D?i&6L@YG!yx5- zPsnB+b2MKgRTR^E&Bn@7>CxFIqa_?3QM@f2f`WsZ9S>u^?*qs|BqNA8x2BaGgbC@$ zmfD^Wt}LImIUNoznnRGFpm;tPVl_jKW?;4o3LWTmigURj{37sjIL&|Pl=)l`BF;dD z90MYWRXUq5KJi-oXXkQ!LuSqQh#f=F2~|EZ!oeH8+2zcXHq#KmECcC)6eRk+_;Uk2 z*n0I70tQjctc)cARP4jSi_oc2;1^<@~s)8#7}>D&_Ck zaezvHluI0ahVr{+Hat;zqg|nDn4jR35=JCqGN|iIBN-K*05WYJ1C{CbFZfLFNdBrf z28C4#TPSa!@Jrwis5O&&HSBOj$}yrDMc~mrGkJUECP2^*nb>vX#31UpAZc}XLP8e8 z_=}z!kR5$%$@v39Y7K|u{(zZ|#ExCP@WjaW+dh&KJ#fNwp{9mp994eea}xLV8;y2@ z93HRJV|FP3Y&m71|Ly+()HETrrXxguLNGwhCWyIi%qJSJZx};8ucTRO)C^g%>(JN9 zm7MVOc>d+jWT6CpCJX$?)}MDxhT}^;Wjds`*_Jq}Rgati%?LO=y!!)!|CEP-H_M2N zgVf)Z15pvcLPtkbCgc98{=dJkw1ALs+MZ>`QK>2e3THeT{HMPJeUrhjaA_uySZdz= z9R~SlBMflER-2?}SLgmEF8|Me7RCGLZS($2M)`}T#s3V#{FLv3Rh0f#rLO#U%l^+N z@x6KnJa)A{qWxDn^}hfz6DCk;8D)p|X8&b7;GYgmE(Y*eE{5sOUlw%#bhV;_5#_Vq zW9xwM;{OVw|K}$m^ZfIeCkOMJe``Ucg@MLJ^4^!K!hh>)+ZO^J+wV?p{O6PY<*!EX zp_K~`_pgD+?rlvz{aXu? z`~x^MOcT9d6#nv%{qwa=2K_l|LCg;S-cb|&b7q1+;e|^6U2OQzo%P>G?f+b^|2}H} z8Y}+$sQnA78Tjv`_AkNxzq8uEEXe;SS#2Plcb?&|!2t&+BA}8`1jru>EwELhVSj`~ z-H-$@pl1xUW(NlC{J2qo*dap}+SC~t4fodxmfr>Nzod^%)Fq__%tx-!k^sWN_zX== zDovBsBeMSh2`<7r^0_1@kycIfVrz`pLNQDX`a=}*9{>Ocg8xg{aBG8=bana7^|}m_ z!*w^@tVctRIzlzjl6&_##TY@yJ1xxgPl;KzuzgOUGLMf?}y`@g_LS!lpp z^9eUsI-1>v#LV7}hg!F^5cJ>>50KDpJX6lRx61b0L)4~e6C?K%K-Cj<_Xn6=>M$oH z{T+NEBSzweY!E^XMN5*q>wA?KB{KW2BgyCQd$V02$AtZw_tf5=uiQ_Jd#|pS!#|zih z#*0qzCQj5@IJ|(JaZr58q4~5Z;-YHp|Z*=pW^pTo;#v9le>o zvL6}DLKM$_TR;72g8G-A(q?$wm4Vc2l^?)>DB)gbek#z{FhkMDWv6%UpUUtzwO)A` z>d~s0By}F9+H0@AQodTX&A{tClR6qERgG&OCPdgf!H%JUG$HG_DRX7!X18XSeS3nZ z0p{7$w$C=vH1RYGo?PN&y3o|lYAw`^ynlPXej34!bhLApSv*`_sN{E?F`#0dU^Yh|6g7J{($`94kdBm7{a?&BJImCJX8HnC~gBD#NG2=DW0j{!p8e`uC#Bh z)6o(I2Jg+!Qq|dyEfM0G*BY>+V4q~$^UA+D2 zUjMh}l?IcS@%WPMG6-+|5KiCAm0KM}Y7U6$65O~GwLE73XumroVvH;m7$JA><;4B(eh_)NVl%GUc#9pMSIuABVq%jpakx)#4Jdo>`Q+(#qbtfKNCDi zsFpXUk%-e?xJ@nLWBuvxB3wLC?%P~$-W?KZ>i|U)m!~ug=}9*f3(UM}dt!ii zm^^jT)n9Ye|JJ5FB)GNb{+;uqrW_gwga_ zuteTYpx=oL1=MV?6^0j{_lLw&v#Bx)!lY6PBjOdN{$MnvYg%N?RcVA2$NK#IU~^|R z#?4tEL+fdIUr{5&(%Ncu=BQXPW;T0DUANT-5;N;0k&kEx+GH~pb6ORbV^*|@j?KSM z@gu^JlgCh^k?HX)t5NsstHLYOtawUia8 zVe6#I-%YOR_CwT@Il}=b24-bAM3V7T)=xmjG+Qo*Nua*JIl%s=BRV6EaRY-x6SrG^^VmL5xBr zg&v6&7!3GtWZDOw_s5Wm0waE3enKr~izq&_Tdlmc9XZ+>NuJ{H1eeX&lZj?Q4`&l` zeN+DsI*>uDws;04=IN$=GGAdVpw549#zgnG>mS0O7lLa9@RP@!W%4k0tR-r759OPB zd7$&jL&NQ}Xrs{AyS2PR<};;~THxcTH@fcq@V!iUXa_SfA-F?Q=}V198*)=d+XrBuj-Qu{X-l? zwKi=6t({S=$9M|umuh3lI||Z?3cn!)DK}t#Q7R~n+1tQ}74@f3)oWy8Ol;FvSU>oI zHVx*hbB4c5ARXR`{55@OTgMQ-s#oc*>u9czo$j!bn7YaL!=TP_@!e1^^IaS75oXIV#NmaVRfuGxj9QU=%x*YCf%rJ<{^5p@SBZ))*l|8B?mz{=7<15?C_3k53R-S5VH zz~^(E2fz4S`)~f?ZD-h5YrKr560si10Kf}=E}%leoR8277U!)O@=CjF<{=rZ(m$`x zBm;=YS}&W{2fK@E{8=&B5KQojYx{HS{p`by_~z81CVRsBMw_e63qY=HCK9}>>n6l| ze`MjlbZC3ogGCNdI0pPt741&~Kz1>EDpm{E$=Vo6pq6qQ0b>3m7j1yrut~TT$+thj z4hRt0!Av}Vzd>Kx5{G4kPI0M-`2m{y!yH)5l4oN&E+Trk+PP6gFw4RWrF9(SZGEH6tAa2`R&M0`IDVZye1;Q4} zP(a@2PkX;*cSf`dBZYzu2F@PxG&ZO5^gE$10M4@d+g%1FHD|l0)}gh0Mg31_Yb^qH zgX|lj`9GW;54zZib|dVw?jI^&cg$$r4lXid+7+Z%C26i)k?m57QrQ4iLQpVMxFhra z;0chHNHsF$887P*LT@M+tLq|fjlWszC&m*00Hs+d&yvLmhs_d)?cV{gy3;VGQrZCk zEz4YCrVUHLS%y>@kYuP~ZLq0waj;KXtfF+wyD0!yI6WrASyDjLF$ZZD)MT;x z>Ytt;hl>1$<|{<4LWiD|<`Cl#57|$%Y{(Y1$&urVZ7K(Q_r)w4D4xu`)x8_;`YbH* zsq{P`-A1l2oAl6e)Nfe}X|2XA4Z1rgY7RvvRqxV(gaY;aJE%((;3=Sb0=9o^1?I<~LR6KTnFPKha3jH&Fm2Hs&rGzifX$Iw{}y{3!9b8~DL z=1O1e%SRG{tN7Ns<+1N1@zJWN%YEdCy;M&Oe$}=PKve@S^HwV@uDLd+BusnvZ421} zJefoT82!5L&k6*LkE;9bBF+R(muMI5AN#~h@MNG%O^t>VM#E|5XC^7SgU}U+$isVh z=&=jSt4A0w%HPGvZJ$cwNpSX;YA7vP<5x5{4t3L3b_x91nzo9c?(F7x$hW#9c_)_g zpSTqyN%c|(e3sh1+qLI+-`*LHX>aC%#n4}fE63An$txXpKh3v!293QUg&*}_PqkY` zD#zHG-_?yuMZkzF9TO5EMZ65c7_@1*t4H^}>X*CKy}xN>k`5bj*jvl;Pnds(@wKow zPOs6IklW#UdvfsnaH^o?ZTF%iYYlB#A$xK-Tr;c<3pmRcFY28h`HeW@fvi|yZ%e}i z6?f1bRtF|7W)}@%WH-*%$)O&qP9D`30VsE~z7ZR)#pZs z9|_w6t3KW$JZY10%DUgrr7Rm1kE?b01Qf2GS$-3I@X#OKo=g_sbc+}RYJA^s6!N8C z4G4a>N2+r9#Q&hv0v}eDB5w~%&I2nOVX-}yCS~1j?DJTXfHn_ISE-6pY34=|e?0vC z>B=1rhoJI1qL;eURz~|vG!dt4l^xpmzJfXI$I7??^lKj862$~6-Il_w!L&tKq~D)3 zZVE~@TU8&n2V=FyEa#PJKB`n2FhqN97jJEzl`52l@R$&B%JHaJH{^r09aQAzo2-J4 zmce>-*fC0gWx;!nosaA{?UH9w;T?X_w3YSIQrklRe5EwX4ISEt2z@WR)KjHQB7-p$ zxnkh*$y^EYB4z49*mX94L>8-s-#beuKkEfB(yC6|=;>P@i_tHaYUCu2H4Em?Y%?b; zXKRBWxeW7fY?e6GmFUQzoyE!0{scZ|TN5#866ol3^7OTj(+4du<+)C35MSG(cm)@bGE;J(XFiS<8!QzMN?-WO z#tjlM3a#{jPoV0gk0DZ4ed+hQO-8%fEoPm(4>O73^X5%%w+(*GO!)9;#+GL#)0*z^ zhKr%7;9C)v?r8%ALJb#QclZ)BxBARLR(6s`kNSHT9Vr*iH&!>R3u8f$mCRtP4e(yR z*-bZeY8=&vmPutvKw9;rBV@CT!W;GH6F*+6lPW{1(@nh4N2EooXur>velZSIjVe;l z@_^64toi7x4_%tmDZM8Iy)QzRvMcTuPf>Tb)@YjU%MlqC6Hds!VE>_FEJ=aFpbe-| zk^?$|C%t;RP>z>?n;sme0Uov|Mp$qIq|r2;KLwVvX>`9O2Iy#S=>7AN_Vd8QT0uVE z?`+&WwT*f&Sd;9`|Ewa2c_waeI3?PV=3bHM1CkLDRJ|ube>x{1N_k{QnpQ)`Qh#p* zNV?v3M8*~%dwJRK2M|-3%6f-ld#z)yBhV81TQ`5Cq6Rf%MJh_l`(2UwzJ`5{MaK0m z*EF`X#S0d(>*6R@Edt&4(f~$$arIVXA*@`R(fldc`ouC0JtO~HR}27ACDU&&L>UZY z?Z3S4n2ZN*9^hs~?pFL+3!G!w1*u_dKrf6aFuyKPl$f8`qJ@E3n@+EG4Pb=q6Xr=hfrJ)dc{qN$_O>I5hs=aju#@ z%e7{)`unj!1t|qwd2;0@owY$EZ~3fp4*2(!vy8;d5eafhC4P!+b%z`<#eo#w7c&v5 z?sx;&MSM(Uw@Jtr2@waZm2))v2edJ^BJKInNw{;REuYDQre_gn^{NeK>W0f_Bm9UI z4rw=n5ct!%U8QYTkNd(?jr>#0-1&97H+n-P=IxDz%HIXR+RCca(uAh?Zk4mvnH+0s z6wD6NXyw<+cE|OyEA=}(+#FZiZ_^BxlL*fgs|KstY&` zwk=Ym@SI}y=&t&nESco**Kpkz8DA7zn0R-&t#V!D2RO2>vfH@a&xkGAT<+5UIt*o1 zFiDglW(>|OxA|SEpv8Hom1eQ8n5XC{BR>b&x0hd*YZoa_LmbREM6|@vD#DtA(5B?I zmQYION@uK47w~H3lF}02R$YG>c?zk=otr7svnE+HTDblxs|83e>(kgA$J`^E%{s%c zkAGS71L-u&+pYgjN+!)VTjbk@_H2>6%VE9M!80}4wsNydp?+tki$1(ll>CwO2W=^B z6mhD+VDk!T_jEd~o62$6spp1qXeC`|LaRpUwh3;rr7PxQ8M|Tqa*T9$QCpHgOkERM zv?}y>WA4XIj(-#lgJsgMHwbh^c}l)uI?#V1HY9&gNv<}QYCAn2>Ai&hazX(fF)zy4#mV1M8n(kff+zv>s z#1$1qR-efyrNeXc%Tpg16~>oFi*0-%T(#>G2Rfv~MenV^7;no-gSeWkpWL3Lg$RF8 zsLN!qX_oI#$b}Zr{mz>$(XF>^+>$p*Dk`hpde5Ng zLS31VV)r3A!MsRTuv$?Y^nJatGGCVVJQJfQ%GC~m72zAXG)Won9<8>oH-IzQt=HY0 z9wF?hX#g_r(Ccx~>_r*&*JPrS@Cn6nm$LCf$KhJQvD0Q=27(8%Yg zhcO=q-CU5xscMV)T)A;ZsCBZUd&QldFsFepnw68tHEKbCX(Ge&hqG16D5X|C-Njv| zeJ`_*faEClG0zJDok;mqxR;_xkn`zN?82@?_KzI^rF`0RiP%!y45X06i48eOl>?+) zSn=Fb?|gs2J~JcZ;-6VB*L%K>;<_f(YFE>B(;c&3>^l*&f8?->3G-Sruz;TZPM^(d z?acMUP2klpzZ$7UsoiiK!uJvI680uW1p4MIO)101j*>OV?R0@klo*vD(rDGsBWCWY(D5BYD3B0*Xb}uwYj=@7_ zT5CzNc6!osu|RmSr8K_K$?b5|^!&61AMZ@nIXp*TnpTE^(a_e8+IUTQ+*WJh3^;0O z@Yj}9G>)CD+C5m=TeY{jy{us7Y&~J{PM*MBdZEaBFkspq%k!4*9>tRY7Q|6n@KTt0 zup9AOHqAP11dz0wXNP$~*Nr06tyTyh>IU~lTXUY;_(>c6_TE5ScKK)xVDs4Xk-8}R z>d-x2JAZ>xQ=VSeeUr|0y*JT+2!JY9jh=h2%~nc_M)Bxb%Eqm2y4%hdr0i#t%Z}_e zT`u-bw*grEtC{NI>~oMAI1#rYyurIxX1wQgwytK0*Yd}yl%EzUDUm}vYMb#7ogDmg z(h{+0OCIr&~@WWOi5*y4j@-&ICl zLjiWJ)uNNx(h(|g&7bRc&Jj-G^Dgdo^@gmvPo|$M+8zac0#c^yr_w&POxN$Xk3aW< zb>HVm#Cj)q&FNNL3OBPI)oaxedRI*&5pssXkUsy~X}O#IERZ#J_**v+tyKlkS(--v zxq2m~PP~2=J0uMlM=nIzI<7k1Uv^$`lhLdfw_csfZe==l1>#2X?Grd35lRac2dr?6 zv9;3)WBjXw5IUk?@l$L?s(j(@52RR3tB}FPW!}euO~2h@+VQ7Tkxq=s`%=}5`x5%b zAh_%8^N$(8;6DlBS|qW$Z&axsrp}ez;%8!!=<(H#_gc7EF;|MY-(z zg`0ub89*Bv1r z>JV@^-re2C#$AI(8M*sU8xO|{M@PM%t~na-X0y2N9maX7cO4N=$o0NSyb*B6&|q+O zikd8N&v0ApoaX)5$9?;wtYpPW`_0-dDZKhyHtQ^i`5c!_+x-T%yGxED8HpFflS$$l zu4OXslEU2e`{GPfMpisWtKEo~`Gee#U0$i3Cq|`j>l)!e6>-_A453x{sM`ft~Xn}8C-zQj%J%8UEk;uLtrMWkg`2xy0Vz~FsM zvThE~E|GXMUW*{MT7iocrdPYDe&Ck9;F~8YpdWUResLLB1l23@^5yCY0t_YZEw*jK z-T(ge4qRx1F$ep-dkn(&NQJ?DRe0>2`s#ShtR%x!oY0DEYZGJj+OsWBjgKy&UjL~1 zwB&iT1nL@bS5cQ*a8pa*ux6~sdK#-dz0tGWrET43S81G^_Hu^~k?PG#-eSh0Z2Rff zP(1fOC7I7caNTNfeO9;Yn}e;uWv5V}KoV{@ZCW+6ec^dr!+(khf?9r~=OvQvcHijp zJ~J%mloa!fO74jc85S_m zSqcG5z?_qM+$uaQ_up=6E%G=ozuPNFbvg=5pxZiT*JBmpannjeO}+j3$HVfs{p?2jhcst|TDceZ6SMtaZE1A6rH}=L1HwBUNZ7Ca zwdDK7Q|~>~I0EK|gCW}K)`UlyQ4>)Fpkw8o{))15L#@Q54m%Jo4)ErbJ^7r@5b#Cd zSqWB=J)Q$QM4CeauVtaT>Q9y6IZ@2~Tv$`qAO^45o@(}@pc$(CubqME24dB!N zgo!~c#n+iRzQ>3GM~y;ughJo;Uadqx{OivLBo?FahLfBZBG#2>t&h4Lj^7?-dPqOY z&d!Z_O0f4=1~7^0<&{E>I#o0n`(Z(OdHp4xm+m|kV^LmUC6GU2gR<_-WEWh zR^ksd-A-D&v6ZoxueO!+_$P8zJYF249tH@YqGGui_l;=G4(l{?B{<#3gvRhazwadV z{%JII&DHi~-Ew`fhbr8s`O)&rJE9~7m+o+Xk9g|Wa8}p2tq;iXt>GOs3e49ESkO*M zRqG$+WpA%;#Y8-&zb<^xm|!SdEXhfK7^EWvQ4rWIV%_#?mQQnwMahZQQV-0@wV*zB zHF)8-H10GJ9=)n_N3}+EGJNg41YUK;2v~~DNA)szU$^@5oO-c@k=*D&mifeeLOT4k z{()d3`3D;(R*-mrdbLr}l_J!9maUWXPb@UT%A#5bfNYce3JDbh5#a1xEbqOKCd74tG z7pN*OdJEp4)bxDjSlh9Q`?fwOfTl_iynSc95x79Pp&Oc~?R6|z$kavZcv?MNaYY>0 zY1d+kO5oO9j}zdjhNXj{sO1z#fq5L@E<4d+P}M7*y@(uZ&Ha?>QeHI3SGPFLdnt3D z;dK-6cBGZ>>uaJ@Ir%Rhd(r*U^36Py)Z>h&%*c2|O-`qI4>n$>UNt69l%^T(>EGQd z>XTiFs%Ec+YhmQK_8favfVMBy`*gx(H(gBIk!?d+7|&9RislK37IK@T_EKZ&Gv$}A zhvm@ydAZBs)wt2--iHl3p}>9T@w%a|2(`7j-GgUMi3NAiQrqx^*0^*F5bdO&_f4NZ z9joN?FSsQ3LCUOo-0s@sdS*_)wat~j9Mb3YI0^mw%z47svb&jPb2bWwr&da0dXIV_ z;={2|o@RaEbw#5@#$7(_$c_qZVK1Z~B%`t*D{b?GIBFr#6DBtMBpVRd=8wN(KgLl< z(ccR!t2DpLL*nzTKH8R)_*K#V-R3ioyH3%)bL>;LCLa*ho^?99Lf3vAKC7CgS{PEc zHqNg%{*dt4NzHa2X&|rj1dwv9SfSO(I6=X(uRYuX9;9_>bleIhQ~zX+H~H**$-Gk(!IeS4i0Kl9H0n*oGj`F`jT z4h06DI#WWg-HV4u$t!ts#Ovz3;HuxZXexjB<3Y|yyxLVrQa+MTXBX{sN7?>weTE}H z*VOZ8!t9yFpD<4J3aCy|7g9%(xcu(l3I6N|Z{N{~|bn|>W6ypPqQ0a{4 zl9rcsF)phSbvlJ?7jX;B+Xk3U%S)+gghTV8Y4QZ(4rw30ospS-(J&$k(|U7)$}MQF zpZK-x(1$Qdp1#KNQ7`VK9{5i3OFfs?8Qv$QnxnR{bnXohAy%cti^ zhjl%!&Oa7=WE|)>pf5K&DdbPl{Qe5$m#VaLD7fzy6^)t)RM^%Gb|DzBkyIrgT#8(t z0}{7dF1fw~mB`_rs+=^=tX65gImP#ij0kG)C-J2EdQ;4aNDCV^?0)_08p_dO;YzR65o3BE zK_%$<6RZ2Q90NXTXX!_E@1i`Dyp7%w&>QI9h!wT#8ij|O{jx)z1eRn@i~8!{7lAv- zB5#tO`&x{*&5+kZ;m%CbF@&NHa}>(m?gc^xyh-D_OrSSSCvE=dMDH1ym zvYohJ-Q-<^<9r!S3i&(&C&X0TYCpWQ8&RiSAb?dsJnh= zTzb+_b27nZm>=pIk+a;QJlfYC);^jFE^K0w0q=_wO5&b|(^=x$NPBrL`kA{DOqsrQ z>bEUvx!LbO)jH%+DN#lWd0X^^9ug%P>2ebJwOUd+m53hUicV(rwQA3&##_N6;1Xip zlRa8vtBskt)#(C<;iyI9lT+p+RwT!WJe788;B%i;xGie*bTTjCez(g==S)CYJ1olOc<}Y7+ia>?|1bLH7Bx9mp(Yyoa&3^Nd!KDa$Iho5s&2DCi zBwV!GB|#+OCvzsB+m*5MUhELUe3Qx7MP_M+>YLBBB3Fz;5z|E*A!0_t|YRSX2q{N z8Offe#+AO2&Oec?$-wwa&0*kMwi-llEIIA&ZPV|L>SdM*bRmo#w2^#y|Kee!OeX{5Cqb-nyo$;>ID{gD~wg#9fUS*RtO7> z`-srx{s`z%Tn9RctA)=6AlnqLS>QSd`T@zXh}`F}I(G2NhVG;FBcv(A#}@zgai>IX z##3`e7^OM9E*xmy2||52j{Hvdc5PPSt<$9hxBk$pZ zY|LJB>luWD0TccERAii_GdisC74;A4O@!3#F6qqH3!(zh37TiT;t(s`0WI41hA;yy|jTcsa-iWL4fy}W(yjgr)%!vBMa z%g~%+-g}((iRB^r#(<1rye!aPp#olKG%jYM3e=oi$d7DMB=@%=`Le0I(tKLg{&M$` z>fR9sexBhp%yXPXulif^b^qPVb3c*$2*$R@^EF()Wux3{s8|L&{ z*A|5I=PM;p2w%3<^uYaLhLDqGsNG#O2LSz9dDzPPD^V6NqZ7CVq2=K4m+}!2kG0E_ z3UN+@27L^FE6`uEout}CqH&b7R2)~y@x8oXQ*THETq=IM=r_BZ$7HTaD)a@O&(3>3 zKoA%h9YrP8;<;Hkw0UdOEJDnF4G$@ZR^NQ*Rrntem=i3o#p+|A!E^SDT%gl7 zlA3v!D=d-uM8u)Y?zudP<9H$C)a|govkc}(MVt$C*BUR=esQw@jXL-7w>gql%M|mz zFqtWixOhVMC9BlcDfT{hY0;#-cRtbLd{{j0Z5zm#OAMi?wwC&naR@U6-YTP zlYk4P2v1ooDx^REU}K3ZB#^F`mgBv)}| zLU%v3C~x5X8uEgj zl3Kmh;tmNHoBo>24Stu)=KIP<%CFvGJ(oXiAKrg8ZS}kP9S13HoBQ2O$d-TAJmGvD zQeAFLkU3&a+CezG90`8e0wO7%y9jmA?@PPIW0!Qj_4K;)6^rvYlwA^;hwYolUm2=3 zl`xe>$>;SeS)UpldCCr;kbRuSrg>_;y<&dcbkXa~orZ%~sQXBVR|yUzGW}A>2x8#bo}L%f)HMN`I)neio(U62-2u#+rI8@Udhw9eQ+0TVfJPqS(BFnhvQN&-RdXRK>F`Sa8` z_Zwwc?(Sb040Eu@X_#O+0;zT-w5G*x(QPS!*mzc}WjFKG^g>jlbyeZadMg2A*Qh6z z_kivmPPcJCVbPMLFsJ5HR0HdgvVS>9zAiXrcQFm}e_sw;`p_XnteG zske-;p?(o;;8qfrdo|B}OaQvY zkdf9nwAwX_+Lc=#ayS1ZGO zMp(@vIi9;hBglwHSJlI5vlv4+93K2^nH~l`-DbQ=YxKG^y3*US>yh&1FUx|Z7Uo7j z4eM8KlaDVrI*qZV$(EdV5XG?tLtE zUgnKJ^zrSh#+-|*KMys2NOK4$b^RKa2DP8hde(OccUU2$FE|?yj291YM)Fv;1}?iM zmOGm`p_yRn2a0p}?l6PWT;OUL4KTY9Sw@7AOdz*q^IT$dN`3?iQDcd^M-~ceVF{yf zhs{FrVsoVuji0n;EZ>p;aZ9pWu&OIoft^EvJjO=yeR(nrH^n})GrHnAQp$ZrKf(ru z@MulS^6dPu)uLu&3}=OMjd)IUy_MFXe$qSGQFrptnNqx|e0@(_M3c)Ru~ek& zIWLyaU*ClHOvySQdlX6Z&3Uv~L_7mU#bTwI!pErF-Hd`-p|8O0jKijv-(ij~YUKC~ zo_2`9?_nc>t4R)$k8BNh@J3jg{kD0->d;1-dc&N_2_|%tTe_{LnzRXK^1pxHohEwF z9@S^N$gajx`fWODFoMdZry=0C_CF|l&!{HbXj@c35s{*zA|Qf=CQ_vL-n)X*oAllZ z5C|el5do3jdsBLc5Q?aDLJu{O8X%BJ4J4HF`t7^-y=R{@&Ufw~1_Q>($ossj%r&32 z=6aA>@=UF`_`P!{U4nxYUbX0yZjrrrfMgJm&W>)PuUGI{9|Cp{iBy`J%1$mht^$0L z8~5OPd{x%!PkW&G=dw1dZPbc+^B18`h`N#mW`BadZR2?U)s z4LPfZnZQ3Et^1^B@HpF^zZ=DIvr{!0rF6F!b~)$FhYBwN_!53p8Jo=L^K4S&F{Z87 zAi55A@ZG0l`r7Wu2auaA30?gU7Oaoa<2_0wN6u^1b^gRzU7Z66V?`LlE|}fidsq1= z-Thf?`k&~Tk|QRX4)HXJ51?`qQ8Ri2s&-we{En-?iFA;(R<|b!XF5i4e@uM8gLS|T z>J>43?W`M;l*m{>PN&ZVZH_ul=Rp>a^8FcbJRFkGe&6+!e#`lZdbJ2I@?5QDKMGA) zVg7z#=h?Y@vYj0mj~09OwEHW?<-zbaO@lVKfx)f0+r0OKQM61!-_BmIfp~-I)ksfE=>ra|&$qMtL{UyxHBkSpj;a5N;RZtp&%+*C2g6Lqqp zz{A70Q5A5B`ecl<=zq3q$|YT{Q(=hfekm{KRKK-GapNZyxeA^6a9v$@4b=w}D+TFo z9up-bWdGIKi$&(itmi%@bh5taKIVqVlVI8I>o$KWca8o99`vF@8{=5gG!8 zGwGY?x1Vn8?~(@sF~F~H@0H|0`?H&Ch>1Q#liL>k7*C!XqWA)i8FKz1%U%;x~ zz;#a#v{xov83ERKM!LOx`Sa4m=Rbl1KI^V4R4%}3Mt+kz-}2b-wV+RO>Og;z&R+#P+7Ee3viP4ydta_ceTgDIW|fEQJeprEDr#7HE8hmF zL(Gn=&WCo@FGiW-(A;Y(6TD`n$=)_>gKAS#Ppa%o#T{SG5d= zv``LjGz0bWjb>`7{vQ&A$Di@{G4@Oz7yThA!TUQP663G4wf?QNX;4*^jL9|p=|_>+ z1`2wQ*1HlodF{zwzs@kVr1@v{SDNQNw7vzs4K7GfYN8)orPoX|n*V4-6y3F$FdBJ| z6g$LB9cq7PUNvnDYV^2Q%|U*57%WPtPBr&Re)*a>3*q<^5$`VxxTq6xx9XF~yzU>1 zP4h{fOE>Rx1plLUdei;g8b$mi#{9LU^*e)E2-F!Qn(h7q8^z)$e)-;p4}Wq+JvyW-Dsr7g zk){jaX>vUpPGf6hR@o(}oItWsE)JpDeQO{)L)H#AN1mfm*I=$>Q0d~P7+hRqIMTap6x` z-`|`0ah3Hkgk`_BLu|SxH-FkNThJpXBcW42)b_ccqSk_v+r`{x?^viWhC#qsG}O*p zL@mr3xPUxlOlfhq&$CN2xhj^?W>TzC{Q2Zf)5GIO+WQJS)Mh2VPSvT4pk!J8sCU92 z&VESCQZ-~DYQt$>m+H7}<~`#J1_ggUecq@e4bi**UG)ytoYn99^)>(no|74Y$Obs@ zW~uxmYxOsT1Ix>l#*T`f@xa^}d^$#NSK$Q8QtdFLReNe`pLrw?_wuOT44nGTPz@t$^SwwYNJG{Ajv zBA3P(l^d>ZZO{%eVqRz7c(X*C62uGXwK}|psjzAKJ-IpIcB62Jd@bUU^2d$%86#A{ z_-gLYp_1(KIcEw$*;Jg8nmxfNm(D!t1FO+Qw|G8GINaMYa#%1w@@0(=&+B~4K>VNi zwevCBt!>%!Rl#oBkn2WT;a8}sZnd5n>W_HN2M~1~!}&TkNKed+B^6l|(|;jehkr)v z%Iek{gE|gwVMOALaxK{*CTvgN5jQ7kw@=5sGT0JpY`#%;Tbj{J@R1dCuYHPzZU;Gy^QLUuts`WV28PK?Icd@ zR7a90IQ!dc9=jtc_Uo@Wan*h9!Wy5G|jVUym~@Hik> zG4$rGO&FWO;wn@w7)QzoiRx5ZK&d#fgm{AAC5uFVQom|y zL>u#3fy<~DTphU2XVIR9h#~&h4AF~Q6!#x~5*QDaz9$ofgrFBY_>OmLX1|RKFFP+W zb*h=}D@4XiACKPB;K#56Tv|v!{(7qLNBWl@?Nct(M%7!eVgt!MnOMp@fOt<6 z+oeL!mnB*sldn>q ztW|=3nW)@LdO*ZpB}9@G<}142#0LZ5Sn$Xz%_aE-zD75JwB3quP@HO+9Qhzns!JBh z++e6ueq})AGtl|w{6Vm zDMk#bGW(Fkb07~3`2fn0ixXq(XA@8uC8u0ec7wYr(A{;-tF3(RSBOnfMbJnD-6Y9l z?EcuXU4+|T$3&<1iHMuYjNR|4SZBJrc&mO-sZ1)*^%5Xht;x7n%fimiS2=cc{OKtt zn_T{~>Kg60n`tjT?a8&@?OzVj@pTQYTF58N+-PV9CV+NoZg#T$_@l*X(ooiZI^aTz zd2@r)&WfK#mecHLXTlWQ65=@O?aywGn>GtQR-HczBI*YC%jJ{4lYdn>B(9Tu?M;%* z!N_iBK(3{`NwjaNU#maZ-cz;5tdg6>^P|%XT2cXudYdiHM+8sny66B-p1HrtHoB$c zrmk2wNu9lV1quAufW&WfZZIpnOy=I4-eX7FKj7cpstwBspu^_#Q%zxp7l?YbyZXT= z2xAC5NP?zX_z_qQhG&RQ`qlY0cZ-7~NS2!H6)rwRGbfl}e6}rw=J!C73JZpYo#H;E zHoj_&d~l!HTcsm9an22B##)fEil#uRwXgNNo{iLvh(5rzTA|L!o88TAW0E(gex;+Y z58NBBzq!15fW}iSWs0+K^6a`=8iIhI{fzZkwi*PHq^i7GjBe?y zw~P1gd-z@OCvHef`g`qUlR0Fw6|yViu+VU8DGqO;sl<>*{$ChYAdC|%`eW_ZJ>UHs zXS)oL;~R5@ru5R_w$CP|QlaO;LF8rt)BcIT_N&OeMoxYuY07#!q#;a-roFw|q|p-X zA`<|9w_zUqyX(_6wI@GGnK=hKfgUfBC-#+!PLGmWFrJZ=iH@OWERXL+Q5$v$yC5?1 zNc9QPH_Q@s=>3|)AJ!~~$=g;WL`v}=r;B=6Z2B%0NB51CSZ`gCvIsf3V)sjMO)-VK z=)Nj2b)G8U?bRt9T&uD{rz^dplJLR?*jCLF!r2A)aDaWK&95i{SXd+Ou(dCffU+1D zewas;mQr#B4G7JW{=5NVy?N42xI8U<-%~L(Y*WsNwwubzC@<`H&(9i3?5(u=jtU3R zPGqOi%Isw+8lTEPBu^e=t#!TL`CEclDlgf6RO3JK(h z2ZInRJu1YHXZSFm$di}VPug_u6;mX_G1VQ8S@Nd(onCobo41Skw=DzYIV$x?@PGR^ z3=i70_^995H-RhNYz@F4_T*11h+VSM1IY<)lq1g{aOttmexV$HYrNxG*IjF|D#OzA zv%k*Yu)%)Hnt&=3eFr7J6VSk%?hb`sLyQ%B^awwm*fma0aJ6mQ7C%O6d zgN)r@G!HR|DKeQqf*+l$)cxKA?bYvgRx+K5a+H5+yt!{M}n+NsL=Z4&_`ILYDo<#1L0~-S z>}AJA>JKFmN*hejLCEWhdq{~ZGew3>4mo_l==eFsG68Vo&b)nOt%bJAH4e;$#tS_z zBhC|ItV=EH_)86Jqt`wFj8Ac-yt;_&C?b<4YyM)7=+((EJ(QJUnaK0TTe^#}NrsPd z1QYhuhIa#SjgzZCYyK-yE&+QE9!cfq72f;Nqb2iLKa?<*@lF&nbNAIcW#JU1=e@{)PA?al}ZHa|J zRo3k>U%Rr?d@bv7bq$Rs&pn`m)QCLVQK)iq8aK(`Qsn$Vi7-)GlKZp9a z8dwDE-f^>kAlQr^%67pmY4UcAru>8_lu5iO^ZfYeo($s;lg|9EEBZZY43S|PoCf#S zZg5sMI57vHid4ZLiYXPYRX8522PI*Y9Q98}q#0%R!){qCQY)qTrj(=eZsO0MLpB@z zl27@Gzu?cFYLRB5OHHek7Fpags)$NXiPp)zeZS?&R!ihXGt8lW4!p*2&ihzz4Lw^) z-;KPu5B}W;!AGcj|EUFl`BTeCwxB2QE@%H62%Tt2clqvUy^+^;EBqt;D`#e$7AZ1}XshejUQkqtal!9M+ zLnJM7C*aOP9^?VN?*v4V-(GT;mt%Gt$T$sG ze#JJB3Jp-L39s(l(L$#2FR4~HBYVGm4Cu%UiF_w?d+79b5@>s&oM-%m?Mphr30Rvo zuBl@^%f)GERX)?38!-2DXT`kDJ$nvPn(hwy8B-h_{#{sFkw=-X(zXeL{;u4Aw?ZKs zb<6KuT@-j(;pm+m4&29528?o zDL!$6(Vb+~M*muh!dt{Vc2W5+*^@sv)GD+!b(c9-cZ2N~({=M=~8ZMDY}Q(a1&z{q)ZR~;~1McI`M#8B>^?+^`$K<4>Dunnpq(u2Vp zx;<0dgC&Z0oUfb8dhCcozT=OKDosj_fysMz=aj0OHt!aIl6c5o2pt(l@>tA+DuqZr zEq~2+H40q8MjyN_v;?^5-r>AGK=~T7uUx&(RzkzU_UZs=pPBJ=qm7HaHS}6d<7*kM zjUJq8p!?~E1YmMRBU8j-bFo}wiBzzIm0ujEQ82d|!>7ft@vb$ne&OnErqkPX;{`fa z{8c}9o0xZAirEQKc^AY*zEs%&*q~qUF;SlDE5C|0#D7Q*BFtQr)O^9OxVY3)$?#tg zTHj>y&ez4@CIG!vFt~=l-(M#3QyT8L0QD#51-%z5;{&>;^9#ePYwK3DY46H)Fy)RP zwZTtf_Ou@%>!L*2R+E{wlMx65iVEbK&&v+HK(R9HpSnM2YqBGou0 zemq4tNvf(UL!HTO;j-0=a7l3V4N*$~|`)d9zg=c5dY2pe(IH_y=evXY~wjBy!f&&KM z;`wF8Z_dRuICH<*LHz)0pNaLZpz%ZT956L6>scB%ItUWP{S0(9Mz|R%HN!3#dQOU= zK}VHV^-j>_X*uF!&A^Lq--1VvWeLZL@4z#<{ONhSUfha$11)}i{9%m>hWsbXZA|2I zAYS}E;5*9l7?@gBiRVOHbl>8ql@=Qa0oTzpkBXr*?kgUP|Qe^oa%%RBgWPFb`Dsw}G*C1QNAoPc{o2Mqk z1J^^M{p7CQ{$J`w-xRrLC!t~Kdg1sKJ=FJ6_D?=3i$a?K8VaB3*fX|(hAWt(`}MbDN)MwB#U8++-zs*6Q*|6i4xf0iYL@;(e1 zOyY8jUsB95{1di<1*@Ls!iaC<3mnPBP8CQW9w5I7y->RGnfGUefzwBrm3*xzu%by> zPf72^ZTVW_?2B!UL<{90TAqd{mpcMEu=Y4_b>3D@=xL;7%k1Lp?5qQRt3z@{RTD?&4rewMmA@u)%n4d=71~$KUXtd+cHl`Q zi#~*A6BIY|9-`IJRi$&XxKwLtdXM%s5$MPB7SD?i(7a?+Ba^#!n_1_5yCj*D1E2KM zkt8AI^>pl;!;xnkjY8(j_QH( z=3C3<#9N6^WFWbfb@Jf^ta8qF6&fXiYrq?={q&iczkAVc;R(t*B>nmTbRmSDLM&Kl zou*z93~`Q6y6*3xo3niMXQDjZV-!)o2%Y_k%sdLKAmWx?QZIN}CFdy+mrmvGl*A`3SP})Ib?zQHb3+>4kd1l&VHrIr6h41e3wNIw+ z><6S=i|`&-jQ`{vzx4J}wU78o&>D4ChP~NYV#nRB#f7k!Vspu}L^TUo$>llAi@@3( zYx{$d5xM?(@PMD_f-CeMp089ICuY-%AvWQ!a$VGgm1M^(whb|@-YRpo-_KwMSC}eA zQtjyyS~YspbooADPHvW+pYCNW@N468Lv|VQdEw=NbM;0c9 zeMOW(*7->aHoTaF`b^48VO!V_|1V&>-SIk%j=yIe__G>Kx{Ez@zI9gIS0Lo zz?==vHsPNqp-uiiEGCs)TcSsI^TRaI-Xc7#?6}AhB8&Capd~`^-(zeR%!kVN-8P7hfQ9GRE5l38kzHRLFnpM}Y9r*X_|h!ot})k=iW$b!3W5YJwbedU0i#WCb; zJ)MVU@_Zf%rA@PVmj%DsmSd5JfU_}bNfU}w*S6)+w#T!N_+(4%j!g1U<=Hk>sBg_~ z^EoQksil!kDI6u_Wkp2T^;1qTl1Apy8eYyop)x_*JXE}E6M6_;rIxx)#@uM zBail_i*qyKImPG)bD7!o+(ewNx{wIa-I?oR9rTI-8{q`fRW_ zYTd1MBXFc|LW$IC(6^Bj986pLrlBb4Xe`B~j3A0bCc#uoZ;^kW zsN(;U6YXw4fBi6oy`E6tCUqa)Xw_6s62=$zz$G%ltj*V$|C=89KkI$N6gX~}ZybsJ zV6HMPjbkvZYdRy5=Tq6B7l5f1uc%|h@^HErqs(9l$;>v)h@>m-Zcx5)=*%?BZNdT8 z4r}G|a4>~071w#u4O=k?jrxNuH$jO`|Oa&1qw@ncLbE8CXoA_{rTOfLHZt zHV%@Pnqf&^OcvWOy777e}RxvnUl6)k#S|IXr4h|h8WgY8_Yux?GEE(ZWC*&@bI((`C@>3w}_|GI=p%&|i zbkht##@Ug9=9*<^7mQ7i4+?9m+qc|_Sr5rV+RP9vuMQ&Jv_YsqDAaYMRnd0t>cq}T z)uK@-VV2&1+uM}CE0oc9H&y&)l*D$Y@$Vo ze#cOJ(6;)RSBPY0jBM{@wMVaW*1?f2KCm2)5|ol=%o07gKZedM;jR`jFGmGrHwas9 zHxm1jxi1npa)a0pzt@+#V1f9E^?a*kAsb01)bEf&)A{@)8^7HuaBv!XD)XtSvJ)t;sg)fBXh}?5C zZ7S^L-;l@*>pCc9SXKfjjj~it$y zuTmFG#snP+Mv0dk4!dOgAj;1F6r%?l@TK$UtywboP3G5fy)}z=L5-tt1ww}X$1!vk zcVPM=+~q)maNh-E!E(M8zRdLIV0|wAl26cQX`d`y{l7q}+JLTlWj-Mn={fGv!IfVQ z_sZ^6p(7{AaW;@ZZR~h!J(Gdw$sNOathZ#72j4Dnd58FQB0Q;i$G9I1=Jd(|BdyaK zcwqqr-J%5XpIj>k5zC9OTaX+C{LbU*xLn8Pwf6I^QHHSbx94YCtiVQ>jaGV#TRR`V z>i5QZYlRa^=)+?Lc4O7CpC1M#JQ=MK2-~7Q+)r%QLBoD9Q509NoO5O2EYJNS_sp)V zLf-|RwOt^gL+Hj2O`_}}xr{;Q%Kk>;u$~uu8zFY2u0jFR>Zxf+((ELCbl7w?$}7vg z-_Jx=lUAhX-6r!;>Cr|>{Sd|z389@3S)FuI<^*D^cuAYCKI%da8~Xd^@IcKVZ*33z zOf>7o;I_1EpL5+SE!lcU{yIqfIJyIAFbbE#WoC9=gE{7tTpn>rb(ia;Cr?xmM<@m| zk2Y=Mr>|9aJUSz%Y9bcrYLZ>)jtg3qXBv9o7_Bbo zn_5ns>03Z_2DcmKWT6{qe&zv16yKr3k}`b`A4m4&IQExoeQtb^JNszNU|_ay?g7*{ z_dI+Xj4f(r&&2t=xY54#8^T{^E>Qw!`a(*@_CHMozhm-Q@o^A~b!8pR^Vz}OC1fk% z4+pC|y}|nGp4W@jOmgCa2D=Nd7KHm4&{edUYx&7*nu6vQyv5AF90`V1CahIS7++&a}mIS71} zgbpf%R9&fG+@)i0!)=D9<&Cm*T+EgBez)4nqxz3Mx(U2;a>^ocHF2TkV-pz%WF0=% z1LYc_6;n{mIA&{{i+*G5TSn6+*_(pUbM;W$fSsw-3EzpTv00#bs2=oj zgZ>M?q{HLl6oH6A&}Yd`hWhtS1a+@R_p&5N;@aTT#g=gg@XQ0vfSW$0spp&-Q$@0W zBxSWW+eRXHp(;prLv!(G6I%x{i$4$+&t*qTl+>>}=e{nW{~$ym4`rh^{Ay8|VJ3L0 zfhXHCUFUspwqJ4+VaCI_a04s!<8%WWxPNy{a{Zt^VE*84KJX3k#BQQ~TsH5-bq{@H zrhUxj&o&=8!**2x$x~gKqq3|iw5y~pF2xa1<<@om4r99y?u>Spr5h&uUNYGUemU&d zdr*qQ(M-i`?cPxlVy!@vw^{j+#uUwKifbdZryr~<5l?;BUAn%UM-{Bpe~Y#FO`X&b zOK<6$59NenTJIDk_G8eV62o=%e9+Z5bYi>VXI_foRKO8THiN3`$FmSf0fx2t2KSx% znNUtzb0hfWSHg~ZC|K9mYK|~o@<@zdTk}c&e%MugNFQPcV;&gGC^G4q0r=nhbE7{q zg|xHKg@dbXAs#i=bR_OSI{c4c$w-?Vi+a~w8~M|5l;c8L*Z{dmN~|`N5UIDgJrSqFr@v1|O)(|w(Y70L(`h|0)gcLClb36r z-F1a}dfaC?b8?nQsG`50Au5YB{juJ2D3cGD$6ax)Y)7X%6wT(0j9#Zko+0+7N5xTj z@*(>S9BeHHi0kZj`2EDt#gL%GgFwEq72|q)>Wer25@tY%OO7O%U2in+Zij4|e@jGW zv4#wPkPhj%+BUkijd;IXeQY*4*uO8=9Ju>|J_<5DwR%Q%fcskPpL3pysHPV`G`Tr| z&eV%5D1sj#??Tm1p3e&l|=i9^lW;k!?et8KgM^E;qVaySnibH4b%7ws@7v3)Y> z2=A&$f<)fV7}L#?_WhK0s}4hFzW2x?6dUe-AT)`~d`?nQyTff>WN&2NV`fP+JEl_S zA@v;M5hiGB^l#N{8Jw1MPV3&j}+S76`=01kfU8I|E*L{$K?riE^;!)peAc znNMUN=<4R`q&*Ycci5Ngf;*XvwfS)e9?PSw!WWJg(n}uBW_caH>d|7Iz#oB&F3_B% z1EQ8Je8SEKAa=nJszYHN(a*Eu#dhBh1C=m)y7~7*L$m|;4-u}c?;+?>3!MYF>?ZEA zM<&X;UGb+A!GEIs0b?vhv0_Ie8O;`Ai_~QFSJclMUX9+v=Gc$H9elwDiv~nq1OTjw)$U+Kz;QltH6_zs zt$s-Iv4q5c zkDAf5K=!wp*GaLvVg5+lh)wOAaxVqOmZjXe?1k4zFrEjL6^QeO$>sI_Nv z9?H&N=_9fy*E-!dvYpVopC)wu>c%Tg4MlOo?}703vRI?Z@J=cAVK}+OtWbP@7M;`6 z{mgv%$2OKh7D84EaEFT`dO6`TH5|5&Gkd(a9!>}YvP+RC-4LX zV!vlG%96d*GVx3#)&3=49n2lOJ|*`!BrYJaLlq`@q7CLK7et{JPAXnYh3BZXfh2z# zo9kTv!&rSC2GVuWy^Vy2j|}9u>x%h_#fOuZ97q*U1kqPt#Q)I|51GsxD#vv&|EaH) zG5kB3bF!Vdc@(FP3+i62C!BEUWfNvC;65DUil$-{$X-2UrvSK`dad=Y1~lvJ`ugEF zmBX#Q?n%%N^Vg9eq$k78m<6BI)QK$& zMNN7o1Pws4vVS1iw;|>coxP)ym7&4y=V|z097qS}V0h7%jnKQ0v%uj6aCl*JOIg9t zvrgTeebmL7QR$)h$;zkd;h#laBsS-6o+XO^fHKdfYE-F30M^O4&NC{%6%B)LR2Q9=YuC>GADna_k$q)oHENXvzhM3hwKQG)L;-UMErvn+YcP?!V z)3IoQ5ol;yy?Z$M;ST5=G`xF=lhzx2zt>t{)@)7!fld%&f*?M7>wf8p1yYzGjBg6Y zrnPQuTV~6F^rA@m@s`7ioIEcQ-G~l=q?+kf)WgEX}}O znVWFRE0SK*&J-|i?}-c?-2Cu{x@pw=T)neC_OgASc8neH=mmh$*-=)KclK#vi#_M4`-ZV$9# zCKHf0{wRm`YI!80L~g!+!zVKIL@&n$xpSF7RX*SLX2uQ+(mva#)c6lROKt0xQe`(3#x64*c31b{Y)*gnZM}t>k|?XiZd?;)XI-~ zUgWVnc~>dOz2^IDpmM$`U1VEeO>OmmN3I=u0Gd)qKLxZQQO zZ8#2Y+D#SuqS0jPEj@*Ri>7}HZnhplqnbZI#bP>6)XU6n6EsnUUx#5lB3r@6!v`^L zn_AdM17#ftDX}f*?9HYpQ{1U7y{b@G3y&N@!cXI7W;(h=i#xM9)hh*C`|D-mR}b5( z&01fM`fd8SFA}IrU~hPhrmx*IqARQ0uA(pFb+7;`(`^6CL6f_B!tbQ}FC!?VbXeRa5q7(2ft3V~$!R|;a zL6E96DgH<_Sz3eyo#@Tq+5QJY6*a?0fP3WltvB5XrC zwvjN?uj%k-#wTX?K3R$lz9-1+4%PFu!2F#&E{E~vU3IQ@2Zb{L8@s~7kIuO6ql?`+ znq_1I@m!O5J`eNrzjl+~#65%HTa1I~AaL?)!+*jEfwRQ$nhTl0QlBlUQ8!004U3LQ zu60c5CeNsoA|wFTSC06oCxfy*OlxvN^g}$xBv%fX!JJ$(_*1>6gxR+FA++d@yoM~! zQI~c}4dB9zLzqY5u7p{|L<=K6C*(J>;&_?!AIuR3;GR8lPxrY7<6DVeww)ROq#!}R z0pzkm0}>9!<}yJ1`@g}Ry4&w=;Ha5I-M`FysVz`sDQ@lzyT9)Ym>tnJ@uVUjRg9Ue zOvHN8Om<|QFEBV}G7L{VbOaw^Jz^a7ntTMKkWvLGJ3NaRYok{D3q~cDxTGnB*o7Op zkIvcwIstIt4%rPHzeyzIeEfQsaVzJyUYnkX*c9b>O@Eo5UGuJs3QCmk>s*usRc;5) zX&mM1M=>tfPZPNy%~qqATSzb)*7*mcfd4-jMbjfQ=o4)we&g0Ui2W8R#e3eo+&~a^ zmII34!uR&%8>&$Uvge6vr}CLbu-E=?11#?BT)Qo zz1r#zt*FlGYvev62&QGB)4;RFXW&oy(aLDfxf%3TT*BJJ;AXJ2VCuk!(E zu-4s;;dN4LW-;5c0};jG z21l=VJGBbn=)kjB^`=OpMIP!lvGP}gqz#cmcm6&WcMZq+Ti1m)#Rjy$_S#^I2#hhQ zHte>OrXYtbrDL9E(vgbO`9QKdgTE;mw?8&o6c)Q(A0{w|QLA)L9^U(M;zjSMPeXY_ zFCo0eAQrF~R=q!$OWH-XAB65P1#E|8rX3IchwY9x;dol<9t$8xBRu zz(Urahg~B5pePp^I$mT`&Emj2lelLg7wH^)K3lq)aZ_|IFZ#;$yRALTC(Z7E@<{gj z6!AoOiv4ih9p=ol=+d0V!2^ZN^D7#((gC?F%`{3W-?3Vv$Z z#xT&>7hKDuNHS?~_^J`fh!FtB*Hu5sZOYu=;gqFEZ!4_bK& zANEAPw}0LdfihW>N>~8H$7XEw=3VivH~k%FnJ?ey>m>~$@#~rmSp&v6i$EWPgR>kN zNyWKptXJ4g&zwsA(SEEP`SnJi)RFAfQkKqSwB(^%j>{IsO`U^CKUr>hMdDC*?$i|?5hm7%;NFQF?fZvvYxQ#thE-KsfPfn7(^5x4H+x--tg4}fO*L}!EW5O($ zc*Oj&()kr{*&4h@>lFmtS4JX4n;TQ}0C=E$guAU#I`a^Z)lh!WM3NMx2aV zeIzt~O@Ao!acv}GR-@yFSkmVwE+X!Y@^_NC1x{5v#5lzlDBKVGtgXKO>nFbB`|FF$ zd-8ZCa0zQ#!Ecs{3T)T|AL*kEz&0NT>3n`<`u6R|KADbf=Kr9}{^Mx>djEg_?LFt` ztY9S(_eE=$a^uQdJ;Cocj6WOlF)%$2qH!GeQGipwTm_u=W@~SXwBo-#DnEs5>^z%l z-2H^QVomj*-ge*hY>)=Eo?~y)cYCzNv$C>8sgFIrwVkmzoIkmK_Zd|iGZBwVy$Cr; zc3o)U+VJ!KnwLWs#JeG$k0$5xzCuwJwO})t^G|~L-+lT2=WlXRq|xf?KrC;sEOsvT zHvZ~1C415LG5H(m`On_c$@F5%aL(XCx5vfuh4x1tc&s#*k+EwOx7{tUJ+QR5nh0;% zug^>;oL|NIcjWHcqY9NH{E9S(KW>pDD9)hT>|v>hGAxi&j`mJq6ujg=vfBUN zw*Oi_Yv}cDBormW&k;c|YTaT<-$M$C&mTIJ!Z*))KDfD%9O6srnXI@^Cc7rLE-u=Zrw(GR0HoNcHl8}>{CVI&6kbVmrt9NAkGimu7v|g$y%<6^8XkMfb)uy0>ay^ zZJlIZ2Bz_mWG-_F?P|(wNx#pK5OAioe9(N}M?Z|{jK$L}#5X2SQ!g*CIy;O=`HR9f zgNn~SJ(?SOY#1#MhQE6if(|iufybYiC6|ZJf2addOJNXGvpdK9ciD*%_hv%%UXAkjpp7Vwf zX}^fRu9K#V{6 zmv-i0xx>Mi39Y=yb-x_m!Dk`FMf`XpadW&W#9?z5+S%Z`sKeW`@p8;s`!vxV-&N$P@0yqbiuQw_w*59~1ESsp>i zcZ|Dvw{4bBkGSDG<4A!ksz4Nc=TqUx^>0tUS|C@zFd&~ugZZpqu9ZISJ_T%s_utP* zmv*Q!^X*@&bKJd^djc5AXRm6V&r1jkzUb&^nZfZ)G4ItV=my}K?IWjF1XTg6(N+N* z?!=veqj2AMHeN8)+rBvPbUD&w<2-%uNV$N!k1#1$A;$l6 z<^l4z3G1fkfb!{^p9May`g3F-61OI+c5Lkqw?fy(2dlkHJz#4pCjkV5^y4|P&FRLN z?2EsEvk!{(8?@ypBw^5%I{XCP>YMjSpp^~KMW!8prFtOLm3^_-vg?kN-S02W)hvHm zY%Ji7Teh zt>4cOaeCJKVE)ItFu&bI$*{Ze@W!7f_4dUFRO1E8KII+};{6)lBh+ZK{(-in;R{l6 z{1E(tsB`__BGRQW-z!;2x`K}pco{!x-eXL)@gAVMH~<*1eRDO*HNe|E=l8Hl<#nMK z5XrOSvPip))^f#gUq_TqgoS6qGouxmcC9_`j)^7RBZB5^S=G1U;p_@uZ2&AP@xot-i5phF4$AUv}p zULO4QxR>f|tiegcO0kQw?)iS24P)Q)aXDaP(rVS>S3AwWPA*x=!2EixJ5qHvP!Mwb zg17y*6zGIjw&bY&x$USN2vWmE=C33gg-3sx%qOI`*HLEEbM8oT2} zRU#45;^fo%yI^ozk4fioP6*)|5Q6-U<6HO7n_`4UzcXp&3)LfGu*7H$095v3 zu)D*^R$vLVpRbcJH|(;W>Cx#^3f~Hh$m9rrOF61|1x@mAPRR;D^Rmr!1@Hqkkx(7o z%OoGK2y21^DUujPojF%5AnFaxS2)<%*!tT$(evs%#miayFT**q1V;GpNWg&NAs5M$ zC14!5(B_u8DQwepDjnLflkf(fBMpdUTQoB>OieAnUnikwK~$tmhHlo`jaPekfFwi( zUwwOB+f#H3TuO`~1^joAJa-0Cn_&*Y#6_z4Bz>@Nszy!@?>o2L9Hxu|vxmw#K;%yV zY0W-=~di*!G0ItT_vo&2!dw;aHUrK{$ zA1F!4!)DU%MWaA+H21YWd)sMz$p4k}RH)^5!S#{EW>oqc2dR^TdI89SQSe^)1_L~8F zKOr8EO8lF>_dO1KS%P@CvEeAW8aY8H-;(jS0BZ%VeBJ%xWscr6{8}lKls?Gnc0UJ1 zt3K1K#3#)9tPlL9I8I&Y{$5_E0>qrb-%wm`UfN_T@-6*nN5|hV5YReYB{Ikk00{r@ z3Xue4$knz%fx!jOiOK?Lw_v-7i2%C=7w=sFKfJxdtWcETpq4naHL$gpkt275Iw|ew z+&5hiWRc;lBhy-G@YP^!Bow_^e)OVrK9Fj>BB`57n!~q`R$BG{pLZw9oz!tDhHNj; zv6L|Ce{0eOc(mWo`e+jh)P@|AVS$%ftQl{_o$aV%WzujrmF-IqK4|J+c4B_F^oIZw6Ry`nn2F zb+%i?p{F1^nI9q&h^+R+gb)PL+{qZH23t`05<0FNt`>vgn)nu<_W zkKDyQ&Lrv`$GRfgw6cY2l;*RHwPkWa<=x7>C^ z)b@%b@X200G1WF}c7pz0u=1Bw6#ixpe`?BPUu<>hK6&@?c;*HwhxpmwQsW$|xl2IHo&d>Ik9SV5Tm?c@?_ z=gcLo|H0l{M#Ysa@54cZ1W3>Ug1aYZfMCJh-GjTk6WpEP?yij!LI~~--4KF1!JYRo zS0-~ObMNot`{AFp$Z9!#r1svmtDbtQO2GrV-`=P^rV8#&?bY?s*qi^kt}US2^>oTK zj254@$9MxSgAPaNzKMX|%pT{XLtw9vhHCvP5Eae->voZGPEtay``+10K>NXVVbU|X;d zz3O@{f6%7K>^^ihXEEU*Fp8*Pi2Q0z)R0K`9Q9`#*&p+b`)RQyfbb_(sgaaPfubMR zO`&wESa(pbn4_a(OM@qnFKoX$3|a(2XY5I`eAmQ~TKd0uzkUD&<2{HvU+0o_*Pd-1 zNvpujUij@$Dd4ax2nFA0LzYhx$OBpjEIhHvLTPfY@Gi^+mOyyLm%N^8KuR@(Q)$tu z8v2T3p!dbZgL3uQvt%Ra>47_%1gS|b4ZSczPYXX<(| z8dd8FIyyS!E$(0B7$OC=`K|?Cxm>4H-CU)N9BVK!bSNV-roB|VHA&0%e$4W4c!cN2 z!7CzIMZ>fj{>r`>BDmw~anqmAgb?iOeBnCHHrrpeN>vD0g^O3-U(xK(KRFow_)f7h zNAL8Xo2@TD6wX*SlF4PXwC1WIgpvR{0G|QrQeS$~lc&(#^6WQ@34;UJseGEDh!D)| z;INRl<$IVvPjExZM<|N1#qlG(ZpQ?JM!N>vHn=&D)l^Qm(Po*^XE>D%utysPL6#6& znBa7(x_hy0!U^rre^SDJG6pau{B{!Q#4M#E9sz3rjkS3gNXsFv2O$MP(aaSEpdRM5 zE9|ki$C%Or$EHpCG z$>k7eK+1e}hqmVTl*nn*>tz2T*GT-Qd-$h#e0B7gv}+q5aWQU}A}!z9@T1o~;VD-& z?A7m1dcuSy6Pl@I2YjIWMWe(NCiKO{q|j0F=Ul#J4|6kAsC7grl_?42=DzWc64!Sp z&(3{CV0Hco$NzgqYWWF=j zwcdB|++`tG@`V5nywtdBU&^%Z@)IqcS?J#u1XURBB=v)SClxc%aIqBTYvus3Vzdfk5> zUAb&H=L7J1W2a2U0xyqZ6Y~8a*t6ToUSdi#= zZWv^x7JyM;Z2fKyaLOuVul!)HQ;b}~TH3jdO5fhxh6AoIR2Fkl){J1L$A&mYfIQfw zgC$lO$AssBeaZE%!G8K^S18!VZeob2BX)tY<{Va3-Z-6{kZ&wOXz!Ngk%K@gZzYMn!o^G0DJCo`?GRX;P;5MjXOU+ z0?NmW^`h=)sPjexxy0yqgY;%hNT4O}Wc>7R3{?WK(Gl*S;jy2+jKPClNl3Y0>9q&w zlAQ5ogsOLS8bR8eT1y$Xh4s88iP}0<*4mGlA3pKX#Vwo}G_Cjb6%L3IWlF7KhsX@v z6w58UxQBATHFjX=qF$YH>Ggxz^UIl;KaJxZ8sGI)1PdO8bSi67FQE^uULsI*R?xa- z9o22SXLI88dn`dRKmL4!M{-2dit#M1Tng|Dp#zU^EBxVmZB-rjDvc>iyg-U4uXGjm zc4a~&9I#VhNUgku$H!a&+-+$KZSwz+CKzW7`B*Dq)XSwYgue+cmynePoTxzbv&tfl zS%y2UjCEN~+h9M5m*wMFHKG&`L|TWe(18PS4OPmuD3(2MG8l3Mr5*!D_-nT3^IiqA zSvrj!K+oV7Hc!6Qr_J_r>$%#ZT;iJ$`^Aird{cm%2H>*-Fr!J#MuUAo4ztx_{U=pj zA2LWw=KEmiaWjIB_c^$k?-Ubh6AN}}v@LZWCeKZu2XnBQPmMjR8wY1J3_a_7?X>Xp z;8d{iDSSH%Sskmz`OB-5QT4_-pv%lOZdIww<%$#DhGh0P9S=hGELjR@TYVq=vH^&cl zIE~1rY~isLq6b9Ux}jx%l=q5%Ac?_ZGs9=8nexpF(e|XxH=lL1kKe*$k9$mL_Gd`= z9jQ^IeQtjwdpX{x@t9=BI}!QZpK&yQf<<~`*0DYPS==PkE>$)=n1%17D9RJJ;~%1s z6(RUci0(DYZ{O>72tdoE-HfeYGG;-e>dcqv$lz@X$)pfet6Ul-9FT&nNc1p1kU{XU z>UK0n(mZmivy#tVAsaVK6@h_L514lS0Em>fB&y)AQ(qKT=k86#Gy1k$onkLqhB#nS zFz{q+=wg|;3-g{-itJBo`FD+)gKX%%D8IFs4ga$Y`H7biO_`nndZx2o?O?eHXp1-i z)Z8RN<2nB5$X8LM<+%L{Xo@oGkGHGz0SPE8v#D5s`Xi@Z=8f5Q?YfML@%?Fd+U(Gv zfsXA5nsm5G=_>T-XbFO_cfk*1eA2+obqhMj5gN}b#y^S1H^gcHqU5SG zItNc>hmT}%wVc$Yx*gqnfc22HK_%M-xel9C*NzYEU6>jh0UN{XZ$`)H29t`;*Itx{ z&m3lbjmD3s{P=EgD~5`TJUsqu$7vhB)XLB<;FjRpI`f$*blmRXb7U#vqGTSS&gTeV z;k{YOLMS}K(fKCtRX(jO3CAQrJOw2z8#cwc)?UTIoD0*{$xtcD_ z8_gvY$ibjiJtku=i_H}f7{BqrpVani~#L&0GXWc%Q_Dl zQaJc;Tjd${*E`GDU}&hicPq16P0T^2R=R^Bp2dvT!Vg9}QzZ;%J2PilRz*O?fZdT< zdpyfLKbm`=Ue@Bnq??<=snrbtK9MpOz=Bm=d%~qm`qzo^fcR?dY0;ldF-&(Tl=owu zi`LEJK)}lq8Wp=AFm~1!4~;M9wvLD?B);?kHAC0uwU`tBRSSS+Ic1E5B3+*}-EG96 z2MH^^d~|iDViCM;+)J>#amTW-8+d;F9OO`>jfsP^i9NnTy)kmPC^LHF(c!oa7H79w zpx>RfsXl4RoDc>=L7PdlIRYA4Qxfc!b6Yb-ey~ovQ+9wz6dTN^rNW;gHH{^*&XLO@ z1&4!{C?geNINDCwI)TndE=j2kR?9sZGE8{_uYvH**>)mXdu`5$OVE{V(48$|gN}`k zN1g3JP>b};uOh(DbApjZpnskV{NMQe-uHyfFA+Y{GI0SC>6OPpmi=tsqNgYC_2p!C z(EX7*&4e%Vz zC{1^St4H0|(itYm)4MOAn_}*6&cHpdPewvQVqnC4UV}vA@A8@J8TX+ z?C#Fhd`KHbOR;T&Z6#VCOunEg?PB#)IF25FLMHeITmUQWO+7<_kmTxPS^))SuGcfsOaeZ?~RW?1W1 zc00XVu?Uqt`yI|uCX1@$78+H9nO9u=Fi!M}Euyn%8_$QAE?O*{clCr_m8rYyw;yN` z3j59kKf(V6xyXJFED})?uDLzhpZEWK1k+LI$9}kNoMyE*$+5%qqer+JmF|%d!5e+W zj1NZpGS;gj6NHq;w?}#0`@?MyUBOG@W{{S|(Rz5LH{1Izg-u;JfHi7wESWY_;zyF@ z^P`~r+N43dunW^@Ai;TXJy@zq%YQz((MsWiIDm-KTFk&7&=`tprQcp{(%*pI_YCNj zj>IyL91+>brc%rJ3P)LnNc`pgpZL9dOywcrgPQaDX>udw@hd6GZ@X=5A5?Y%Hfw~B zRW3ONMe|Ae5NLTgrYK9A06G^iy%kzj7)4;}Wk6P4PU9J(!zG@x{l6sS@g%zQsQp8l?)t-4%Z*wj~6bJjlO-$X~Y8p8~_+7F^HilmM4O;KlT!!yg6~?bSu6+nKC%2 zkALi#Fjb{1+h*i+88(ne%PG9KN>k*R#CI=6up?+<&M)9CxnhrK-1+|f`?U%V%D!xe z5m3);)iN;ww+jvmtJ%`6>pak3)bnz@h*w$r^&WGU**~~g|FKShFaqIU@%QHe{EtqI z=wwmY`J0t|V7p!*4p;4!1we6GSq!Py#-}GhfQ6{Yb&fEa!w)Tf$#uA>qjQt#cMA!F zSiV$A+|6PF7J$&gWYtY_JwS@-Rs56>D*q@idKb>&?HDF!8aO+LrdG}MO%#RrEH1|@JNGcI9 zY0q(wyL_AoyuY8w@+C~l?yhu-<>uvq-Nxlh+*~$%QUKSwsV+CH@Q$_+C};>Eo6QcQ zpmdJOB3Y)C^CfNtz=1fl%37q^_-BrcI`&+nRcpCgvjn@%5dX*KdiRL8~9mvOU8u_@7jXf9xs5e8>Q2Fe@6>>K9Ax zuh;N<`vSmDW#{Ipe=!gK8gp4Q0et)8lkps@pPl>v5c3~zW2k_KT|?x?7yfA;{Rv_C zH!uU-n%^xwpxV57x$05=_L!f)I2HoHr?>hhdH=V2$pZLMeWRkmjej2dzxgqLCITQw zsy$20pD+1W0siyb*W7$_cHo8NSk?ri+_K=KMfPHENt$HVcGvdE`6KO797@tn+*8? z8#E>!`cy79zGdoH3-gZ|^RHKM3fX<~@koY)W~~3GiAfwI_;`N7YNha>CGj_d3(yu- ziCez0^Vkl8diJsJ$o|)q;6H~gRiS0N7JXERNOk-|XL16sg!Oq7=Ux7*jQwm8Z6OR= zaZ?|FORE3=NXMvS&j0l{|DJEeVCWaqg2GL9#lQ1z|K}1yDgx$U;7L>6?B722&tJs& z0f*y$t48?u1^?R>{@=-eIcWb+EdNg||G!y8{Eqtb`vG6b=UWeb_xNnZfOzx3%G%oJ z+TA^>|Di=I`5l!K5<+Mg3nY?afEccX)Q|TE%*?;*i;_pHDS->ujS~p9Jks^Q9EP`L z7)1Y%?E*nQTPtNkp+SKYn(m#Wq0{eV&Jfh%xn`3r%Y~M19&;n90PT`FboTEuWQSq^ z{Ur5MX#>6$9FQH3RzW%=^0(@UI17nhqvmU4xqQ3ERehkkP15;VB~QyCpR3q+X|zL` zQuT^jC3@9`l(omyV(L@q7u;*T=NTS`yHVQbPb`Rq3yzHfiNoIcbin*;zxi1){`)fk zJ!v;qX)!Fno3t>sYrRlKS}EdW9(a)c_OVC(DB>oW(0DMr^f82RRbSfo3Cu?&~^xsdT z1_hjBc8-;E7VNK`Y!8TppBza@i9b+eU_W%(BsxCoLg;6Q;8$n!`v#Y8Vd*{`sYC1U zl1C1WAXLaN1gEqIars0@5t%;uBNG_te+&4Rub#L0>KHhXcuQvdz%yF$AL7L7u_SjTd(9Ny)Ljn6>B1z)4`P+F%LWrUYT7#1D2L}Gb3e+TxXbUYcP zSAUvgKUr*ltfTBtNS1R=>VzJ~5qpu*XiaEXbP36=HmxJDDoQ9#Z_$md=NloA$Tc!i z!{vJzg&a?ygJF<#nvw3UH@9|)f^dmKb8c(IGiW&ZY*PVCR;#~XqW`+4y`zCYJ&0g7lle68N(s&36jHw$vuDA6wX>H|f_BfGnSA(a#9wm(dByfvA(zf7g; znX$WX@Btw}6L6qEGe~$L7!uol5!%_FQ|LE##fw~+w9YwYlAB-z{x3C^4-E^8+uEY0 zF+cu~0MLI-5pPd#jor$G83tL~i(-e~_yXm@4d&~_+5NT(W3`CL zv_`Rt)M*Iw(oo^Brtly+C8f9#3%ST$OT#`Ju}#W{r)Vkbq0TBwj`azQ$`h?~8)y{d zVxLJIp!)Mq2VmtZJK|$F)HIwM!Hr0%52T-CPo;OVuOwgDR0D{#SiPGd*?RgXeTO+` z3c^G|%1nyfctmt@<}69))J~Xj(SmnBNYSNDs9$*X&2#>81s}J5npg+OZnB+@Y0ZvT z5@|Lw^*?-~BllK6d7CsF^%2J?Lf;Fzrq8vhr%GplTME+0S207EL8FX|KHvCLndww2 zl4@3|#K9xlyo10xqZE947SAHPyEEcraLjtOKRWN+A|w?d_1jH->rnq&z74iT?jV`j z*HCEDe2ztRVzspl+S@pj-CqO575A=zT#EJcw4lLBrie%QV8IO{yG`BANJ#55a<8f5 zZ55YMwC}x|Xkv9=f}<0g_;71+GUDSil1g=5WVSXuD*>=P4Zl=eaD^Ahj!qhGee*u3 zH$J6Yx3F#*%;0G9vEghzOgUi1g|&aoVgh5Ecm#?NcL{x?xW(c8?I2_3NhHiuRA4{< zF0>wqKdY#l14K~vs*KrO4U@Nn@+1)5OONvO(f?zS{PV57fZo(3Qz%f=*VJKzc~kxa zBWtn$r!anvA>?HKGjnCH(rZ9586M5Idv0uh>Dfe+VHr)S(VsNNJ)1Jk(icoO!V@|= z_n4GMTOZFA3^m<(@7`_;OETpP~wm-y(c3eHvUCu?QzSS zgJXU5d67(5h5cK(W(*8nQq^tm!EuqUrxj7gc3~vG#3Ut6yWQ!olZc8MHNJ>nVPy1= zlKs`u&N$tNj}#dTphWE9=tTI!O}PCElJ@*=owv7_$d3fCqMUa11SZv)DHhH2)w}CO z#R7#MB>V4(z2YaUsbS|*IbE2k_o*z)RN3$QYq6}oTEK{J`$ifay=*2dWEWV3mBw?O z)7A%)8hG?v2QN1pTp}@|_*6Ple#CQ=i=kkIOyp==Xx1A?nxEGMZ*PA_EFROBb;iec zvYpT^eEN)Px?E@Y8H++cU=;lu^fApxGJVwp#Zs7vIvlGh4#R=^@+~cef#h?g7b2&Z z`L9$|o|H}8G4*f@LA|wS#r@SB@$;vOQLn=6I*5f=*^(o<0DF5?m#u}{%XS{sdI&%| z1>AEW&2yDq*mv$(G_Wd{bnCZ{{c$z+UCl6S86`x`_=_E6GOX3_9$48}{Ft=4LCHX* zwBGNzwLtt;_cM=`XBjzuIMGWktxAo-I` zHS71OJhDO0w)R!Z+PUA9*mc7zG)m!er({@hp1Bh3&XiDGK@(uc427aHScmpo@H>>KB!CtF#W;&-!G zr#{QDis{Vym~VDZ5A5dyHwzJyY}soZduVYlt__}p~6Lws#3gNc{d zlnyIE``XFCnrStSx!0-#MX4`OK9Ma*B=8!5U&5O%+oJoBS}O!pRk z#Xz_v&4@p3Xpv~^yzck_gVz7hA+;Su{qbu8GZVP;?l_)-3n-$@@$sF>?d>2FFBBHg ze!;#>N``lDgN)5#?(}(V%*T(LtwmNLVNr2g#l>%JB%APGd5mZQCfM0X3X3c@lR7OG zD<3a7Er<7)8z^8%`e{8M)91D4+GamqJtDfFO_@N>xAjcVM)W#GMavbyYN_;j5>!VR z%}JKcBf-j7S#meYu*bnc0tA9%rEazyIGRYW`d&+rY?ZU4&9R z#;ncl5+gfQGn3!WY04i6atXtbeKS%t8zI+d#PR-~&e$K{p1Hx&t_@{jj32#0quw#F zp7rLnh0M+?N-j(!M88|&n7YxR+v;G>F?gySrl+MN^%9WAldmaeD^f_N&-tAdfrdiD zF!bq!v@+WhoLi;!MSeh&(LsiXiEt*d6KHS!Te;tY7RU6t({*?-i-303g>(gKvov!N zjly}@WDEp8S}ZQf09Ak@68}nMs|C6Lm#)gABeQ1VhsJluT;A=O531w34Ysz>>zuMc z-%cDJzFOLqQg4qvKToSXYyP1MLl2nk>>O#MjkmB8iS#rX+?n)LFMY}*n$C1ww&RTG zz`kK&SOcwH*mx1+(<}+Wb)WrUg7Xdg(Vc5GrfEkk6&o|~wXiU zUbN>(?M|VdgmDXw*Bq4Xyw?Zi-%J(@@XS}6)wQkzn$G^j@Ohu)BPTDX%Eo$$qt#L= zc3;_Xku%YJwlYzFdVL_#Avu{^{vFWG*#M}2P-VYYBVAw?PkB%~#4IY6KR=Su3Vt7q zjt=$|7&1LgKTxDL>kdLW{`3K@KUX*$VxH;hnc#T11j#^U&$Ak5H*=ASO?b>$se8B; z-WbZDq5@gbxugE0s>8256r@aFc+NGI0UIc+kt2eZhei{m$z358Amr5we#Tbgxz6XT zj8ZzrkE}3)`1a~{@OX5m!5K!owLTen1UJUm0C)g^K}FYpPGIMpasdZ}LE)7f!+B#35Masb$e zVU?BFfdUQ~A5$&x}^S8#Tt+ zbfnQ(X*3)mJ{f~^*kAzIJB}^R6?oTr@f>~nUx#!HJZ5DSK+e)8HT3L)I&JsoO56k( zidrHNpWv-AQkjVrrlpkg*o<_*B^t3b^EnnrU*~w{S-faZH)>p1Tm+F!s*nODeT~Eu z+ny*eT<*BD2Qv5E05cd=j%xAl9dYMloJ2QD2+Fb-;Bxnb(w6~&RZJ$Gx83b;9JgXD zUynP4iih&91Dt>A#Nj}DX=SN|4Af1a-Gy4S0(<$gUW?Fz5mWhWg`y}P`&&vmd2Sm( z#~#Fx%e3R6G zlp+dTu17IHcrAHf3Yq+tQoOE`YEW+T2_>5IYo_Xo{oKoB>P2VD{(HfGg@SjlOO!c9 zB$C9IIZ66Yf3v?V-g=5qq;(vdS8L~yYq?+@WI}^W;Z)iq)~wLg{*s7?wzj8UKmJNm zhL?7l7CTu(IZV<~Y3C{3VTZY!Raqf=PdGqfq<9%yV1Xv4G)}4ja*s%0A^@MaJH`Ks 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

S##g-`a5fGhzkE(UE2vvj@S?JYPv_m=&U$rV z`>y6)Tx&R-C=mdQIU{JUUi#b{=Gn5XM=CJ5CoURpI#ZI|X5@u!_wtxIQUrhJ9Z#+9 zDQ{B~p#DHQQDTB}QngajtR~FF)E&uNmayV>TY$bB^SFF|-tKZ$KGeG-g`-_<5R7~& z{3GD;{fK9p-4NWa!A%q#O+8xvQV7y(0pZKgFl{mVOU2gn*9-t)Ea%*Cw06%4519c?NrW#Y?G?b6%uVK%HyPln9Jd#cL7cbu# z^PBycR$ZqML)nU-Hv`G1alB0n9rwh6$bz+ehw^}Q@_qbLWuRjWy3>)}a1TXsVBb7vU^XL&T* z?nVKOys(2G6HF}1Df^m7z0j)?qbbn%k?g$a-JEk{#sG;GlX=0RGl!5HQR+sa8$%nI z273R@T4{CBsF-_%+S5=AZGZVJEkE5yn^DjVKbq<7`&v{VZftdeE|7(f9%L$2`IUWIe zZS5Nyj{JHB7_?mLY=KAf6UJY73r0VP+NU5jORU`;nVd7bzwbzqC}re5B8Sb1JiWFT z-8GILF05JZd+qb;WMyG@JtSKb=Z$m<2IeZJ)>VnZeNVYRGQvu@tG;84lqO!-YUtSz&IRtHsvP2F7>6HkPdJOl zxm098&f+pXcsgBJJ6}LEEhr>AMlj`Z9#QeQVQx!6kQNY%*5()J>|SdwGZ@`=?JsU_ zYFU;V7ut=B`94ECEt%|{6%7T}*;&`7yIcf*m!8D_9cKZ5uJ0@r*2l}tMZ%&AB%6J@ z!`pwP&xlgJ*;|Cu7ju+|CiJg`0r6XzeQppq)+MQcBdn~T0_gsxGslA}w5EAd63?m+ zJ`@U{(R02!dZThNm_M3?cUvK$X|}qK?&uQmVKLs?9pNsPsGg8(rnKgr9ty`{=#} zyrjX=B9~oW2&8g40n#cXEhNZjuG|&;CG_J_XIuN*s|e61JWN06>|1A-|4{3)J@Y&5 zX;Z?@KmmjGA-Z398PpG+$tfl_;>FDU5lW^ewe&f2Hvfyr9#D@vJF+_$VYvh_m_h_9TvV0aMqC80pIzF3i#C4jp`Fe|WE*5k)s3DCACYj76D<1DU zmVH>@$!ndwu=k@)O;ooWW9c^OcWX)Kf; zLDSAbebB#Yyg`v{nPah7#zY*ho|u25g}ti)hGZPAwb&&Ol(=nXaJe3{C9~T(26b

qC2kGW-9_+?twE@Ym7zJ(Fk1W3u4IpttI{ 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

juwlbgAzOLX#J~? z{59nL&Q@4V1eZ|SR{+RB!r0akz$h3lvQ%X`AzxuS^bSq>yboF*whCZGIl!kVj8VgK zvINXOjwvBiw(%jV76LFSYLv)_FI_f+y$>dgV8!MqR$1%zN}FcAqh^RlZ?=sI?hr<{ z=q`GnR}AqlgRVop1x*`RlJ<>boo9GU4Gl)Y@H~;~8{{G+N3L=9%_;c!v&m%ktF22s zZF;+ToEq}?yv4dhR1Q>`f|sS59gpQROAgaoiYGZr+p55(yz z>V@U%TSs1xf&frL{Ikxn8^hOoG5JuV&??I@*@U5|X2*NJ1^qGXt>^OB*Px;T;qB$& z|Hal@M>YM&|Kf@w3Id{pw17y1wB$s(V{|vt(mAGtbf&y9^j*7Z^(9>eaNH~5T%q8x zlf*dRUM@LU{or=Xu1M|ytorDoBY4B*vem)%%7*6O&ygY=#MaznB27}R-{xoFeFZC% zF4eASzl6=uN#zlv8Kr-a3?7AWK3G$d^ceU7Z2tn?z%Y1^(I(XCZP8J?SN z?z-+&JYUxS-;(A2pP}eo-0vyW+^I}5VHfWID?eGc7VJR#K+rym10E!-JdBJfE1ZPw zeZVtRzOwV5I4~`yy4^ypI5E2c(*p@d?@7=%SF}xX9K(7lKh6o@n*6NFmyVeYm8;>C zZy}D3kyC3cNZ>cDWT8Xp7Xo4%+@hP*tM-IbhBZhG-ggBTbJXd#J1=7w7wcEXxPmZr zxJJwXEW-+=_ZCLyCt&x%tzdslR>k!F<~t(4hzC5-?Xs z!QyyA*$%`?{D0AVT-Bc+Ll#}LG^84_xwAJO?t{;f>3OXNn7|P-HKTK~KZK<`r7$Ll z)@h8U)DDhD-ETB~^o-r-+7DET1^G_2i!<3&uhQ zFkJ0A_^CP=g0XMbnkIi6Nh+ko{(uxZ3o!w}_GwK8zg492N`O>fXMV>vrrHquZuV!jKY8Stu<8)Cq!(V zG^IeS0|KqsX|2^-XsZ3kW%}P-$i;qH2agE)UIyypwp%((4oB*Fpu0rT8pcF4$S-7P zg&yYhIli5mXRG_!|9EJ9_3H5UNzX(G`btNT_!GPVaSXQ_W1XNXa7ojhy?VhttK-J} zTsRUV8N)%lD1-MR9`xIc@>482?7u;gH%X-IDE>5bzZQZF0{qsTQ?D@%l1WbbD?^T& zls_uJxig3LHxYiPiCjtZ&NFL$H>x(oArZX4R1Tu?aWbci z8U1<`nrnbh@7DXX;MyFGb~F~lNltJ1Sy>f2DbE8O%CwrI;MO%bBpgHYfQS0qQnQlW z9lVG01IG&YI`pKi=+&uY?=n*$&%4{=9g;mHvKgN_k!T;x9=^Jr0>Ws~i4=|#)TrJ2 ziG(aNCxt?ba4)G`mTYj+OulQ4aIFR6 z1+@7-CG&g@)}W_0k+P8I*i?uIWqdf0Ty7>}U5z%(55CzuO8RMnt<&hxWyc%UF*;Bg zJCdT@Vp))jo{25vm;x@me$TjKaueGpE@LSTp8+47kNWJHVieLi`CMQhZoi zN%Un18*<)btYtk3GF?ULT0gyOh7c?SSYYxB3!iG}GDxrfKy;JFtj513Kb4cRSDvj@ z5@yR+tUQa$eGEB5qa{2*kIMvhu|GLd_m$IShH9O@T^-Pw{qwFBy=_5@6-%hwTEY@; zTU8O{t9nsH4QuIcfvDfDKTo;F0{yRd(+n??E1^~f{VU>)h+YoAOv-&=8Ijy}eB)@T z_B{gx$|w|hq0ZNYo2Mt1<4uaj6bkPbv>;{nZczb4Zkup^uVX2JjU$GBrQ1-!N^cRq zVhuT6{t}AqgKPIw%3pP^=)Z~72$)7SADJiosi_p%=M+N`ymJ3IwV-)vh)MQ~M2g z_x3qUFR?j2=7w#gz-}N05C$gy)NJnFZDw$+ge)=34OZ*K(=kB(S&2)iFP zj~F$}py@95&dyFW(XJ<#z(|uJ=pN$E?&A`3v1|W>(L%2O*hGC5f|@)LvnkKXBN+-~ z%96Q>yBWzbXpE@xK{k`bu*Ik4%V&JS(y*I%5xecw=Tb`wAsmb!`cYyZf#})lLuRx2 z^hR}Sm3Q+s;IvkgMaqTidYPZso(9J-7w0OhvtFgaYcziUOg%TdOsAVHRa#--itKG* z$*DCt(-CmlD9mi7J3M|exRI&5De8!I2EaKqxHyZ7*x0{44SsJB0BlJV& ztA+A$+{%I_bAnY3U9|?+$xWjDLOBSyT1HiAa%G%>;3c~WyrHW2K1s3Ro+@W{wALo7 z>TvNeMUqqTmhgOod|d~E!5%mO;O++Zv*|FUIf)327*HnRN1$vW6d?6!H3R9O1%ZD) zMfyI-;3CTMZr|7($6NguAE@vUotfw#5CETJqYIB(FjAD~F}Zs?n8u)-ATB%x*$N3L z*_WLbD9);zbfkbBB`B9XHVO(vhJx->rm4!vEzT065ycll`?TBtVJnypJNMa_H zyu`~8a*N`|#;Go$gy)a*NHrQRlnBrgRY> zO)m3+?EbGy%{ga6c^4601pTVJ4KBM5BJlnlHob~f0=ld4X1_^K2#)>@rD-WgZiuO|?_t@u4_@cwbcaM`*QEJk-F~*Vm#UmJGCi zPQ>MRcoN5^r)m37w@`7Rx+(RtxY?Z`fkBMggn5yjGs!>v^${-)k62Ne zoEU^r14GtNB7^s%29vHR1?WJcY1vPh4iT!mt=F{1Wygs z%2n8rqs}|N-={%0EJetY-?{rZjWYMC1?Gq2P47F-T9H+fn4&3F6Cq}7dbT*0oJ}R* z6M`qq)3)aw91N1RnscT8E$FjVyD$Pq$E^LgQz5lOtn%qfy<^-Xv->E5_wyI=XLv`I z?MA#d>P>yefHmM5qU+VZh)@f`@5DO-^jI0g>i(zZ@#Dw2g^xl@?N)2VyC6pGu7jTQ z9?~mF77) zsX>me2Zx4|Fu@hH0NNt`jA{Kx*2@?N$M&6Sk&PkDHtT&Za+Fnwb&DVOJa*wngihVf zw{)~eWv+v_iluSbTsB^2()`1`iVZSrqMx?oAUC4ZqZTMgGszEL(LhDhv)666{G#)*mhv8d8y647Q-!o!= zo+4Tb7H3B;5_hVI>j)A{7joW{$$UA=IPJ^e>a@55SXozgJByB zbBx)cmd{Zd{rq#&Y7W#$wMb8cW3=r3b?0Z*xjg?je~(v^0iEu5zr1@vhvSbKc52j5gRv!4|KO5FloK$|=c*HV1f$9AyPV27ok0^4^Vd#3>Pe-m zE0H90?sJbnT7H%+v@0=3GK1~g9WN}H3}%)GX20S*aC(TgvwYT6z(=s^j$H`_wHUCW zvGQUqbkZ3E5lg}xe6OkjR#*{&b1&|3!*3M_x+5gmh=BWrfhnEDd{ifa-XoH}NT z2L7b7dtZ{?E*moeTNCabP$i;h+4y~(9wzV;PO)~QY0%+HhnCG;DJc_r(Qvq)K>OEy zHD+_p-h3EpJGl(KYM&0q6eYh*?5qr-9Od+O1p{xvruPA?a>&i8jdQGhsMp7N5d?k6PrebJl;>>2 zdNV-@Xjx{E$vZ&gH;Ncl1mbzCWJ#c=u6w*z`BP=Wwm65g&(Pcv+`7?0P1Z(>i5+nQ zh+(?mA6yadY`u5foI>3DG`ijtv`@Pr;*9$_Zt{MH$aWy_1T-m(Z*r0eIXt6Vk_=V7VoXoCG|1AUa7 zYTeFPJ>tssFVZB{c_E6j*5r})X;)<4>|p@u>Is!0I~@)PIx4yR^A+~5V`_4p9FOF& zHr-SjOs^TfY9QC&?7DvT2W6$qqPNtPq=5dhp)~3R4CNJYSx^FhCH=_2UX5wD9|(`x zxMY`M(;R*Yp`a3mquj&LCa7bVme*dAijK~E*8)22-qC)e#jLM}BYvkP8-@tR%PK&4 zr5hFS`gZTDbRP>)zS+A9(_MB(3dl`q2c5Dajbn?ND@>MCnEoh2}m0~HWtfPxB0|! zd7ZOsdpJ#c#W$}k0(rq9@)s>7)}|{7mO{&+YG$c5ZmbH}=2<13`{&Hmk);R`xJHes zm-S?GY%!vj2vuIc($yb@oWd?v0mc>oTj|DN2iw`oWF52@Fz*>WA0A$DnWO%UG4V*2 z2#FQTZ8_HH&*Z!_LgR?=m3Q79Vk=V0N+O^G&)_%w^D`B{3+1cm?w<^hxVFqHv6(65 z?PEwCmfAzF$$MX*5zMMuXDD&RR@0z0;=~8}iDarnkyED&=|7fIP;0^qt5YD;9Ah)k zBaAIASk4=HYhpP%lnG@U>MrEwBf;DwC_s8PwLh8td&d}7v@1No;*CYff#`T2kx$pTSKN6 zFy!h2jJOSVHbrT;xI`qi%^JLd7jS8)m&XISEZnAaINd8>;7=Qf9@V2`MsC3afjL-c zN0VDdgWg*xWRjkQy4$)TmXo$Lj?_ z_9$kpS__nr%^iE8f3F$P^nx2of%yGL{QMYsKdP~hR_zp*zer{`O8Tdw)7`YH$1dMn zscW*+?b5Zfmo4$gYPnA_tw8BW zmvcGM@4vgM@V{`vXvJOM{;+Mi;ptx&@IG`lM@TZ~s%=ef(B*C7_s=?=lQL-?-W?4W z8k@k|gdT>|35F*X;kuo!IfQI#^SX}qzHxh_O)Ilg?!|yhH?#?ckXd_t;h{OP>0xek zK?9^F2cnfrjOwFq9cfvvz?)E?E;3?>pgyRE3`>Q zyd>HF055?WinQr1YG6ANsl@Wy5(m4N1>mq~RR)o{z!x4EslL(OiDe1~dXL9U%9PnB z)tAJF-!psxfaom2^SlUUnPKz3gfAiy`|Q(CT;bNIM14GDHNUuw|G`||o(@S#ed4pU z4aj{B$E<-YT^{6pvV|z*@EkF)qL%+Xm^Z?^+U}X|^;-z^9zeDap>ArSBA4|H*235Hmiu8oqoFuY`JeHH~@Jg z640G@1`74oSO=i7|AZUEmh0)bQ1a5#3?f9 z*!P5o$aAt}b9iIN(r18ZW$LVL=mU@UH~yP}=j{`J9Qzh7!Jnz>(5mbF@2|#vl`wj4B#D; z=C;>q(v)=j+*=4D*)BeDtAW^=@GpTYZ;=cB!$Ragu$kinb*7&nbNhHGs6F(H(x!PR z6orVV;TXN#p|@P&*zF&mFzdR$K!JvrcI=?p2BKv;nApYHxEjo4K&AHahHv>yQsrY( z1%7G1S7m|&G>vG&_j{5-_*AOvNoNyxhlv7+%_Tz zX23Hr-hXB$WbdU_Ev#&17u|*h)R?h=ZrljIUDiK2w~y@S@SJv`H5^I>ldK@xX&JbJtUg9E zhY`Vr$r*WmK*CcNDHOR@ULNto2j-vjAP@n@lBnX~&xiypsA z0g;JUPc-El9B?YCs8;Q3+4H)KY|GteicX^SD(pjZaz!~ElFp=(!cvm1M#}`B0*mjt zEM&|;L;4~V;o*~Wp1*C;-FQ)|h0RCnHa(l{Mor3DQiHUalQkNVGDZ1RBc&zp)U*3S zr$}h+!IQWQ5dC_LcPpHg8X3tTRs0s)MUlX!)typryOX0#@pbT}W){!Ma)VR;RET1X zQhvr8)c{n%fu`~2Wf(mrnr|3ZpE^z14vap67pvu`Rbdk4f9pZELlrsDC4)5K4=@fP zVthV~H!H5_(gGG6K}z(dK+m1>*ADnY+46JJP^z%}p#N0iOWc=jw+NlDay=P)C$g7wOj$;yneHKtKQm4>*e`n%41 zq+8k$g^6YSe2Y($190^ge4R<8V8U1WZV-PJA3p{NWoxuwHE{^5S2rvDEq~#wt{J{t zI-P))`^t17L=W4oW``T}JTma8oo-o*G9sjiVu&?LRQZCpAc=;K4=y=u*$kx* z(TkN-S80-%l1ndL??5sZ6>kMQD(^nE`Q?9p<^s@Sn`yaxxN7+tz@+cSni!h{Pm@I7 zaCj@R-I=tR>qG;w@oG3aQO|sf8{L<~C9y?Spggpe5!I^zQP@9KNh`&@TdB{fX7q|$iH)LH!IUl6-ms%7*Hh5{0Koo< zQENW?*3zrVb{ePjFT0)JWaNn(-VTD|gh zx0D;rOsR&Ow+OvFVbg+H{KoVG6BYB7bvMVteGWI3(sn4-d8WaKa0c(SPlDPz5!MA$ zT{`4^%D+xRn> zSpCq@tJU6t8SF*{zB7;^3>`tBcfkwnH1CwQ{3-K%j=*U5+wBPb!8r4x#5Qr3 z)NSe1v3wasfQ~x=q>5Im3s^*4_#&(FkL8U9-DRyQ>#3+pHs{UTC%OAlr;ggo}QXYCh{_=l4!)(?a{g0Pg; z%g7$c)H0O3vubZOy^jUT9E?iTTH+dDK06T_9-69IWJa}LGsnzx8q3!36E(ywV9ib! zg>?oL3%R#9hvS2iEHCy~`nKZYNT-5$%hu_KrTAi*jAjxGXYBAZX4KzR0JNF-{q4kv zG6nt`acDWt7pghAr+)`Gl_?OZCg%4|-DgUDc&V{dem0@gmJ34~EpS_TOidXUb50Y! zJ*n4cTJ5S+Bvv?0+C)}{rM~W2=B_Xw{iUncN{{3S_GZ3Pw12Ami6waq>R_!F8SaeQsT=UTm#SFP)>H3rTPRNJW#_3_JIlUG-i;)FN3U#~W^=q|EJg zzE$fsC8$&9{HuL=ldTApX};-Yw!o-?wvf^5a0O$X_gr50M=ko7uW%O%lmMGd@;P`x z2|5^NF`?XL%hS5d@oEa;LzDHM>-rgNvPWjmFvflf0Sd*(@&8X{?xP>tFFv6T6w7~R z*Kz+KR)mG$w%Xm9y!-U2=h{3BiGm8@U#E`oM**PnUtWuSd0&HI4J%ExSIujf`Kqd0 zDm9T)z;@3cpke&jnUr=qPViM#?^^)+q`wEmvrio{L>@aw~Oe6PZt8N+OC z!$`u(b@@x*QSMeQssD$ymUejqa8&ti>+|X92!L2dgJ+M|$^^b4#rQN#V_-5eoOns20%;jieM| zVOEsTbq|1{0Fr%x|CH7ld3;l7GJ;fuzTc=WJq+hR;rWR;6uM>fiXMn;9wy? zrOQMDlvy-$fqHjX8m6d>^lVj;bR?;Bv*G~A_K!)Xj%rzzr_W>xi(J~5U0`#sFPe~m|Ij> zsH0ncJB2RSpVEUE4RRv4yQHI`aCTyn^eB_99XV$U(5ty|G_R=OHn?*PY zI&ZwLNemb7XJ^#3h|0h&Ec*EnO$;HGt>q2JNa=*K58;TZw13+qU@5ms!LgH+!aKIO ztkM#wcn3k4n(i&NTzr}KOrrwdahfKRz<%dG;j{MJ8pw*H$6l#7p*}f$eK4WP#&o@* zW9mfH#EFVmrms6$MODi#sGIRq-4IMCA|Fh6Uzz?_mZs_SCE#@v~^oy!a+DyVqn#iK+)i>BK z_C^`tKnIEUDn-P8mo})|pL-*QSvV~WGcK=b$MB-BNfXPAM&mnwO+>YJw#pAJdTcZr zs?aP2elvb7ad}U8&UNO|pP1%-W>|0zMd9uqewEHcP8ULEGYSd-8AW0SW%5V6a4@^W z6%XvFZ~A0g@N)HxQILgi74kqNi#XYTz`JvSC~laIr7{d~d_*cvjzrv{+Q$xV^d>X4 zFz=D((;4s2&qn=@Sgq@_hg>ONNw5~LefzqL>uqDqE66+>|D;XS`oWW)$pHpvc-O&* z1DV;VpP$zT0-2nxYu}BlA;@4aP6OWAy~ss(oz}aZrBU=ccp~To zi$HTuRG-T8=So!-L+RAGo)2^yd-2%-t6|WZPd~sh8!Bjff}3V$&y4bJ&(;LKug%4( z9c)p3U}ONQRaxSl{sEBKW7*B!6W=7stB(_1RJS3kDj#)8d-nvjCze6jgVqTFH+lus z{c(x3|nn= ziEcz)MXT!Vavbm}L~zOJ_;*z$bD2RE!{Us^-W#-M)!O0{Te@1$snouA`8vfa*n}_} zZ7vq7AWjIt?_i zzF$b}IhGtsMl{M8_x>gCRGyr?*sbgQICnJ(*A@f`q>ep1SQZ#mxbf9`PW36lX(D|8 z+8dT@b~z*+Y<-)%>1)mP^kzS6MYHYhtGYPK@Zun=5P+QCk1RbHPCJx&Un)s>;1Qg{ zVwo_OR^R^EA@nq2**pJz0Z@m7!RFrFf=ndu1>4d}&`vqXU+@x7WkIx4*%7KN>-);2 z42xpJ^wP8fONV|VpE&NWbv=38EcjT)PQVd~orVaM}A20cjV46o_z1`#7s&f+)vFzA@84p@o>&@uJ2)U(p zBBf;UO1XWFdlukljSeI8yuUJxNl($(bIINF=EF2c#fP_63 zM*d=SQ?JaYU++&91_{EXm^G&z)id5G*XX{<%{@-Nqw#GR0t*9jSg?GA?tzsiCau)H zTf(AQw^~j6xk}tbRrzEW1@g&?L`<)(ApnDbohZlHO-}F^`FQ0};!xQTvCF-sh#}!> zxwD39HIu;|X;sp;7N^rU_mm5Jna@{f_-<#?nw&FiO;j&0t6QcodT)4KH%Oe%#j`9B zB<-qi8Sva>lw|YbcfZWY$_bAfIXZjwB9Mu$Zd(o!D}oV%9n~9jw@q5DRJ?E&-TDm@ zLC}LBC5k_Ahhv#tM^ObkVMC_E#&5{>a5%AziH&VJDugeFNWW4sI_kP#uaj5+{ zK)lgK&Gg|uf5b5Z^*W!~;W+zrSAU+`&0&wYTma@PYov^QN%FuRvVNOnQ_+Mtn02*U znfZ-&Z?G^n^owM`GdLl$?VSC`8=X;d4ZTKtts%@*=&6ZQ?`aN%W&3&`diVS)7hU2^ z9hzs?~Mr*SU-EIzp2c>JL75WF2HxRPSxd zf+yrDJtlLTl-}~fNK}6Q>{y8r7S70TPt)3r92$7BO|5O$OyHZPovk|gh1;Z8Y^T}- z$XJo$lggeIRcM=Ry8rv?fCscD8WzQv>W@u+#t)5u;`*1BYBMZa3Fw@A>{5L+B>+aD zLkkfGbX$KAJGsq`HnEFn=8%zhMti=_WsZZ#`BEDOZL9i5*T4!XG(r3x8gD>n(Jq)b zQQ06UU>NA~qy%=IdGP5tHH?+X4{+S6nwmZi`?LETEWKRYd+mYuFp~bsiy2OhRxJ6V zR~~QvAqE)H?5cyv;CPp9<1WeTwQlO?yoXq-b0)OSCr&F0#5ow>-JzUf9@3vN$X%w!n<1y9z0&d~?MM5)lT6*AX zyLH;IsHh~rY%`;pfGlb;BtC^22|sC-T1#!5sN+M?<-zePykg4;H+#my{7O{ zkt6(L=O6$cb()9vu%>*%Y`a z#Epi=y&@zmCiK}n^2m4hJkFV`oT3hno?KZ)u-tf2I#o9noLgiRbgztkSln6UzbJUf zDBJcFp5qKTbpFb+7=u5W|hixyO{j$ZfGo7ZrM(5Uh6UBq zF$Jqe@042k6BP(?EN&OEcrLxC(WvY)$I_C@a% zGwPBW?{1q+f4uv2i6_Fb137Z>M8W;!bfP3yI;t+yV$3r+x(d&ktHY!5@Oz%O*IX)8 zSrtH}Rv0&`5eN{^MsG5qt=e*%NI}iD@h3bu@Gp_C@5{Q2!`q1@HXi#yVje1=^2iSz zy>z3zbBbv^#JSi83qKEAmUKI!{$w z>V~WTauHRnrc0(J7GAHc*38WhMXJ3^j{U2@xPu=^aOk($5FI_a4n9%wum1bZK)WfG zyQ%%W>j6KbV2o=G&Sx9~AW~uU@FV&0$kRcHqNb|J9ZY zQPoT`09&Rp$^zj~#|sltGaNEYeg&v{Q5bQ_TEGf^xUb<>aJnZ@k!Mg-#V)30?Oglq z@I`YBAl_8f3-q;P4hrg-DCzdtgWbH^U0sN!_FY_&quX{ zD)Nr13UWMWM#z4*EGF=STZF=kM%=P$i+99zgZ&*ow+*`|T+V`7H-4kxzgKSzsf2WG znDu>6s0D5<_I+>|PLa&vOobhs;`^oGu1>l1E<{;>&shQ?rLAb$h3DN*G2-hp+oPgU zJtijE=iZweUlEzBJ-bksA**DQ4s<*Rlk6sg!iUDpKdZ_&7se1rpAsbZ!YV_;Us^8D z@kiS^KT4)nY297u+we?G`pXekZ^G}Rr~x#Qy$QBVZa%1VVabt5@iuq+869XJXy{-C zP|Fsm@PFHF%`k4IhcBAfCl@G?kyQ78jdhznTLO(yIe9(7CZ6SPIHg+B$V;Qc`%ky0 zn;b90<>uOD%~JTA!H%$5jW(LEwOp@p(toEUOHGzc6^kPjoC%=j?un**j($sRkJ+^i)EQl~Rn=~zem5bl7q`G1 zsGqG?5H>0G+VR6L?5RS9+4qYJ3zOU;trJ(2LIs_-SJdT$yNZm&Is5|PirDR?t_KYJI)Ot{s6EfBhY`8?^*;(K=d9tIXjgs}*QPx%A zLF=%tLxAL)mHRPsPU7dqk{E1h)7g}(irhN03q6{Ow&Rz{K9ka4rhl_DdB2b+EW`jT zukP+ArIyQnX+OOBq`JrhqD8u@6{WmeTx5&+NT+c#YOkqJox#3~dJXv3k z8A(K{9dy%Pabfo)I{Syn;@3$kOM7zn%u;K4kja4OQLYv}g2MS1r?{Z(Mvf8wojfx7 zLAoOI7mZFuOc17X3v}w4%ILfMXMExBy7=P|M`mpv5WU2C?uMzI3h{iOPYvFGDtof32k_$!y^Xq2c&#+xcKx6Q@i4C9yPSTb zIIXcC>UZ)+uTcf7lW(i-CXHzlRLG9_cm_Qg&Ce`C%8@IR1ZKNU65iWdPRmy@Dq>+` zPA)nsYE>#qqQUTd^9*WF51{1v`wFiMOF5xKhi)iTr?nET-M{n*y7Q2#E7a}N->Zw> zRb71?PyjJ=SNt2izWU*i*&LnbB1c_F3+tk+)bEgsMq5lvQ_$#Q^<-`*N%Qv%&oB|d z7n6#kHHNaOF#F{9>phuf{Gs^WXf+Qh*^C~;_n3>+>GQ&~`-2IRRg^SqpC_X1%_Plk z8Kh2%Kd<%2_OvWdt(JZ3H@2VdRGl;}6eg-cCT~AHeciE$MfM@BqmrgvN0>$;ABk$Q zZ;VKfW#lv4_EAZPQ6uH|UhwwArc?;h+U;4YMS5>{)TWKdN(&joXUHcM^_=wu_ z-tGJm_bvb_+RM@#VqSHc4-+p1>`h9YU45S8wFSeYGlWIilm`XP_aXxG*GtV ziqWY%#NFIps4=4*B zhT}cWuM{0Z8`*=REtK7y;F<$jXBUr{p_3cV1V3HNJFhnLLd{1rSJq%MxVu?A=v!`l zxQLs#QuzeTxIjTVQHX?oLc-h_-by=4bM)=zv{i=;7 zn96G#Wh_{rB18f4q2ioXyj?nyX`$D!Na!uBV5*B&{<( zAlmGY$gZIaCd=Vm(&lG2j>&d!Fpdct{_Ca*vsWL9EIT-pioe?`OCJO5bO>!K>einEOH~baUFKHA5aJd3 zQXor{z70v75-kW7%$(k^q4b7&I`K=0w&c5PIWOB@5&%gLyT<3IYWq|&X`csY1( zHrEpjCpN2dUUa`Icn_C920TN|;uK87KaCMnU!hJbUoomro1eiE@*gI9R0UbEQWcy` zZ1>Ij@R@bdpWQd!uwhgT8d9@d`+$wV%vP$H4GN&j_tQWK~vi|=XYJd06#@Z zsyddQ-DHl~gSx%_{5tDB5bR`J+NkM@)`+I2tq~Mf>+gbzqj~5a zgnd$sVN^+rW`Hy2HC$eS>c!Zipx^#azFQ4fBUZCCKvfFz_FMr=OxD{G8c~y}X zlGQrKep+a#qLQtS4#}#UgvOz+8!o?~7!qKPOQg@5;i!nX|7g==MLqbz}@(VT+Z(yP#?dj9W#QjHs+g#o6qNhGCPd79W zGuydTf7PsuB~iS|r)NWUkh4MW2|G~Bo70YVl+MnLK+hUp9Je(Hf$bMf_Hr9-XMo$s zS1R>;YgQB0*SsUSoOoq(l|WXSl(LbNA4xx5->^5=mZdHG)P{$1v+11&z51$(mU;o4Y=1m} zfup6Btj6V{0Q?X$cFYl2hI?goz~=X@QguMrxIoiwFsBp|q zjZZEmEHbQ>B{RZ3e#EnGt@~sB$#_uZ>T^0`AK$A%VWzavT|+#)!bdcgDrwhz<->D# znt$0P9hN&4XG$?+lZ*Co9|PTRr#z2UJ@P_E;Yoze}9=35%*%)t%3fNRg9v9K?l}KIN0kx}Y1`Cp{Ze_}?>AmyTHa z(Zp-6TJmH@6R$rL6F=^lJ=KEFZ;KR1AFp{Ix(6O`x==gfn`&_u&ZpVteVl}{4dAY? z1TPD#zu9;PsdWhAd>M}1f_!wJnklj6FBxlO1H9G)RbSQ>iET>fE7t$`o8FqkIJqH4 zXe`F(1-{r}8?4YyWY)-!{A|l-9E?ZJBoet?=*FVkb}JMvJ(jL~@1gkGP=vPU^G=Td zG5=SwKYw)>n|pW$XQZ9wp51r~$bZ3d=d_fSQBW$9pEG09XwEF&I{M-#TB%uM>Oo^d z@PbesnlY5f$stp1&YG08-sOS1yGZ$FlJX(c#o~ZTV8#kTh6qH4T&JiHE)#{nAMz54 z&**UT|DJ#C8Wu@h`6-TjV5%Ql&JvN{2PC`z_NG$=dH(%)+H_5_coY+tMW&wdEMf|$ z^5rn`EN`1!Y=w`oKs6aIMb%b^i-$uGl?}b zvKg)Dy*}4DZ{0;~B?rkXxXTW1l!N}+*(Fx$X`xaeeuWLA0# z==tNB=hM2g^XyB&0U8x;F|l!iYNAS9bhhO?%Gr^9c6M@+k_zN|QB zR@&c(D120mzxSGAuPnu8jf=ofx`HBCav!{=%FvAZq=_n~2F=PRfR`LUWO3a?T|hwk zm&?@c4*`;q?$<#LjmMRE>Z=hAq3MPFN$m5uG7bUJMcikqF+Wf%4b%7G-uhQ~ja!=s z%#<)!+f8@#8RS2ZZeY}FiZ54{)kYWv{CR+uCpjMvu6^E z^k^FIsD{TKrK&xAU_t8ICwBoiv;aQmcx~tesXeW`(F|p3#&=Jq4IUU^6bR$~zx}%` zkDoK26LFAXp*f=;xr*N_c3JON8L?a3gFUC1=;-PsUNDF8-ERoAmin!PErya5vgR;x zz_WL70|L{YkT2W~JL#T|Dp{Kz>CO^p3PvpB5khp#rr#N7KGLf(=GQ@cAmgIYMhn^F zvZ3U;7h#^=EGo}=!fcy8&tB7ipnq}j_!l7ofvj!d4M^wnWU0kN^C2U1x!mmnG11uD zU~7!T(xliP!t^%RSwKQUj1n)ow;JjCv+c>QiF&CJwolbUam18ieY;10j^+k6o7Lqb z|9fi$U@GcNqVJI(~$4Bk_nGaQ=cd z74yf2)bE7h=nX!s2$H9tvyGpR++IrSw%as8$9&s`zaBIJBg?f?D!#vb#fb4#`{OCh zHa`F1Zo%E%-QAr8cXtTx?(Pl?cXxO9;O_2s z<(zx&+3()_&H3Ix-~DsPU@*FS^_snU&azomPt}&rMd2%pTdY5<=j8VXLl?W8aa1=w zx^kAUw=Q)!XuXNhdd45n05JwlJaqFq3Lr#KZplY2WrrR7Y8zJE&Q zcDy}&G83;muc#_f?=V)BFEphUBNrHaH<>7G6y>1ES826rw3AMx_#yCjeh2kqZ?wrDA$0E@!AqFFzw@nV@P%Pklyn}eQr%Rl(c<}Kq_n)q4DjXty;7{Xk6O^7@+;vkq@Kahljs1l{Yb;IU9P8L6qM z)h>7VN(3z7INvdx%YdE=2u$>d%99cj3ReAOa9g-SsZEHDmEiXemlo@#(?^XIe zd&D(14ox^VjwIa92c!Y?A1_7{1!~rlk-!A_{_RNW`w{8p7@;oFJ}CU3wqY>Mdv@xo$}69WYzS(2fAGJN3ja zik#nwiww$x%M40~?}ry`+E^6C_Rl*AQ-6fHzl%zfhRh($|M=U1WTGK>WMre25N+Rk zb$yMrRu3e#K-q6+eH;*h)WZWla96@Jy8m3=gBhdr>Ixn+X z{o(yzjOqVsTL-fN2{iZ-O4kinrU&x7{tDS9LC^XBo@Dg*ZVpJb$em7qHpu_$7!vS5 zGP{tFbG_a{s0jVYpcxCSE2R(vp8bP1Bz|zS>*Vp}d;Oi_`!@yiz!SdX6@=IP@(CI= z7|d(LwO23k%h&%sv0s0TN8&e-d_nlf`G3a&Kazj6K7v^P(xBqFubYBm4K8uf-Q9z8 zonEQr%0%lIOQ^72I%t86o`7Y=e6s!7()OOASOD4O@oaU4U7 zayKrp-@nBajOJAGeU(X`XQHJ|VtQ`Kkei;$LoU>2{;^bRoVZsKMYP0ydj~c&GL$Wx zJWGUX*w1m6L&E5ErG%8m{>eHRu*xblA`D2eQGUwZ^ zr@^IRU|3qYg5hkkeQaVR4-ipXFqX!KLe>qef!5^4>TBWaCu<<&&wxTqOzfiDQ^ALY z%J$1l`0xKnoIn=erZmsDNTWCnf<`IVA|34QD_uMWNlCvGyt1;!9f#4DbRy+I9avi< z0Utpa2!p=9)>_0@Af*(>MMxJ-HJTzU`w%M)jTB^S9Yj_1I_PIb|B`~3AOKO6UvkWYUj_xBQKbjmSBNM+5h3Ea z5nRh8O!oF6%K&qJmnKv3oJS3SWWhWM9&f`2e3nNm&r*vA%Hr}eS{x-Lq&DR`FOGYY zY|>CdMypA5h+O7p{P}Ktqm2Y^Sw20e%0mBnA}X$+&0cua3=w(a+X7vmW~BRpv0zv0 z)xK7-_HKVW!ZvCgrkO&mq%{vqFu(Q5)`+vm8y3nZJ%l*Yn9+5v;_=AhSH*q5sBgKt z60Yuaz#0?R-LQj)kEENHfJL0KJVw(nZspaL72Lv#WD>G}GsIu1oacfV$Rb>2c+hxE zuMJ_Z4|f!+VRMawRw&ZU;0k4Ytxb-3LNJHPCl5B~ijS`aCrEBL=y`d0qC1$rg5H_$ zJkdGzXdaY`b?T_-g0a2W+h4_)=gJenQQVKeJYcforw`P+#awkgogvO|>6{&sspbxd zNaf%E)Ty!`(aw@IJ9aBvKw+_8%eqq-y1z^VB#S-i{E2qY{4Y#78iwcQ zd$}4YivuU;%`?^O&71T;+ZcpUSW90G*y705`!;EX*Fz9f*4xQ}1s80YNii2{pBnJ< ze|Ay)WU)OZV>H*`FH)Dor;vNzZPrXaaC@76AEUwG2X&86M3l~C$!=CRzr5iBtZ%^g z5NW+JWk0AFyka*$7O@?a+0`Bl_foNob$IvuF}iSbd~45m0vZQsHct;sPlvKd-Jo3x zJoOvTI<8Mtz~>mP^=Cj$iegq)WaD;^vwKbkk^l&I0kB#;Ilq|s2&7%G- zM-zhDtnE+`;$GS$>oQwTKiQ(n=tVnh#R;OI`avEzL&r~aw6zxY%lE}Yy|UPZ#(OmP z8L?25HXynA<&PywzGS%jyEu^F7pR4S`+qrObHC3S%bdw{Lgq_Vw8ib`}!?|M9qDyz}@C52P3isZ#4+;|65(C>VT zNz<%F`S@JIibP85x8Wq-ZEq()m5hjyp8x?D`{N@D!7e8J|J z*+Bk#DfvrFCWBtHw+h<2_1Y+CQ>hmPlDd&AWg5EL6Ht#=*|C0&_4pi5Oh-rGJDsIo zq?XA&i%5mEZ6)2HBojiKemdo)#$?HNx3zV!uugn1{_Rb~e$hoR=h2=-Mx~U8+7c0wy+} zIycme@m7?#-7?MP@K%i?QH<8%XdiaOyr*oIsKkr4`rs5eZ06?N^UI-j*CzP@gPEtK zx*Gi_-C~8wkiO7ksh!rFI}>X?!$B49)Ej)s)H(r#QahJyQWzY$YXN_cwlxOfP)6z+7P8(EIl99vpjar2#25)0veXKNAq0&OYi(5@CvEzR;p;DwtT*mdr1YcN4t{fa`e^|YE67% z?3eS95M)Sfg6v(VoNlhSBeS?Mfc3~jR^>vT+tY`7G*gy_{e7dybI+^XZC(BVnWz3` zG!$CblkGxe85T8?LK5x4@U@4jl!YO$p~8Sg4=7+Khw1nw$9Z*#M%!r~8C^e>e44(u z3irCxW4@c@BuDzK&3sMQMsCyjI$iOyTEAgKxms_i>D7T%p&_&o z?OEiJiAwVe_HB?53mwm%`EH&2T{f77B^@7@-4(-RPN}&PaLP@J7cw<%2P^1Au>R_0 zOEoE;jR6k< zTY-d&Ngg03Ma8tepSyY;-ku?<3Kz`6wj3G5@`+!~1Vs~0v|yn*X&Y5XIPSU36~k~X zs(zZ3jDtV%XFc8<`fX1*P;9A+fOx zk7r$s!GWP!$+P70wYb_o2us5~xkycp)Zq)QB2|G`ta!9Z(GO~vn(W+s0IGa#ehp^U z!G*Mtn3xZZjR$iql$2>y8cn>q%mkz)6Z4y+RwpD^r-xEKoW@!l<6qOyd{~Kz@*^`c zm>DhQrp*kkt%G9Yi7X)ChhnYqgoRg+{K3#rsk90z)Ma~4$qwgXkTRD0%Gn!rPoExd z*zGteyfHD4i%jC66!NMfrqVUWW>}|-??Nal>s*eQk2iZ%0}W<2v?N-b+9z5+vNp3M zYaA^+LE1eYBa2B&7UYMSsF)M(wEc8=5%RTztFX$`N_(d_j1lj9@y&(Q8;YvkWfeQD zH~e_X3KgVFcN{Kj9EB=d+wo0^*-u6hh5ftoneG*cuR0Ygl0t@!CyUQtO`tzqL6QWS zJLy3lWko8IU2Q=Ig!Z=wpNa|-Zt&)wC=HN+6qxh&V9U8I|l=-*x=M(tME*5>Gky z`91_S&uMBj#qJ?SI?j$&PWC?juCN?+Y2X0PR%(186Pa9DT#{q1F08^gdtIk0SCgOD z&*!sHBJ?m;D z(fAF62{9*U$gR0#_Gp*Bu+8QNWS?S#dS3m)JsIW@rgg>H5ut9&-05ZNeNZ}$!aE2H z?Kd_9ukIQ=mn@{ab;nq)j3YC3EX!@ZTqS$;GX{7EbqLqwSii zMYW6pfVsRgTyz#yZ9N@i=~xX9Xo0a<&uc~+@=7iGSxSX(U>wOd#3fsXcjq7C)e04GT7M928nIA?C-Ov zRooNjT&9kL#NHWxO3(mo$IS+jXVn*pM;zGPO}W!->~IY+hG<})6>CRS=A>sC$2^ih zP$VWXnA4s-yx`E(8W>gpuWnL+xM`F=-TxDkGG2;1+- znwG1);XckWj`=8~3RizzOzP~OaYO(~#-iJO$2}1%T2AWxfNZ?L^XBXVY$68&Z@oRQ zF+ug)JuA-|&>@9y$wF4f!ooswQB%V}2nfG_I4pw^SPzjkj0y>IWICrMUwv{pG#6;e5zgS)!VMBHJ} zbJsKJ4_73-WBA9U&r^y_6zSA!BKZeAjqQH!eT8}$zYlsEHk3cOGY`7He)mFztzMUS zWx}A@Z1%`FbaJYJBi#@8bs7n;uTW-@4jT5-Ng{2L&yVekRyCvFF$gqw9W<|>Zo}6V z-I0{&R%e&={^+~fGsZ)QQ%G`H9O+2P@r!m>5!+BX-^F!}d zJPI`v3JaZiJbtbFj3Tm!codftSV?DFQuC(=qqZB_FEGRf`|B7|=}i(CJ-e@io<3pz zHk;e}YLvcY--K>uE&-4sNSu#jnZCZ?2_>;Mu1PID1eYDK^UAq0zDLzU*}KbI^P8gh zpP{0m_2JVrVvS*NJrZm-e({IlJ|*U=f@b&R6xt$Aajb;*AWrrVe+=Y$wfe-ld{lXy zoW1waK?xLD!)pHY8{f<%-ZGm_entkh{r*Jy?Fl=N8DkMHDDn=+@ZhSvf1MMH2 zt4;as;}T&(n#!g3_iaQWth1)OBB*|aKYEdDRH{kBlevflG@UD`oNMbY7brO2TDUqz zBxDPM2v{MM8B9z`Hgpf78Dk0_kNlWi>-WpvS$j%zY>6=*vOZ#iC!ZPUv|KK|von}c5K^SH0VM0+!b^7CCC0hs2qCsfc?ff09jGV$9XT&&fVW;C$Mj zZ+*l$J`-9Wb^t}|dg=1Vsh^~hm4+R^ITS*68yZevLFEOBd%B$sC3_gd8U{s9V>3SN zP30hkBwI0=$^8LOz~KB~508?+-czQ+OZ~a3hPyViOA`XQ3YxlIK3vN~SlfG5;JHz` zxu|S>l#9u!<)i)Ki5L@;fSIw*+?UooFIQQY$&QyVWh`F3NM}^H**$on;=Ta+qQ*4_P@3Aew|kNrw5%A= zqM>fzjL963)Jw3ebWrAWzBKkYltOlYKoQ!rGMYR1LJ+%qYc7pnn~8s&t>v_}Whl+B zeHD313^+G3M0GJ0Kx%AQj1*>77Yk*kVZF?pjVy8D6_n8-lwDsjvPX6}W_!%cKLw^h z;JOoNm@1V16fG(`=yD(6X0V7hHhs?z?tss=T_LN2?PR-a^FX(JrK0QQ1qX|$^%m`L z{3tJlCVqfAzwz`E zMDv_Xz@AGza8IQjOJUfvCY_nLewd<1tX^l9vxwu78*8?B z2~QXf@p}z;@XPUwUGCls#WmB&&;Dq>j;EJ^Q@!U&1$6U}(9_36_fE%QruHJn+h}m5 zp!d~cFds|{4*RYdJLkSy>rr$`}L?7!tpLSE*@4 zX{H5?mH_Q5wmWOZbH5?nybcG?4NdMXm;0{Pb~#SBhdLVBDA`KqT~z!w4At( zO?q!Tr<7o;3NV!I%vjC{HrR4cVyG0FD|76$Db~`fJNAJ-&Y^RV57#N3V%fagUA-8| zvCKqpk-&H?aN8<l{y{rZ`k@MJQZehgGdpmDzlqGf8X4Ypj(SYH1rWP6 zkgNPerU%t_`l>*#_V#jygor`y8@^L0M@TJ2HDjfwGA0v%HXT4>Au{CBAbVrdc4#K~ zyiSjod;}Z8OvLEJR{O&EFmLglI#P!h9y$cz?=OA>Se<}QW`Id*JinQZxS1r zORF#3<7#YT>{l#~bQ^unLj5Zuy$|__txV?m3<9XATg08JZWk}o>_+|6?WEH>@O_2w zKKqj>qp=JEJhq!_Rt%s-%_ z0ksG^vde8RU5~IVC_5Dw1h0WfMHqN+58@4grNE}cO zPR=}ot<4(%V(CGFl%nuvPN9D@yo)Iqhmf*kt6*3*n*skFf)rJJ7%L^?aBf`q@orMq z>{p{;2amb1WT+B2|IR%xahUFF?=}NRsyXl*x5Zh}%Oic`-u_CV(Td(+EYq#L9Ct@$ zbcQiagp)$(cwH@32pgnJnmDkn)R;3c#^AwzZ7;yH15w#wOTAJ;+n*jY9 zkl@&D3LBfb{3P^`>IX6(-%MZ`UaF5Z5f)OI+He`W<7p3>$eZ-g;5O0)v9vtuF=s6; zDBj5?SX)oincUStGkVMfNnwjdt+b`GXW7o?0&IWo30#($NNYZsfLS|i)^=g^F?ZqT zZN@h+pPx_EMJ2}KuL$UK8{DV_%cYhPRP_2sBQ5y#A5^=bq66Iv+ou4{>TCw>x|%Fl z>kAiJAGTG6m0nf#dMQfJr3w@OqHM8bAO0~nXR3{xhgrrCX9!T(-U*fHL>@E&-tH zX=$|}ntdE3WpQ@m=(MfHpxggU8V>h2)zk6F74Rqr(e3MhDIkx3sU6%WN?5Z2)MqcXd+)J z5%4pVIT{;d&`&3(Tvd(I$~Y60TsEN;ets&bobX(S0&eYvI>YeW@*8uHRb+llcFz4nA^^I$hX6tOf< z*@_^M<+grpw0|Gor$@d*A6T^bJ?Lc$&(4sC80viay3A(0z*Min%a0`HgT?x8qortw zLxu}BEVeS{MT-TY=+DSK>*EUHH4J3~xKb(+kynVDmwnL!I_9k%Kl-a}`9U;WGf_!2 zSTlr5P}d6DZwV*Ik2VjU$~OmYJGtBqz)80@tOQx%cQ3LJGnJ@oZM}&1>gi=cvQw`+7GM7(-5h zz8!(d1q(+by>$_`^XeVxnql`uHtvxn^f^gnfcOk=8*wh9%qr^a5nAcVqtoV1YWiXmFF?78Q57xTtc zOb|tkzLqFA;?49_{Y#B{DMiW0kGAu23zBJ(q_-X*SWi#hMB46Av8iN1s45*D!hCvF zY$@3}TMQ3oynL{SO-0}q7xra{c>tZuc>hUiR>1cUC14mUP2 z#N+Z@CCfjphYsAvj8_hu7JJoe3rhym+kd*^kxaBI(bLfxpZK>ZDsh#&q*ElcZ zh&iLA6!!NV6~VfB7GBBA-<;APe_Eq)ID1KH;Dl8MtmO|{QYbR#1u>fxqMF$Bm9mx~ zVKZ9_LPCGaO1?Y{p~6ZjqW0slqa57QyBLs|R7${}_S;E_n#o>eQG4s=l63A4i7csS z5H;zHBI+LLjVsBL3r|VGaCS1%_Aw~tP`J$WdWm~h&#Y$v zQ3p?U2Onweb`u|9mW}yqQ0P$1ih2Akux!v{bh+lwm0pxEa#GN69I(B=r* z7;<67(L7P*Ltpmr+$QJi_kP5GxyAF$i;RD8R>!3rR)EOQw1(&4|cSsmbWWwsq+@u?sLV>XCMVg?o7gVu%z&c)SLrU)vpD?{_ne3xZu5)IhDg6fx%_k=vCCslGif z)|?xMkc*(^J^}4cPfo1lYB!nmpOiS(R*3wl^60vQ(1+^midSTp2e=pjFdv+Rqm_N&P9` zFC;;n@{HRq_MYZbM6Cty&Ed?{*Mi)A=6LScXL8B(qL6vw&@7^`!;~RDH9SO?mDc7( zc+7*WQPb;#g6-A1G6gPi4llFBaWrdGYV~$tZeqE4BaNqM$N&e|7I{Uu7d*YdIeXi^*0t z7(+c2N6By6<{p#odEsdjtuU_eFwW(o+JJhYFoY&_+D|Ap$G&ZMTCXHI%w6qp`YZ?# z8;3*7?YW{yu-Pe|YRM=s|Nr3DBuP!HMi^@rtnOoQpCVVN^p2R6Saj*VrzPk?9Oe(Z zES03G=QT8EC&{=2J=T;||4uV2A5VjkkrIhBN4jmz!L8EnTxK28_b-X^{OWWxp}dP z9{$)^RaS?_y101-EzcRatQ2r~gLx1JrgbdK>k`rammyEIg_| z*yNk$y2vgjtH<@XKVq`ag=-^~)|gW;np#R)d+kcWKG`-SQx}cV%pieW6ad0Saq_8} z_nn-DSY154KPndMwbYr-=8Qw@`wsNTR~coc^O5U9ZqLGT1c8y|dut@jhk()LdzUqc z3c-4+4Q@)_uewT;%;)1H_6j}6Lb``lJzkrMAGNuP2cCh%atMEXdFgiFVOm%`S{^jV z&^TL6j}VQA`?P#+#Z1XUOQDQZj-?Rl>;}w1GwP41K6v0w8yp?IXY86IL!nOODTmYz zW#brmv|_(9h(PfMqqdKU)(;IUF_`%Iid9r)=}ai?uD!6hICYslm=TgQRl({l?Ebjf?l$!JGy3Pul)_$VBW#_@K8a9y4vHPtlX3=_}b=Zd#s5m7Ar8BkdogZ z$;QuVg0<&pw5ADJcU|)N;0j-S_c&#C4`UlC@C{5sLn2?%TnMhL^7FS@bBIm}c;2Vt zqzpL?e2qq^8qf~JO-(J^>W;_k0^~>07~sz`BZX`;>~8l^1UJR-Lf+96@_H3Sj4299 z-2{K*S`TsT)%fN|oPi-pRrNbMJM@Sg<_$jqW z1@&jx@w&qZV#fR3jNLt<#o{hMaowp#i<9E*pE?u}gOyi&Bvxlym{^<+>3z~#xz`?# z<@yTw5`#}ITZ}*(I7IIoV(vqwAGkwalr|nCqh^CNWWm#gXwRK*Nr*j_b9A))LHkvf zf|Lqh5z0RKsW!BQ&g}OEe4&L=kzn{MO7*!gH*#lL)rizyx&*3#N%_`w1vL{&0d!Np z9q1gLZ_-TReHQ#m04?$AwG>KZ?bjQ*!-cF?+1Y22L>g--^YzLYGR0yM;kShh9L-G0 z-{mpA^U@P~=N+t9r}Kph0tv}W1rPji@rkv`gCG=G!$}Ndu8hd_Lp_+PaY7*78R|^r z1RMks1_&_eq3BzE(U6lfzw_+;v|oparJukc#rr62&!-eE5A!UBnDkZkX>aH9*dMC8 zP>pyU_~F>&t&+<8-Fb&*`aYCyPR?lR3wY{qRn`+t-0YsOAojpMtS4J}lhjc4@{jYf z7Jc6&(@=%l1b|gaqKi{mJbYU?s!@4Wr*V zu12giTlAhQTNkOf3d%_^ivMf{lS)pfVk7j}i0!bXi3_eq9_1#kCk+kvi zbF8O^20rJj3c;vpp^DU)&cq(IR)KPX8?UG+X|y_|1L?+wMdLDo&#skfC}eJd;Y2KR z{L}>^YMiQ>1}CuDo3adG79N9rqpnAZx~2gUo)=h@OtA9qOq{Q6oGYEU6bv~P;^5g2 z+HNx=X6iE>Hrv-y>saLSWtL5AK_MZa^3UJPN(aKh{*L$l&qczJcN7Y-r8hlhJhpzFY@=Ir`o!5xbLA|2+es1iaS3F+zj24P`Qb=0A?3FL%cm0M6EB0PMjKZs?#?IyDhT6EkLaED3bG7t!7sh0& zuxXKXnS}|r$~ykC`)noa{fCT%Qv6!u)nH&^i@@orOQqkU&?OB4KE9kv|GuQ7UkOup z$7%W4Ye`CqE;itAu!Mh%m{7e}DI{q$4N3CiN&kF)b(J@k#x7@N1+m%$EcqKxDb8rh zv4C4$iR%6pQJ-)}RNDv?R1Dp#qZql!y}8eh@R~`n^e1V$T||@yjsn~z`K`R9ganFS zR0Js(@7<#|izg=M;!czvH?;(=Bd8K!RkA=TAkq?u`%}!Jqtt$8n+2%$x_xud`u=T? zV8_tFV2Yi7y#N>iKAgFLd_0bE-ab@2SCUd;pw0B;Cev=?07^5jRL#^Px!zzssklOm z)uovnSLUlLUfADnp@Y7@gGMH_QKcpQOu_?FAt(EzViFkwi4tUT(wf1tQwaUyIYyx% z-g6QiQ%F7+van1Z>A*|R>i?|#-yY=sN~+Iud7yRvJU{?~78M)kK^cM0Pyf%G36p*$ z)lYsnLLzidPsI5B@4Fz@QGYJ@fd*tRB)0dJv8ezvlCR7jTML-|;a)`~d1E z2wgD!wVcusmh4gi>)gF6JcWPO2qaMgH9H0(6ywayR)fqq@p4I&LIOH}FLnwcV@Y^> zQOgzN$45!H4y!|ij75Hv5dO!HXe2up2RrS+<$m!-Cer5$N-*0Vq~9_Ml+NPLziI*e zC1Bk_1_U0d_(A*qc8EWJP3!~EyDZjC_AUHxiR-_+sPqeIK&C9_loKZ!9J^k1kA zbR{&~e_~SpI2*q?t_TLMp3(-N?tfV2|1yNv6c3PwrYeRK34TlSe^M$x6oF8V3Mf>l z-}^WJq<><;fm0vruh@tAKbreephwM5u|ej`pBLqKD345rU%)AbQo3CrCg)ER{F_r9 zWZ*iNcKLPv555Dm_q=||7Tq{n;s43pzb^r^IlwT#P&6(?Lpw^ z-ej!>S}MWeZOR-UBV>Q^D-it_8;dkFG(;!TOZcD30m&2Ow$~F%&=j1ss3s#zA`n2>S8XaJvc95 zPW0q)V}`7d0a2}IDI*NBsXBUBgu27T+KZ=%eA>&Y-R12i1HZ_K~tb)+H-~gdO@ZU*-e;81gkw6Z0 zhKNaVc`3UiAthy1E@QG>O4Pz;lqgOi^F=c@HkRXHW$it@^;m7zF1kutxc1KE>y#}7 z=Eyt~nsZ&^!aiHarsLdWE-ow}9VS9$U-k5S-SLo;mZlD*niR%E0A@K+mpN*<@!^Go zXzrnU@o&1D?JS)!j#i6MP=l;JtVG-2q;}|{@XUQ z0i>)vxFQ@>ZqSwx>XeAh{E0WPZe1kMZ@lAo#f7V`i=0i`1pOj*Zi?u{uXb%O9++yWo(} z;`d6ohxQoTz~)kOYlrh?goMG!;uU+BJ7UCz%`?FkZ_R>0oSK1sgJQYbgB)|W3+d+x z348|!1W(J|d8STE%a-R-Oil-l!#O~dciA-3dr&!kTn_xxrw4)k!I_1X_9hrkgD3V~ z?bS+C!zfu3b@ zBpBp*)ljg6vJGyEjT@os+=D>$#S)NSvVe$Q5apDPjc)6ti0g)F57FU1ByFWK# z`9tHXT#+9?f|0CW?!th31j(U0&S+*!3sTK0-}TtDwy&=f7{aQT*Id$x=OnqCU7yH$d2xw^f=A`2B?*`*3Q>vYtwT|qP+HKe< zB*HN{i3+6rg4!Sf9?n<07xNmx4GZz)q+!|4sVN}5`Of!C00*#9k!*kGnSXTS&)mh+ zwwI4z#d%Oj<@0m5A)v%|ldVUo67ejK>rblnhfOFD)*S1~02^Gycj4JNIirmk%y)_g z8GHFpvcj!!vzc~92wZnNx8jFO0x3^Nsg3is+XEXi5p3Us_{1T{G9u$`cb+f`WoX&owt&SGTbfTD7qb zyQ!K0FBFFpXf7OWVlzqfHv7PE8K<)tuvs0c;HaZY`bwiab#YcMgROKf25SWy@fruPW z+BBC7zPuN#7tG|z;wBY}CCt`zgI8}K=OgT=E) z+o=bMHmE0wE-ia6N}s)(xrz>?+n=TCEY^(~F_^9i&=_x(Ra=g6O1{msS^ypLJAD{{ zyXB-N!!s^4PKWGcsI@Jv(PWFcd-TToCvz_Lv05(&7U{(2lxIdm5AQ3JwbIIc84_(b z`jst~R`v}(U~4bkZei8;Xloy3>Lf^=yPQx+BG*-O=k*6KJyV_265FkcZgQrR!}tOo zCbF?M%G(~=7+0&D{mADrkM0~i}eZ*&BnJ=_GfUAg%dY-6XMt0BKq%hsm_pYwmT!F%r&NzX>2t& zwI<$dC;PRO=!}KL5u7UoyeS*I*qU{Eaf)x--{8br*=iAL4xZ#ZkFbX`s53sfoY@;X ztEe@F>7U#xBXTL{usTa~xB|^^SwSz%-r4f9 zObWl%n6p#kP@eN2#Tixx#9OyZ+25MZn?_Db?mABy4r%(oF-R$us(n*@sGjy)T7134 zI8!}gFf!~&DOZ_(6c)<>GZf@Td@EHWUr#m^AAY&Bi$R%Zx>&pn0lIQL_KY76W4s`} zTjX3cfWt?f35DJ+ByfeeYwhpNxZm~a7^)F>b#?FTUBrC%Q=M;C04Q|2_%jR)DT|Ii z@q8#rcYhcKZFcTkxpQ#Nva~ExYs}^}bw9MF@8ozpT}N~9aj`c^KAT)7)W(0W=Aiy` zHLTl>$RS?6M}_nI?XJuYW!dZ?qes%0-ReUY1KM6`c%(rUEP48(wp|R^$ z8Oa2+>7Qy6z1;?cK0lzInV4#^FLHn3m@%aBVw&jila~1Df5*Crf$@!vhq0n#-kDOP zYGtX;VDen~HN9PA?NujmTn9>1nEgV_(=qaxF$wM1X2aW%Cs_0BXnL!GlR9MfIdZU= z)@lINV_cg(n)~@4I^t#d$=cFlHu*-$ipNR7w{_t`qtT_TvCT(t{ai|PvVL3p;H~ZX zVt$>=-Cnz0D#=1qJ>u%R8u6s1o<7`ct!dS;#2$l*^`>Or+%EqFauio@{TpM6a%G9W zqg7zb{bMsE+m91)Vm^NTb3^T61VjPd1pk|(g&3mGx@GIG5&@@`KBPkllqaC_xwE!; zAM@s~mT`nwpX_00B=)Pzy%^d@6L$ddrYTxmBh*^xp6OCMy^!oWf`;X$O9QHIq~qSz zRT)9sE2vGy&1rX6_M-hej~17=bqn2SHb)1>gM*N!^{&IvS{Nod{a%b%v^Iq*QZF~)*A<0~xgi9oyqHAwv z`mQGy*cxity#DKv*=yoW{q&?#v4C}B!PA?>&~?F5iEw1jqA zZq$FhpiRUcaQIctP zo<$k@RHZwHDO-WHh}5K%%SmqS2T(ha1fno>k={%F(MT*;$-PsPBY7V|hW+g{4{E3H zLsn<}>}iZXqRn-bc|x^hbCCq5lElT}{6>>MKyF&v>}~H%f~3ZiImgwcF%CX|NL#9p z6GI*rSE5(wciCcJwc9_c9M!H-0MMghUpK^%9p)yXGJN3=P#DOdF0T#-7hmA_Hp;_p zceMVfH&d=YtonR)AA}vA43q2DNH-Tr0zGm;*_wF6S6x$B3Hy-AAHRQacT0P8QqB3rx zULwRut|K_EfASbMXT{OxpIF(hZAUmdlC>k30cN_x@Vq4#Q4-!buH~`|X=;=h!Syu6 z#y46xag^0iO5*ZzlHCcZ4f{0t0GJpdE*p8tQ6;@SWygg^rH*koD1>ZfX1qTbRnE8@ z$c$RL^Mbw0=?Cl_;dt11o1~vzH82W<%$e?@H=8Zibq|7M+dqcR(vJ&m@PX-1$D3Cf z9Y6tHLDKAvl{qvMfDS$#jKy>Ulsy#LLiNHY^9Pe%iDcxoTnzY$G@wiCowl4;X#*w@>!&AuCSY1mSYiD_F`Sg^hOcNV$*L$JP zrp~iVH%i2g6$bDCsv+YafW$3uWn<-K-m%}-Hy5Y9cJPulp{~?9rx?89g0c6 zLq@+VTPNmhu~HS=fwt!!e@Tv;*TKxp2FMI=NSiyyl3n(4-qVR@YB*Qfbf!1ZSPll1 zV_CEX!wTy-&KdJ`_yF*57#gx1Mh^{)eBUe4h*b=tXQN@)5Y)+Zg3LwaKh%rEPgj;< zRgjXhA$eo*$Yg1#lIwKC8cdqkGIzo!EAp~S++eoRq#c*HUx%)1ULUN=&#X|zNuKk2 z*mCwg(+w7@)f#99gOKfF*ix!i8^q0PIjOC5W9@Uw74p0{4TLeTUbI^wBF@a#T1}QB zilrnH7px|_P(@~d=+I=?=c7+F>aWne4zq7opuYp4jDF5c;;2Dl=BH~h1JMSl*00{Z zfrE*jFvCtx;w`UV+q!k1$=|UbdnsBZcLP&c==}2d%wQrjzi0u}?k*7rjP>Go%a*mL z-(1@OkfnvXbhe)uyBCZmbtxI9{nrv)&KNA`2B5xAU9D6Y+j`^4&xn1fsxf*O1CD0Y zIAhqU#tQS+FtarjMKIuky{f8evpcYHg_dRt5_a4{4P)SRHM^IJ7kBMpWbSRWhILoj&7-ry-$h0LL!Q`NRCOt}$!=3a2Bvnu_ySUdcrtrEf)l5q zpEcZc#J2FgfMwz_FFHw8pPS>t`uNhmO?go@0nvX?t30^fke_9&ku_{ikQ_eBF9eig zi7ah6vQexY@YE$dJk2oMpGdi$e7TD2YrV^XyI1F2ym@P`trn*7Yt3$xEk%1*gUMmn z13-ZhQgO9*`UunKv^n`PO$Vwu3Y?0=PTTQe_bH>a7^~SkE!?X4gC=TW$je+!E5O6V zs(+ejfG1$&T#+G=&+|F%-BunNIm45WgUs2o=fu{imFE#*ftLKX=^Q*IdPQdEX9wUT z+s3#r7JM$BODxsjBQK#9^TQhTA)I9|qOWu!-CoX7CbPar4xn<#T^^2p#N^2I%$7u- zD?b5MFq#Nxj#*p}b}2i~?u0-65j<yra{oNT1L0Z-z3Pu8lhvQ|noKAV@G?O`a(a}hN`I`2#E{sDUG=prot%^D$vLdK zd~1A_s}g93sU{IJ9EG4`(R5=O?V?dqmYW)YDeTu6%uUpt>U|6_(o9jBXAOBBHtb}D zz(IWLvo`ieZsvHq-jbs6(=1TsN_TBa;JA`oxvFsAvv7@KR0wi!ow|IQUCf&I<>Ghn z$8aZVvOC?M<&)UW#JtqV&>|w)Ml?+_IJN$$`Bh~Dfoy8Cd2_o+ek=+!(e$S#1Akw@ z+3gjeZkKv5`Edm|?q80#+X#1 zpSs^etopj~;xs0q)f=Z5ykNu5D)-u689q_V+}x4}U&MiR4(*sQKZ`i-HAJdPvLllw z52?s9UOd-#35n6-T%ImdaO#0W zzMv2(8oRcM`&D3IP!Offe@ySZd`vvHx_aFG1ToemzWIUpY>vzA=vtADd4T3-lny$E zAZoOQ+UM=aSn9Si6*5qI)0+MIM+kXeh8v>kJD4JIj<#ZzFTGiau{vw1JaW=>XK33A zt~4@(ynI(_MO0XdQNh5LdSkjgBR0>pCbEWLvnW5m{lw~4Nok_)LzkP^Ye!ghTk+{` z5a?@D(Pdo&Us~6`$J`c&AT4E?d)%^`I8Mb_bgn$iD!W+vKcMdaHdIol59y>^v>iSv zQNX@qQh#BT%Xkl7NDAAu5Q^Cff)^aoM3oDqnf9eaXW@pFpoDmuo<^7c09i@6RfsUZZ z+G)DLc?y|a;z{(TulxRZe`A-+q>XwIpBp_+ZQA(jI+llQ$ zor%fl*A^M((Uh`g!D~`OX}=NO?e|3fDgrmBxJXE=r9^4l3>!#;HzgfLZ5b4M5woFL z#hH-6ehxw(C1vg^(af1Br%AQ!HZU&VvL$P=P%UbQI`{p@)30SNq7v`wQ%3KPA7pal>*rWL=wG z^cwkT4odvz2h^osw*z%^5L}Vh=`n(Y8wWQi6s}@FQmfy;zjlI49QEn|#p=wES0m_^_m+Fu z2QQDiJShaE6oXs)X^BJtb%4LvuS_JlOLp73VE>6yZB8A{jsJFH<{w}3<^V^-QtsD< z6W`w%4~G?1|I#f2Lq&3{yOxV4l6#q9*UyWt1ujhq8ATb^I_1CLHL`VXeZK}~>koZXQf?>UVfN+yPaWYRb-zMCO9J0OD(78Bsv2!aY4_uD0M4SMJ z-zum^gBWrtgG_S>tNN-lG?AReskliy}bwyGH9dZD4}|v ziL{G6P;l^0V#H!n>?a7V=Vc~3$y90kRc%>z(MJA=Yi5T?`ZaQ(GG>`hi7~hRQ@D@k z{__{aA}${Yv}|jizmlhpZu$YPFdgcx%Q!sE@fF}R3xR<9ZSqDmM19)SlGcrSOzTv- zY>I5}oyMXF99H+sTu#_>KS4@&v^CCZog}@tCMw8KXdL-j?asFRh~4T*!3foU;RK}w z|5*?P$~T6+g(N%E^>V2^?F>s(C%sXTb?BJ?0eRqcEP*X-tJo@vIr_%t7Wk`yWOIx8 zaP5Ld*lV-KQzHBr+=3IIhfVwHDz*kxoEP^^*|d`52#LpRU~0DG^*wh_$TlC3m5~>` z;&Zj^OQXOzBY)YfZ@we^E1<3p0ClsxuH+rFJMq==6A2OexX@3ZVwk#g5!F7qA#RKt ziKq=h+bcgj+Mz|OxMQXB{p&pSYqdEqrpUI^-=37Io{=+)zL?PIN%qA4Z0#{fPWuh8 ze>OVTkzyyKfz0eLIlYHZ46S_zG8TIhC&p~s8*sf9C83e1v!wO&6X5tDE8+Cy-6M5M znQ*cyJiGexHy#$6^4q(sZr1U?g;qWi40VfGS0@v}_m3rTT_|}WO=`%qfjNP+fBrPk zV8`B{PEoNMNxxlY-6LXAW!JT_xGf5GUfv?4{>oVD1TL5D-Jv@AMjOseKxet)=_n~Z zK02XXw9=VOpA$)VOJU8~gjQ{XVnqKMxfjtPW#31dn;6ab_?T_RsGTeI20pJ2+9;vRRiP$oUJ7pAL7&O!YFi zowDx6TT`?G!0R0@;3#S$UeC;rGY=dttM;;qx^21T3_4{*ZSz*JDR=&BnVhn?#y?kU7@7@iD|1|gQ6GFglXs+J2 z8MZsnL(eG3Z;YN-I*uUGej~+iggtrEzE8>KRxUVnRVAxdxxLPK@ zsksBrX%dRlUkBe!>Z2E+-~id%$p-H^80(4}d?0QyxhZ7XtS|7@bJMMvd8BmO0oBIq z4LKYqI?6($#cG{JL67*QTQu>7mQ^$(EsUEPXiBNV(gLZE2-x^dgRWr4>ZtMWnO7ry<Zd=o)0=1Ji z>(eBIe}yV{@o(j|zZvmK?!epW?!pzNx=S37S_CJ$>5pXxudP3#C&U~xO!zOIV!QckDQgY4vOScFTZv7 z`5j!ucSYJ4l#1ol1F*hOK2vurfECjBC?&Z?yD%^3=F+%IH0+-cDcU^9{8#Ys;M&&x$5 z2E(RgMPm}<)3qur2}oef6~HlXKi1W&AzT-qsn7x5-rH*f*^1B05ho1m%7(G`ks4^3 zR2$JpVc?R~d`H9WyOg;-*rby0*|8%6j&7o>gWN^RH&t6&LZ_PO_kP$w4VE#)=RZM7 zI#_>H;O4`|Oc&owc87MOV(Gb2Y&fwU|54mAMjrVI;@6M4kF40aomaZSeaKhTz1DhW?DyRkUtPjyrUR961u2KrxIQ2ztY z?~$}?XQ#~1kw7snJ!<=Lg?jhPYbU_5Mk+dCts4CSW#5kQ z5f8o=C=q={<0%ZT85db+|J13BJ*=Ney7Ue#oa3tCJBYc!C@t8mD~$1Go6R%?mc1RK z+W6#QR|w+w!q!W6*yZS4M?tUHkMX3Op^@LhP7kd^-FECJ8k8VtgH?Pl!%m6)w96Td`y z0x~J@^A`ltwAnEKmbJktq@TcEVINTof6#T?v9>My8aWV3bPW39iD_1o5uG?3v-9DZ zT|6D;ECi0clo&KIpZ35?TmAZ$@~cp1==R>g8&**|8T8unBhl4h?SXZPZ`H`(h|Vq!Fy!dUd&yyJRx zzW;P7Pa*g;D#Q1v0y@#@;#(yI-M_Td_4cuDTP5JD_)whNENU4WZdFVnV)jye&_CCo zs39yTxkM*BinK62dFM3q#pA1}dWp8!dWG~s<;q$628OsS;)Q6(*6clZY4HeM<5h-Q z=M^X2+_eg~fDMOdZgOQ*9-B$Y_udU<81-?#1_gVn4qr!K$kuOVv z-TQkn!p;vn8?N6hI+GWTIcx)uBc$*!B3P&7;oi&E5&lS~u1iM>EA@bqs91CiB-C@S z^rrc$P;(L3<_)}LmIlRbTwruHqPX(!+jr%PoqX}-)4p2J$A#4ZM-hw0}R-f^7o&B(`GO+yfR5c(@vb%mln=K z15@W8eHqxxpZ5}DV~njLj&p)-EcZI*EWy$M;+EA-Dw4n#XSco4X#V+%O&NBFSF!5m zREUjj(4QQ1VO(_Fwu!5J3n@ovsUingc2n|cevbq^gi{#C*IwYcykC7dL8AEi_bHm8 zt9c?F%td@Nd(cZVNdWY5Q<+X*?k_{W?0`MH9H{Jhd{3ZmN%-EnVc`vF)W7WA;O=x??z#9v=KVbA=P(Z}MwQSZVKio( zas<=TpfP9`zN1~ya9MyBhDM)RJ1-E8boDi1I?}MyfAI&MN6nT`F9(kG`Y%ZCWv zmX&?dK6t}mgCO)oGTXFKF^Jd5Z;djVJS`7wjw0IbHcVPIFO!{gkrpk`9Q97 z5xZ9kB*$X?r!lZpkDr7o^56Eu$$?Ulak<{u14@@1tdjHo6i^yoEgq0t^Tg21@EM_N zVPaN?V8`lOdo`>tW79K%I^&++j3zBiBkn7?)?3t6Ta8ys)^rewn6O9(ma70wqXR} zS&J8{pBBPChDABA^eR-@jxqL~AG6gNmSjT)`vifxSTTNPy-~mgU{;*(b3p8Js@e@O z@FT@VA~+fm-zQpcyWJBcN>0W7SZCyX-6MYnRGb#~ZInopSiMUks9}W6!b0MlR9utw z_7^Y`yVE!K|J34VvG{NLr*L!U&o^khAioRc;{9ue&{1<5f7h+i_sCS z52-qAHUex6-zCCk$mZ(>a(fk#Mnrxq@7=T}_kp*ZYO;u(f4xmv9ohb8dOXg5?Su}L z1H{7G$-0w0K)-&G>fDF1RLaCM?9kq_TnbtWt~Qey(MKoH{FUW09b%agkks@n;3@@%%50$6S7CH}&@x3x9P<+{dvJio?5^Er&X)06ux%{9-hA`&q&ms<&<_Qz-$&?Q7l+~5U2V?rg3_f3;O5RXZr zg{rs+-x*B(p0An9wBAh#@Yrei`1o0kq>CRlz_Y8R3sFo;6diFwaI?-YtV7jkf`8pr zH3}sxcel6yUK6CgD*+$oz6bf& zL;qhM9q8nn|Ksca{2BhYlm9UU|F7)iGLIg<#HJg7u5oGdWIy($)N=QO-+zy9l6emM z_p{Ld<5MZAmPVH$wPfPxWMsh7=YC(>kf62XIp;$aXIjs5tS%`#yaD% z?Jf2)NlSRJuf=ecw{&RcnvZOY?+OY#$*`cF{FP2M5Ppp9T!)5Jl$tm_ErP2ihvuC)qoboPm}bJi5Wf8$DvC?VH0`8SFoFY@uNy3l+%{``r23nLw~#t0`Ye zjZ_4`bI~g01q0P9N1K(1fx4E;49cgysgm4@)%J0vjmois!SLs~v|f8z=e$;kNmn`D z+=#zou>Udo11|xsGQWEA-h^^!M8whP9%>3IbnSXiQr%>&vqC1pVU~W3;$G8iy3=v{ zYm2etP|c;vhi4-D+k`}ddetV;o01-Ss!6wEzJIsX_$GBN->9t&gE)U;|+sq%ol)Ca+-WBH(UtH0t6!(NQmpzR@A`-E~0J1o^NbsO28f>a+*Nc-~h$fSCS^zTe1C33p7 zd5xt9Am~__HjUE8Q2yF|lwo5=riR6F?a4 z7abq}JKW1V$ED-J-e|LUmR|o8x0tqE0*Sk)i%P<7=kMiEy{kMDzZQz|4;$Ey;@^Bk zH=G&)Aa2Wamy!MV`HnW4vH*@rq6%C}By5|lb}8qPSODwfo$KZ1(JQIjOwjuM^dvri zMmJEIPxhpf=}qrgwLf2s{}{3V*hw_Nbk1L)Jb}<>W*A>Wc*u^r$MFSHd>LiI_J!N# z2ES#{&9jwPmU(jJbATu~-kAA>D5tO08%rB`fgz6C5_R`3Ea2neDfJCxbvZ$}K3W3Q zrWk4@j_SGM#`T1=2 z$#P|ee;scAxrxqdbG%?Ds-Bwn^Wy1hwP(R#V$63U*{*%A%`N^S~H(01wb?{~vr zH{Bh&Pvtehu<#z@bi7%BG3!G@<&QS~dqse_;GU%gce`m2jW9KZeb4$mn$Vb?om-U8 zRyE;i5ou|gIzgd%d3gVM|?}9Q!dQ z&6(Hu{w?mhG6`4lyEwvCl-Fv$CXF_r8{Cg?{E`4Hxg)(I>!q;0?r6BMbin3Rwehr< zU&x?r;3EhcOef@OYcaGX=^(FD1jcZTgvt_abWBavg%Jxs0M@^zZ=zMvLVvr>GN9W{ zn!N+o%75wUxtlN@HHPnQDQp#V-~j+;MiG&5gmJ0UrwY3vLpEIwXisp;K?SQp&KK>} zU$lTSOumm%?1_fcQupVyl-qx6)=0mjm(-B%uOz~xKkNL$wx*BR>qtgoJ?_#2yVO&- zye2f!=>=ur8(8Q%h}0*wySN81U2 z=he|UWRv{05LAvxi;znKG_{fFyK}ogGfAG?x%?0p3wD>1Nf_w3lhLDKF2?G4wjn=(|tj>*0Ifu(rh2 zI;X54+XT9Ux0}IShBdP(DlYoy7I3}blF?88zi_+%;YP%90^7DZsh2$+G)0Vtoc@g1 zqdV87RkR?mWRBY<5zwyj_)`drmw}Rq?^Kt`;$wEZ)nDgSUJ2ef&W-r|9bg- zH^2RCvCSOMt0aXRY6SlZJLBd~d&0}sY3fb&WwvCoBYML0^{*CJR3L9Xyx&M6cz8#* z9^Py$iaA{^-}S$DvhO*Lk0IQ(-*%QT!(8AWhEm%Ev}*n1vHxQEM83SntCe++BY)Yv z(*xoc5+=ehH+MgZUAOm@F3$N#OxP@F=$q0=qNu|5WG$mwv7uYcp=W!{T$8DP!d2W> zPJ4UO@froN+G0r4(|dWR;Pw;9q+8-^;HB=B+8R#elkaz#25=EvM}=*^G}jDW{HX1JtMqOwWJj(;T`_x|ItUr%6e`Phq}6_d-KLl%H|P z7Kc-^bjEUVZV1^sR+W3Bjq(li1Nfk7_=#SAEuzR*9Z@aWDqS1r0$9*Yjfptreix%f z0+kAoWii<=ux%)y{&p^k`~fw!U1fr(U+IC*EKR~in=#OSN4r5;n*Hv-H45W+cTYZ# zXF$Axgo4eT8NfsDKDQ}Gi(Bn{Ct+yw;$R1K2KeS^`yrqzz?A9OI8oxyk$b-{u&C@? z>H-$YqQP)Xqqjm;86haGnj*6G+I?BM;vr8#H- zjrieE-$jhYSBMhluM6|D%eL$-i4FG)0uj=0>-@iEK`|-4d(IF8s*m$vgn<1jxJB&m ztgn2wdpkL-`E@Oq4yIkXeu&lSM=m~W{Y&|k-`;*G+rysAJb3hI!`2B9?_Q_b9{Rqr*|zk2EZD5j53_ zda3^YV~aslpRp`To|F+O;6JfixpK@8MH1$0u48 zoZz`%YxkZ2Sdsr4?M>W;C0+RG>%X4F=XcCH9?bgDD_wzU7p};)0M@mo$H7Oc&p&=R zoAmOn9}-W@8AK$^0ddT1584sIT3MPp3>W;6|IyD0+Pk}XO13#b_-pS}2^~T}F)9=I z*q4S@axw^IefVx>64pk3Aydw zKMUU_73Z_Ai91Ui=AgvXUu2l|ZYJo-z%6FmjE@a^EMS0JvjlLfFs{r8e~#szDwN6p zXDxvL`^a>vblz`to?boKUG~{AzGM^NXqKNg3Ef0!v6DP}57!Hps$3+}Rpp*?`j&uH z#tP1zrRr;WVMxbbA3)*LG?CSPvnyC0sCa!nH@PH~c%)kOz(XK%E&(8|G?>HRBY*z< z83Lr9q+pfM5})bfUycmoCf%{r+bWDUr@M07YWI{s7m{1O{~Kml>NY^h$kXd7B1Q_0 zw5PW&%PfaOf8w$8-#>$d1R`t?sfic1e7WOI1m}Zh zckGY9qo%T96FP(uGJFb?&MS6KawEM_!gLaLn#{CKbYo@a(GOM9UUh9Cm`5YF)zF%8 zF#fd0FMQ2W$L!-dm+WZ8z`B%X_hXxqLt|gjmp}qvTw17mYZyL}kCtJlh=iat`M+O> zQX=GU+Tng{KV*}I8JfJ0I!hN=7G3me%y|6oP#vq6z7%HF`X&_?@kB)Air}R;nVZvT z4FXiL;TJW*$MUv;A}+x+a<5)xEq2A}?j@!wv6hyubh|}#bwuYfX)Y^g_|wOgaf(NX zdt*UuWE3>?W6JM>5oFvtuK;vN&j;yoBreh3hYTzfPb7Q(l`Fln^+()`qVL&2iuvBcp z!ZYE{k8Eimp;OeT?%TI-ALCJHybt(0GeQ5#qm8Yz71hS)wdm#W_xH~);}rZ`mpb9| zvgF>k`|B0|pYQsAWCU_tW$VV1*#G^w0u5&b_^dE9p8i{ZzW)C6w*U8C-l!`{+nTj= z@n0Z-f5MVT4qz9JYI()*cL3kLcKIu2Ijf+j_HX#qbnm3ft_FvK^wWQ9Rt7O#d@n`u`*IVpjJ?QC7sHm;9f0 z;jjLZR|Nc91;WzDfAyh%Fh9IWSB7^x%K69Nuw7SCLEz*6-?=$&*7wjp^%J*IEU(qx zm%E-9N&I+h&o)ZNhMm8$Fyi0)pW6$NqGZEka?3NqrWBVGfNV zjZm^8HPiodS+R~kaM*mu*>%Y%5m#%45w2>ZqTD7&1_uxxgYUTl1viKpsDu_|*Bq@yx<;G zndd&mSUJn9jEsyVnW?%dEHeasSe(9%Shh2i!Gh7f!B!*BBl1ge zyxiVH)w7udZ|qj|+MtDA{fP054x8@Rc%%HmCC{D|KHVzl3>Tm(iWSAwOPAr}Gj51! zF1Q~?%r*~f?Wz^x$hjirVpY6#op!PHW+#LHgdlV*Jpmc1fJf$RPFM{7Ee2f?QkvrgBh%%egWi7%?H(d}-k zuVk|snFw=C*TXm?Y!280H<};5q`i;)PF&%fI@_-1rPMZjIH|3RtvKA^HC!s9(wcT7CX(0pZ1OY8UqLhcQ_Uy1XMcXMBt*@Gv=wjkS%R~^5o8g z`{eAkPG+CGS?}(JijlIv@CPY7M53E>_IPhx{Ek!-U2QG|zgSIM4cEv{XVX$gf6~c#~M^n^CYRdplTdNM1b^K@Q|K#CT);KTct`&co`!~Nf{63FUL_ri4-u_tiJPqF0e7oYi-F|hmh?*kMntBJ{+ z&iCQ?euiwru}kLY-fqdusM`Hyg9c0^)-9u#6{MH1abpeJn&{My58=|Qk(ZzmlMe`p zBL1oHX=bP>aVT;c>l(=|cfl&BmK2NbZWJqwf@ z`L*)V;&G_D4fojf>ndTtG@Le6sIydy)_t*sTP&){^z1st0+-J|dIz%D3>N}fs=l>I z1KoV%>KtI&Tmj;&58sK3*4vw>CPLhdF3RoWlrNk=Ob(Zp&VZAJE<<4>(WwgYo`JO* zCvW%03`mac5)pTN5j9e+%0^~(do69y`#2Ih%wFeBQ?soc@x4{?t*kDh5fAPQG!RRW ze7VduW=0*{fYa`8oFJ$Nmd6oRZYY;C*!1sn&#ae|0#2L_64;0z6UV$WYYh|tpH#b8Y3pnw^UD@{VtVr3)oh6+SS6LGnAy3C6WN~@7;2&-E1>!s+v~Guo-o`- zOqo^n$u!@KR^xh)WU^k&SQ91eC`s)2$R{*Hm?iL(|MP7oXQX=qeJ*zUIp;!9D^A>f zAuLlP*Xlm2F6UfjeUw9N?>M(##DqC@6wN+%-#)7QT1R+Q|C^6ZXwGQ9&!xkso_jYH z`v-)XHWxv{WDo3(k`$)hxQ0wo9g!|0;#h+hH>b9bQ}23Ui(dJ;x3sn@rZ%8KTdt|v zY`U?*v~`yn?x~OsPEeT^zekfUAqm{?2*#<_Ri~0D)HUkZsE3sAd3T%IdM&Orb17mQ ztG5EXlomJt1(%esvTbNYZ#pX%%?wdV@j%y@H)b+ZeXz*MsU;Cs-LKzJkNzkrYQJ|S z?`blhuD(pG$2GC2K6{V4LsT|e2g~(2?$8~;9T{Xhw{2|6^sb~g%PnS)+-w)#CrG*? zW!hhq+wQE)$S(vPW?>nypDTY5{X8J2|K`yDV64_TcaaCmTf6H`- z69e#IoJ70S6iaX8=cP^y+fPKl3)6n&*0oO5Y z8iAJx0lRslO&)Qmuc1_wPQ%{bojuD3&{pW^{q_5|=1O@+l;3yI&4F7lE0v6B>V5!a zVP;@-$`Ul?FMN|pITog&>@s&eAQ9)zW4>#LzUQUuigT}dc-@CyY*-w|F6^n61TlXT zxEQxdj4_DlpdbxNH}CFF9?11pu^GQ$U_Pqnm~!}u_!Oq<(d~x3oOd3SY+ICas9Eez z)<#UJ?-`4}f5(y1BzJPV0FFbX7yOM_&B|WuQ_>U%V{-{U08l` zgY>tp!x;%yv9h0usbZdrG+T%74=MfeljkX6lhMuJ`mhx)k$u!cS4d{RB-m8oEk(5=GU zjWuRgEe~L7RgHf_-Wd~1HT2cv@miW%qhkPT=NB&4Dvy#}XG zT3_{4?Kk^|O~H_R$0av%E+v}17^Fpsi(}t~HPQM3Q*NZPixXdq(ee5Xb2Rge?@mZX z-2!L90(j83p>G4yXfx&Rtwbr#x-FUOm-I|++V6y`(Qfdqe}fFl8fR~%j`Y#Dl~Adw z_3bjUKw`vZdKltgKEx+DMXU4d#2~YcJ~;t#9k<$A@cdfaoy9IDFW97vXu7~B_8Zs8 z`_i6naisFN7isZQ2T@NLCP+W8K=qdIucJ>k0N$qAK#woZQVJ29OS8FpUpd_sRBnX3 ztT=X^XJm=bP+rp*$Y^oZX>%0VcR$*gsQ7%JK@OCxS-x`4Ny?&10b3X`?nn{uv!2Lt zEpQ=Mp4;#Vf5^=|ZjwvMmXV1*wT`l1-{yrbue)bK<_0jW%4@cUA(s0Oz7L`$F!-7- zwTBQ8(jK)rP0azvdc6{~pWHOF_dGg@Guz%wSjMn4h_(nwXM*il`+8Fj&c?9C`VSmi z-FH^KNNv+!kT!Hiz;c0l1w9yS8mE-qbyAe|;T^?>mnk4|AMng&UGb7ic9Dey+Y{M! zA@10W^fzvH5qD}>jm1+9{S1WRn*HBDRw&wMN^6N<&a)3UIy*0Sv(l2BJOf>WQ>pVf z{?JP}9I?$;Z>X<;rtUD&!K07i5dBKqxzd#}=jEKUcelmoI%C+vAPpW%l|p7<)?p z0z}#SD#>CT4-#vWW`<%^hCASAGc4$Ofq_oq>NjH)R{dG}Z;_^ye_+_w6u<8uzH@Q4 zzU=8JoT-sH+LnB?RS$?Ncz2R@vq1|48beu!Lm$bY^?M(k-)QEvp(-J|tMTw)_~S}Q zCGOn?w?ZzlT_L>$jpwYrXUS!_o2Je4dlo@g5|>%y2YE)dSw3$>wkz+RdLiC#N-n#j z4{c(jPb)h?U9NeN-$MK(aTmIhE!m4l-jTYa0bu&zB8GuYnv=an`TqW;u0&0m#uC)Q zvxVAR7a%_~q?J-uD)?me%zjdMB z#K&{HzN{n)LLGySR~^ydz1>-oY}GCOVWzFVhUD|-KJk;z*yQ2!bm?H3;ASB6Zoil7 z^=C(E(D;6X1hRsQ9qUrKxSwl|JGS#IL2kaKxK(snYt!KMt+=RFbNPn8 z$CAf$o5owyhxv(mfuqTqk1dbeKJ{_j%_K`?t&au4`Td zhmVeX+xxbTj=MSNy%#QV8?fPQZUS;ETx`*<|DEYAE_dIv>0?ZeJ~`qdYLZVP2Ih7 z1{=Sx^;vE(?o%AQ^Em<)ZYnB`abP#;;G;EKk-%gVbTI9=-seB?ZF|r6OUzPX*5}2; zCJcv{*Nk9g;T_$N-2GV2ezOeuCw=~1o5R6%F|$7G9gzIL_}FeuBju9bl)I+bieapZ zfeXAAk=z6*!zTSse-(hGWqoj^Ng^=)y(N|7)L##k+m`Y*9WOyy{*+|+=Y+OnW!lVY z$;^pDP;wmFml|3w`-y7Vu54SQ*p@Q20CsrzOxWol?^ltg0e@wQ`^iNxt@+FaP9y!L z@R}ofYIr^{n7E_5+1CNVWzg^gF;LBRlk75evR2L;BTdO%#(~L(Llo?*-AG(@b9)n;wZ{ zDU#Be2SZxFwl7`!gf=R=jlcD+@XYwlpnQ7@$+;KcxAvJQN;NGQ3r6&QGzgwd1l$9_ z{ff@H5A`;|t1soDpb&R}De z@~TS>i~(c&UFY;>Vh&KPN^J4CeRhG}bl%s4Ezisu<-0o!5oaAouhAXB_3NMZaX}>D*jy}B*{dF+vmr^f33?=-G3x3ITYWvaho;g`XN=ek z9^sY|TXB5-JR0fBudPNhVqLaIM>C7;u^yK3cPW9x6}cAequClDF&bs7sYSfdHDEut zf^Q18jcqMM_RdX{Nh@ZmHqw-zHOU*e)7(q$1=O$WI^3p526FcHGvBkqR8gaP;yHwa zaUg8ew49f*6(r%7voY%J#oz(JjgUT01p{fbMZ_#T_Tvvgwf1qY4e70hpKNqEnc#^+ zP5X%)9QmLev=L``4>rtxBo0MPn=vBa<;~rS`m{BD>B)C=08rws>ZkMV4ULDZ<)1&dpG+T`l-=Gm+ z&gLx%jz%KmK7x53OlJlt}&^N2twzBH>WI6>5VpVnBGBdiL;-ICn@6I z^VDXC>%*Uod%n?~x_@fVd&>7wGje9()Mqs=N|cR7 z`L`F-$YFebbf_r0Z<1d52Q7mz=ls`;SdBD zY`fmGZ0sDTh|SHPek5f5)ZGoq0BVleoT#1|GfE!sI1>#he|ei(&~C;eh}6KWC>>pd z#r`;&3O4)6yq@w zeagYlFCBfzGxqN57w+xS6mjQ0mnU zvYAn`NNBu+SUS4*5S?fuzV|TVEF#G!h+?d^=^TdX77mU081r=Bx%K>Kk~lZ|u62^- zaPVwVuGuc_8DljiVi6KO^aS7_K&aVBTd?=bs**b~0W#%Efw3)xbNu|#@7;x=c!n;P z(LDw5u4(GrY^@KI8kI&bY~rK&?w9g98&1MJv4aBQI@J3o%!HDz!y?nGtNXFlG|sVw z2}_?$dc?=;EL#0)L2pfakp+col}g0n#FX=3d(X78#m+<(uJ}gHk9-^JyA&K0X6DU1 z_BLpA%I_S(SXsU1>`4!`a}2(B?Zx)MU2^?xBsPUH__WWDRt+IGo zQ=nV&d27PG9gyN@8P=9TJSMI8cA7~TkKKI(0_9CwX!$Haji&ocJ?v^&&nHder)Lgx z87(@n%MnuF#tjEHQr~1VoUc)}Z=j_tocYtE4m&WCaWuB%Hcnj3ypw;d3WhxNqXFUJ zy=v5)sIsy%zd`tHUx9ool~^gq&zMr;ty#d#+QqOMz;T|sSE=f*s=vGFP4xOhYy>Ey zec?x{VQORB{E<3&=ygb_!Z8U1te4?&?x*Zwf#{2PAo~5sSYJzMs$T-fO1I>6#jk>e z6OxN?mE-nVyi@oYToPv(TkQXjk}6;!a4^^Ez*(NZTZUBJGikSNVGbpr znx|V0i%tcD`zX4+h?%N}$86MvJ@N;tx30%qS#E_nK_Dj;oqh|i+dZGyZ+GBb>e3_9 z_T5beA*NLqM<_aFI0DgTbkV!sUAb|fd7Yhqq9v_t&}_gR%{0b?F%l|W6VB1Js9PgD z-~#w%x4V;FF2BbR#Nz=wstMkdGNuwkGOR# z;hWW`xKkIEXI1CQq>l$PF%PE;gqNG!&@mDuu4Th2eNR7-`;V20M2xQ`=}En__u7@5 zNIJr$tgmm{trx}&V0&nbq^{=-M7r;qcY^VsLmdMD5{(+2g*IbcV^V1Pap?2 zQhw@~JFqGVmxC;{7jn-jbwYso+hYDmuqaR!0z9E7N-F7vGpg;uFUitLXtXU~#l^B) zxTRhrr(!fQmd3ohO_b+3@VMlRvd?sA#q+qPRs$_oaM8JBIDyK!e!QJ4fpr+bS-*>N z`)Yj?YE1zfw!4nm>OJ=U> zDR`But-GG!jrhencH0^twJAO3N}qk;qdK-CS#new5na4Ss<#FX2zWq}^=;x|&F}n0 z`)v`_&KF#7x!wJ&S3X|AinKbSbmTr^XA}-Fug2#pJ?3Uqmp=lPirZIH+d#=|9fWzm z?{!#QLNOe(nX(PfFD`1xY?SVN!22-2?N;-68~6#Hpmqor4W`}({sH__zy0M&%b{c= zh&i#c${_Ot_V|l3ggLrHXiP}-3G(Iv9Qa_^@~r#kJ-(DC_q&ASb>;e_<&@`P;9p06%0J}n_PbdK*oU)?pW^sap$ z@vU!Mt?kfhmDKIPw{5;(58q?CEQ9JDijMTes0qa!smm!J1e z-|ev&m8_NBQ#$r&%&w#6qf;ucE|KW}a*bv6M=6Uw&F|DR`;l%XNCuhT*GGG9kWVxc za#j#sPv{HRIY^wm|Kr|yfc5-I@MUKcbf#k3T$k{jyqbd1&ph3tr){ z>6u{sHK%_gtYJRZPL|%R(mLi)MrTm>Lx{;qb?EJ7avE`7+-73jh9COj!|6n3l?2(g zh~#Ja1Q?l{#57q%8#;;SDRNA=9(WyWGPL-fesUlgM|pGO7~Ti^gABTc8J<@Z#|gqF&8i=HL7os?1kGyUsLPN z@RZ*XKD);J9Y6jz(l>aL53W&Yz26yAPHKN1;<`L3!>0ZJQ1*?{m37;;6;x`+wr#6o zS8O{K+qPY?ZQC{~ww+XLJ9+!N=iT$px$m}i@Aq@Hz1G@ojXCC=V~*bY7#%f(csd<- zb2sB(Q8oO;IuMz`@VM{DE=6Tc*Cu%!UoX7WGn8HHC}NgAlha9F`_=M>crEJWD~VF&R3xN9c{4)R5gxVZoVVr2*`BUj4jRaqQY{EK0ea z91$wq3I#R4U-2+k<~V0GHzLF}y=+~=tjdqt_t`5{#Gt6AL10)QNJ^$%P{8nO(3~O^ zFDgp^%HnnN1<(wd^zJ0Cedscr%LGcsQf7^;y2THxz=px;iM)Q${HSec=*#yj-bRoe zzZ*^8uxC&YqulNU14X^+p)moNZC4sS=0eX(j!feb?)@ThSxg{XLV-9Gl~FHl!#*nP z%+?H*J&Bmg!s4#hF8zW!k(@PPhJ+_aH*L&l3-4?dxJ)TZ2G0?{u3}Ont+vd~xLiGe z^3>5}qm-u5LXLt*j0a6m&Q)MKq{2sl0yt?s=Q1xPE9$wQa%uRI@y1 zr+BWKyq2yq7(Y@KtQsW>b{=ZDAe(4Yg9P)p(19F=+7}mX3}R1evD1g5=VuS9F)inA zPE3Cnc~yla!-=n}q8)>*=DOTJ8OkKzcL9Uwxc(-2gppilC`Q)pk%6q{?i`=!e}%6< zM6cT_0SDN5)*EH%Kg8GBWvId7alhklZu1HezzK!T`vJMm12$#G;2J|gA)J}L(`qy* z!RfKc;M?T50`*)G$jRYw5aSO8VD$9z8kw0vT)C^p2-K)GXHBG2&nQ!269PBmKZ;aZMpBqKM(6SFTo3hDqR>4vQ}~9onkjXI40Ohc#PEg0)AhYRXj?q-R=b zz11DfqAgedb=eKI1JcFy^L)SrZ3_NreY5RR4eG>ptIx~(#Q&VdP7GOH_MQEv*&Upo zbCeAd9=(h<5q;Wz`)I#TVu7i3zl#rgXFad+TR{rgSLh)00v#)Avx#k;1*;>^^H%Uj z$${$VQv~LD-rHpkh?8JgOyP4*$0V;AcpO0t!|0ze2utKreAhi$Y@mwlZu;MjIrJae zsOw&~Q_0P4ZX)I@6tK#)sS2O68a`URjto%51{@f;q1D#19k>HRPd@UO7Q>D3I+Xb3 z>`q1%Io(!5>7x#0at-%A>es=Z_3TE#94H!9j#HdfvO8LB zH7N*$S5vW|%-YfyUQFAd;kKt>{Q9C=vOZ+)90#(Mt$H!;BnAhlRQ>IfHPC?JFJILoc+{=UVxHGBkA-7nO3Q5>( znSQOcQic46NQ{*JcVb}k- z!mLr}*y?%VyCfA#_i{QJQVFp$A%V#)3;qLGjq_sRB*k^)9~;Ym?lOJY|FOYfj-=8u z)9Q4oG_|=7a@x!8{y3g>AH65%?P_oev5oGqsBT&+)(`Hc73x$zWlKjC+D z+*>L@s(woV&*Hw$1$LFAg_v_O3m2TEKchobOG?=h8kbQ<*cPwdM}_4)Jd3!!?u9_pcz zSDqA`_pP$E6cT`?7#g)6+A?VrEc-_r8%c;FHOi{E4JXD&@ zmBbSxZ6#aQJ{rYTIO36X@Ph9vP)*_C0U))u`rjntnQEQaSC~kWnWbX=)9mfQ7ccAry)ifhaAJ~^6(%wf9`!_Ps+tqVuaxPxDzA!CcwB{r$2}2FGtd1 ze8C9vQ<~v>HldTk3DE$=M{2zRP9Nj3)p1+EYEA<$AITioL-rhmC}GhuLv!&%Yv7l{ zG(F{-6M~iK>w5Nd0993J4C?5Q`$`l03kJCaK2aRNh=`r6&oEd4y2D1bhe0(j<7QF}{Mx4MfMN_;gwMVjp>#qg<&& z2hV!Kr0iY9V9};oenYrh2%4*Mx1+MHPC(%g<-ymSUu-j9wN@K|73QGtSg4)vse_4C zB%HZ(^TbHqo-I?7Cji+$5CWeK*d;ak&iCEe=$8dbt}##1SPigRBW-|#HR38L^XyNA z`-;>R?Lewfx+O%Wq9}wsB`b~}?URNA44)2mQ5N>N#D9E|l=vNuPhVBf(SG_Re94p9 z2W64T&_yjOlA5s;Y)Hy7Z@?ojk4Bd&exK2@qU!EmfC|Jx(CkH+g5 zr9PU(T)mD*IFVp9l_X8NPos;f0;@CZ43G~8k9ci!SiUWHH@v5kGZo0newTsCkqa)zd=!QGua z)h<*;>MLLgYR?Hps1mjTK;{K{w{+8GObeVUntB~9d=S!TFxbE~nk~uml9#_FRjwgt zt!Oq|{s2-26;@P|KOvJp1A^h^Mj387St@nsEdSupbN)*6QMrKldH-)kVdwYy3Hw zc=e5oYE>ER^CHWx^hdg50;8&6IL^M$LHdYOV}MbVTOT2<)U%OBo;FBg zl$6^RxC+WQ=}^U=C***7!G}7Wj6+hiA{6$-4|ZEzAoTeON1M467d*iJ%wn};^H?W19kQJ9>oDPpN zZew6FJ^*R97Pgo8zh7Y(Bg;JuOSJbTBtGDS|q4qDGN+dFdo>i__J(B06TSmey zs;?ejw0{5lV%|mUC$?p`#rLO5TN_DXL_b)7E$|KFV@cS2p_aYTbSu8?0h4ABh0&3D zZ8I#@`e8YEV(s{92Km9V&&dY~bXW$XIzor1Jr#iL`=wsd-TM~H4;?);5i6@gsdN|3 zYchc`00U4$(jJC>m*Ryfe?C&*oY4L39^Y+NPB+ruJEneH=avpb4?%o#o%Yx+UP+{p z6z)}J^b{Y%IOwDgr8E(@`JD@rdF{QPj0lYrhIwnrl6l;`Ng1Cx=O@PUa8E(&PXrw1 zyq_r|FZHWYUcr7)IG;IH3#^PmyC8&qoLjcJA0i!3st|~wOam=GL=e??!5CMf>@dag znm+)&0`gw+F>}vdZr(k5G#xQL1W@u2h~O}cCx{YYN#yA}A~j3-hpPm1>!qiID0O*H zvbfZX)tgLEKa^UZkv7pG9IK2KrTkt(WHIO(XasQn69LT&rvS6*8; z+727eczHeUsn8p~qrhaS(kH8iqg9;r{_AP+$piKJM<4PctzW)j?a@i+;YN!xhQ7_%~de_X zxm-S^&GD47kH_=#lG4@L|J~(J?QsuDEV@A-fZX2 z@?gXW9XDe}pCS%oK|;!a;e68>sc$MmuguZ6K7Y3HPUgznJED|z8Mal+t%a~YUd8;O zJvybcIJHA<(-dR%3jtZu4Ai)bVl74N-BtH%K}u~-jdu+`#$U}zz){@$9h_>L(oOfg z`}ymsgaBkl@?e6u11&@4?7l-zt29ylyZ=u@h}{jjW0W-@=aAcm?)cka5n6?BtEut(bn4TbnO})=1}R{U2eBY zG(v#VnuaF*ydWJZKQ9xM?!!a@%aUeXAWL4^HM~MOKdnowi14N-5DLJGuzTWx-9iNd zY>HDUHGp!2O_q*AqlXfC^a|~lS_gNokseAJ6K(PeBqWzn6$mqG1SbZTmkVqM=Jh~P z5%qPhj^^5<0rLm{8Rh|#2>^6(sjbn#2s)8B8J1Gr_>4iA_xtpwh~D((8+cJv-42+E zcxLQGdPRTEM=TO}rOxRF=Xqu7q+BM_2&4`*91iDjHmfyKtw^7O()xo4^_9mG@5-`8 zw!Mz*gr0i~_6FjqOzPyMMe>`2k;=+GTBBTDnr~GNP&*{Cz-En@vM3wZ-gjypB`#3p zJkT4~DcyhIH#&p7PgB&xYQA25VKh0m#`GpOPw@RlT`}RHxPu8gXK_}q6686H-3!k6 ziusej0#i`F=N7y|%}+{W8Ny5ZjNJxK*8i%{6RossGdin_!gz$*V#_8`gZN zSv>iz#P`-OwHIR?RP>Dy{7YZYpQ*%P`*2&hUfA28vxv2El7Y2y&JVNNqshdqy{|z` zFbBkj!D;VNZkJK(uub4TyLH;n#zxW0*gsIGot zlZW4kr;`kr03VCvZG}-ZtjrdO|#>B zZN&u=VPJxQ?E}wvZ?7Ma86c2Mr#r)4RpPCOcK`kj-t=W&oJvxQ8d$@a<#%9?>Ef0m zrS2xTM&`5(i8w|&MDw@+u7y#7^5kEhjI_+FAk}xH(t4Z`z(8&+WOe{TUGqu z;;t<<#`GeoOctAzO6tcQ;*_=V0Ltq-*oiIAU+(i$72$%8>f1{s4b~URH)y%k5Nw;| zJgA1h_odA0Im4#0qENO*UhD!*$@|0&W(+hwd9H;1BJsVf~Tpjux@TvJXXp2 zQcy~dWDsV0;H=nr0}jzPIVv!PWz46yI3j)6p{0F;1|t#Yh~P01K1*%+uc`vCd=|&~ zroM36}B3HMWXH@)_x z0+wqd>Fp|#O4(RUqyOmsS%Y#>=X*OM=ohPH%E$ykTMc#S~g0kCS8s}|K zGse%P9qT3$3yTTY1Wpd2zag#&iS#`&9$%eFko{)Vw0=2}?BlV6S!HNy5LdSZws|58 zLbUx_AGgLrBNB=aXM>o68SeM1rbgvnQbOP>IC49@ZcW=5mp+25`s_dym07J+0z=oh z&=CX-_!{v=jVX=4F~N9v-I5Iq9{zlr29+$H+UMKg_gCao$s)(RuKXm4<`cCLNryMe z0CImn?J`AubTErV{P{wY8{xnj%$Yc3V%*LYPDFr5wx~5iieK zSF_z0>{Ae2o5&-1dD>-X(L*~T<2zH8#|Y22Udu29|BYA%Q+|3uzil$2l+F5ZMbOu* zet!pR{8#R!E6->FU8_T95(J%ZNi<|W*Q51J<9~=4h}ee@vuW(!SV_XY`=|D*%g~$qXKhutPnw4dWW>AX+Hkm0 z#8Df7>sE6Mq|SBiA@fcShN&!u&2A5aZ>r>rymW-hx#>#WS2Dt{6^*#FZU~|cNO;6p zNs`jc1Gf(YM!_aMD{;DIzrTE8)DRaIP&%zrLsjCw^{`Qt%LT{8v;Oco6pec0Ggl|2 zh0XK|KZrPdDfGgaF!Dy95!M$uqd*E_b@c}frIvzCMfVWntdSHOwOBsU5}cuRwd zHH@%o<^A!dye1;-E)$N#ij-J&EUJg3T8Gh!=Ct3Zi4=vecS ziA8E}NNLz-GBt%?Er^wInc#~dsZOMQ1eJ)6m(0sMv=tE*)#O93ar&ywNGPEmi7_)+ z-zk5UKP8Gu!?0AbDHM}$u$`UT|Jtc>y-oUGwm=*3icctLo6g9dcRNJu&++rgjaQAN zb_5BETdxPLmj3%(7a}%;rg2QArY2#{ueXOq+8!|U?-!dM{He@X>*3~!->>J8Y;74@ zyubR&X7kFUP}5iGhM`lB?hdhf?UddK=|5j&-U}?|G`!#JOIp>dfdFC}!Ue=U8L{tR z1(83j{n0C`WQv#_cZb+ux_)v&Js0O9jE__ zdUR^JQ%F<+JU}5TFsN#9y1qe4XSGY`GO2S8Finbi?U+3KODd}n64zK?xN9yv&m;qr z80cW~Bs`K8FYW0YArXGt;zH@uzA_7@TQiakqM=&O_-!RYa=vRmZ@6kafwL(=9K|1R^Z=HNIQuPUZ_aYt1%uk=-U^8<%{xF~DBlbaT)L6G>n}DcYUx z6B=%?yI2*LnfBfGsOUU?nPjaD76@JJ)^1B@T24RtIXaPi3LHa&m9du__i zWQ2{VTUIv%C0&ZiZK+2|$@o?XgnSpg?xg*81yV>MTDZR+b2N#BLrfILwnU%0I-QrU zJiw<`K-BM%fS{Y7J9KlfObVzg4TT~(DQbB}BwhAR;q50+ZUnjK@6#lK1n2V#dRPl5 zUk%vbGS5Nm(4S}huTvkWqRUL8=zC6IY*4dO!T7e{I^o;I1`UBP^gh#a(}be3joN7h z1!hs(wN_uIh(+u9j@_cT7o^~OtJg?DEnOsc@79V?kTuD^`c#y z*m)((JUx)(*T7O%-#WNrzrqN_Vwbxi|6h2^5ulD<;&Uf}?5TKI*QH=ZUeK#DpJamTo4#WH2 zn=8I zQ}csSQVPWKwL-;HjLKqyasM-ML3w+X-9D))uBKB>8AmezV!IbLLmZm)3`VMz5t-c? zu@vdAcq_zh_dtfr;r0vf6$7Gie5~JoV`A_-MZU`jehM%6;X2ujb~NA@A|j14l#u7; z*it7=$3n@6Zl}@Pq;%ps2E0~c$i6+0*fQT?gw65#aTWVnae#AdsZn=V+@glFaUx(Ady}*327i&mczj~`Sf>4 z?$&SBB&Na;DV^{b__wHQv9a{(bA{Gat^oiT^c4s*S7u6hHFi|r;ZX*>>XmSEY5ZqR6}mhfMr zy|xguTwHK(^XOF|M0W%P)iczFdVedbdY0_u@XTAx`ZPQiT)zr0D33Xg{95`bXNO?a z8cGdkGyr9e7_@A|tvt5V>($@ku7!UW)?*v(@=b(lspT!?3zo8>rG% z-fs8BW3TUYwm-mIH=EZx_my4n&_lgDJEs75S0rCwIc`jP3dfyrdquURK`*R%uw+;|Vc+>R;&gKSN!9VR8h@JbZrFQ=bOYnWNE0 z>^rfN!Q@IUo0-mUI-8E?L$s;c<2;b0vc`_J<+7JgF4==kzrQ=rUgaT~Sxyasqxb=f zYnGBsWEr^HRT+6ozVSFTB_*=`vO{BIBKEm8wHqFdNDkTD)F;ybHU~v&#nNTcLZv@E zXT--JL+`VV@BB;c2BXi=9*UVYdWZMDql4z#fov8FOj_AXQ__VvY_`Avq7QxFaiHpJ zy#XH93ZaXy&wIKNbae>9>w+4)9tvC{#7ExN54zmwY+ef|^G00R3%51J zxr@05?nE)-KrEk!@@iO9Z8(8m=}8*Oee3DNjSxBna7MsZ9G50lYBV>iYtcy_fwTlW zCLQ=OlIBNXZgl5x-(Z}2KABFdC^hgXa&Nj;} z>P8llq5KD7HKa9$L^NU<-|ZThZo#>+C@ki4vLu3^m`<9fXtBCJw9ocb0lSad)m8b&Ic*(Ux#*=ru9g;6+{TE&- zZ3;jB+#jVb9>$0fSQ1RKo(+U4t~Oe4J|tBRdBh_fq%8Hi*X9L@97*oKtL^aFbdmX{6(b`p|gTiRD$9lbfEmB^LgkXBccV4M7GPkiEMg+uZsS<~; z(y=zFt2VrH7X(19jztg~C9$)}rKr@^OLZ6LB&yCUkat}q{R9U~tJuIvzRl zNR4W*OFQFcas6oE6F!XM&HYB?rC-esYvT|jbH=QLymO8rsU(~0WHwPz?s%r#e^^{V zr(3RNYp%0_;YVuf^29y?%D-52B?`?^8ZC0n&s^L7!uRASD0A{MI}v1lb! z5iOsGF(8aU(8UBD;r|G4GNqA?k$9Fa_Z3&Y#lmfd|G7TeP** zgW+bjxF@7KG?Qt~!X2S)B9{aFwA?Cp_z%g8`w)%4=+9$P>0RI|EuYhVH8}6FxgQ^r zn{>JHcna?okLLkpFk_t8gJX1^%}`cCGH(swbtYpHKqw_)xEshGz~b`GLrcGXzD2*& z?Do@;Iz5oawy2FltwHHyr8qlVx$P6VNHGVRs#dVwYA zz`47>PoxKj!{L@{|JcY6r%lQqjx1)}Bl`{VZT$Oy?^olnviBy_P2q70mbOi2NlP5H zG$t#EpG{wz`UylYw_fI2AmeEse$w_Uj^_mYvJDZ(bAYq+d8aoitOp4r-9(=Ac6 z7~AYvX3URs=)l-DYP}9Bs$??wpcqoHBS|ga^-WAIgxGc8rG{C zRg`SWSj2{qRZi8==Sq2g;O#1+9}TFt%Et;~jTI>N`<&iw{1${UQlkrye~Hqf5_0ZI z_uVRQF2H}IN+8cX!(XqE&8S}xwgj1!T*99f^f44SNzo=}2ORjM&bFmD$W^I1x8f1I zE4=_A-AWj+HXy;I!71?VXuhICYq)mdl0_Yvep_p&t%SHL5!(fC=H+~N1jx->Lpzkr zM5p2Nexn(y$>ha1a|kFAs?{J%fx+qYXSjm#co~mI12E3|b|=lONV=G2+p1Q(K-+94 z@tgw8@-Nr&$%p(%`MR6Qj0ibwweIQheE75kNh`>4fk>9Kuq*#ITc%}avx*WX}hD$ye<%Z=!Rm9!BMjJ2B-9QCGD;}0(8_dvjCFkO)GaPF%I;Z|coo+29s_WCN0Q%QEW z(WZm^C5Tg=7!aFEFKZoNdF!qDxt|P5_6*E?u&7rnwkI`h`fMYtwwOi0V24O?tFqcG z{BUpSasTx8s;M!9bovR$m%dSLX^j#H+AIv&P&qWUDb*6i(2loRNbntlly_{AMpb2x z-}O-7_Gp#XCf@uBh8~6JtC2eh@(tc|$8?pbmd8~?fs}THdDvxjOwG|Q9;-V)SS6+F zWXbZKES0>;cPIQdUj;IUg)Za<3BnlD9OQxd$}O?L^At+s5WZO2Y)&T)UXyBdi*1-% z;ac zgNYbL7HwoTBSKUDQ}dy&tG&hhFbJp1M)GF39NHzHXVF-5w&J6m=<#p2fRa*A0he%8 z;_#;GgGAUqdPAklPRWbMsz+*0XZb*1OsANKOeQUA)^LxMK)?)EO`O;XQaTkH)SJV2 z!!h&7YdQsFKu5jtRO4(JA+;BrNvf|&7zgpBm@MkcC_6oGar{;w=!YBAw1;g9*9na_ z-(%!kmQT*`qwd_`9xwP5z&$`T@{srP&sKRdenVdJ6tC$sg=qJze%|cs~oPuepR5X6WNx2Xdv{v<(-1wgyntMl@%obtlZ*_&?q>KAO(C z8X77G(wlAeZEOLbSC4Aw5`9ybiQ=ieIK`C@py^w=ofqD#EgbKUTXx5^knuQhc$`w& zZ4dKl=Ci+_v_qu;A4)#8o<-2uH%ft~Ons;_l& zw&3teMibwajdwD|oAEj!b%?IuK;sqMKNn>Iv`I%m8lkJIB7u)iYnS=G#$Wi-gahhB zx8bop7TFC#*?v#2P=U`N=7+Txh7)s`J1&Qs}lUG06iS@rD6gNC*{=ACQdrgAw#fym=YpEaTpU zx-m>kzvjE*NY?8127c$MTtr(@K)r#9bzZC@41KW_+hU~@&T8O^QXP+LPC1qyQow~Z z$1i&1_qFY#;2j`U(zQ0+9ldI^Sidp&r8!J|Wx;EY(p#(lkoWsqo;-kP+e**|uGYZR zG8TU6-NNLN0g>VW()J30;&ywR%4W|Me3RuHzLt(7cCTkvdc@rK z63KNdU0)z8!$FDJGJ=efMSC&;tDy;l8 zDHqIu5@Z3RQcfmWQ$^Dy%HRv>;rU_{Zy!ibsWJC(Sgn*x(_rwaUcLr#xK5|;63Pkx zGF(7!{?%*93AUQ@>ZR7w+(a3rV!uT_-E81bBS@3HrYF4&(pK~V#13MWQD>^|m=hIx zPT21H39Z33URsYtwoR4}b2%5KEXIM6fcmG)qYmW}jOm)LWOBhs{7`x*&qOmO;|cwX z#{teWjq}62PatM%Q-xTqLg2~(u#!oEoxw*#N$??;D@@G;POv}@R^!Qt6@sK{lZ zSOHNL#x-r8Z+PpE^sTL_aOOf+t2K7a@$ad8T#F?-i62<^A>z2Vs4&(>V`dmMSWK>8 zf|8P<0Qoo1d#Sn70SbbahOUe2EY;00=eaL0Q{kQSk^ql{9p1!g$|@MJJor6)l`k$3p* z|1iN^KpeCkT`dt(n$|4f-89QmmAj?L-FIYl?6NW=GpGp2~HVJc-)| zrPk8k^wcuu*2`;tj{u6Lo_O;n@nW{ZPiMCo7Q2ob#E1waL7gMm-RSN%oLKe6sK=Ff zmj?Y8BhJPx&2SzZZGDActx2U?J9AEwKGTYH4`pkvNB*x~_49YhzsOEMDjlDhqhUJz zIaQ~gBy2D~7DO=v@sQaPZkn;U&H2IeXmm?S=H2C-8_gZUw*HX%(9-*865q{@8h!As zP3X3yK)~V|*YkJ@6h&g1_O~f(Bz-)-{YLCBah|}^z(fKNClJ=>PIY=X=d)F6rX|Q` zu(0-oAt;wCUjVdbuXP9R-FliK= zRLy|1S9w~rsZXcdC1^yg1Prda6{K84S820|^$ylH+kLXJSS+b7@6EAqUukcW>9xfU zK*f}GX?J?_)F1;|`mt1%r#vxL9?fsxZ#e%ob@2uH2@$aDUH(Xnv*E%Syv|Xla9MRO z46`4I#^d`K4p*73hN_rje}0l!B3%#h=a1?8py)y5vFSKIn3~j2fh1=BFL@!2f;2NF zKfPc>-GMSdYi-U^bbX$ z@G`BDyP$-!WSZ3TREVVLlFajJQ5Rmd>zh%Pv(f1 zyW`R{g!<(?Q?pxeOh9rDyW5);(q<1zkgCg$Tl49w7V;y0Pr>)ikpU^N$8fOIl;15!wvL8tGyyuKO zhufABUT7290#JDKG+uuw8Np{UrdOG|qr*}_pQEmEP2V%J<{MPx&#}IHKalOnT5Wa6 zFs`yx%Z7$i)?B`E%;^arSQI=;5zReS%jxV%zIt*!K3_3yT2S-7Wi(-Q&6W{)?13OK=sX+Y2y6x0@y zQiumhVR!4lVpk_TC5%2 z@@hh^(q$mk4_RL_gi~E^iI4Z zSioa7*{k8@fWtbLRNW(}F@g1?wq~@x5vJUuvGU!4_utpM(BI(8LLwB|orn5ONznjO zUq5gFjs750#~onY+AC z$+jIk<|o;T^v(h11wnjk`!}TxV-Dl|C+_>$3--*+jNc0jgS&$vm6)_gj|Mv$-=)oE zIm+h_WQ0MCXEwUL(zl~nv{xHYn2UaH&vaW^CK3*e#FO)aHy4L}r6-@UX__Wv@Z7~h zy!jbn>6wY4H)Uf)z~%UW)1pGi>q@gevGwRKF_R}kIE51Sr^kJ}>7&)WcjA)=(c&Y~ z)+b8sQXH8}K@Y-ty9obcCL5|66~j~F4^p<4a0@JJ4GJFRZV-nc=hIUc%94nZy@NQx zi)Cm(UfTO$Ap%Ad=A$-+fAJEJaEnTsRY(!9GX(a z_M*YosE#TLCYYUmdeMVebiT#z&d0#)58!I~#cXp18p4JI* z(sfuprO9-+EDcf|HZ7F5+zcBP6!eKz^LKOk$jKl*DS4Uhm>`$i`-yZIk4`Eokk z?9~AyR`(z}WC&@y`}L1^JMZY>$plz~E>QwA`rzI*m{vXreg5cqzn18E6>w%CgaHqs zG*iKoSJ^&BN(y~4-lw4By?pH7s$#94_@a#GL<=3D zB@H8`balGlhf6?CkpoEMNhQgS3yI251%&igp~^Yo@!c&5SqQ!em(X|wB0oGJUs6|X zwGfi)x`sc(H3?fatqyvCxh_j3j`m+XLb$4eRVz&ma&@=Z?ft$S`fdmM2;-&_ibkzk zN!cDGPU+=-U$Y=m{`}Lex@i?;^1rA65fk{gjUEy2zI3}Z??tR=JVA$ZkcG-V85n>H z5PpG&3oQ)e1M(E6tb&GXig5wh4A5Xc4_Mq*M+WIH%{)4uu0<02x{3VBJETAKbPd7V z-?W))i)ip(~I& zAo}d9n?fj2yG=t%@&b%`k%}kq11N!ooI(yh80At~g>DEgLG#jbpe+2|t*>!|5cpph z_yu@<8P*v}w$Ohri^OY-gdvH9E5u@wM+Io>L%G_?Gt0_ma~RB8yK482E5CgmB(UXi zTD8r9AN-pLaLoX#t3Snys6a*1FR@a8*|W$)*uj2}R~tB~(?-l=qC{(Og;w0O zEQVreA*u(9GSg<7hS zQu*j{GF;E&*DSist5~+G6gG9Zj%*%} ztf8oEQ=|t_r@nMjnT*gYbd}&sCJ#P`m#&|nP#^yKuBrhe#1B}3Ot@T5iRr!NqK{RX z=jKEemkZ8LQPlq>?O-e8`xSNP4czYWAL39Vzdz!cW*<+^e;!XZ;CbdgM7do&rT&o& zM_>RMFB5T%8B4An?S|9;0!}!SkqH|>k5JPGEiBwfty(1!tpjAI=MMMfZ}y2qu!4wh zauL5Zn-MUR9m}>b;wu99t#zqxWyW`RLp5X@l@00+& zh%X^;H6p>cK->}F1llC%9rzOE_U&JA0|2<6#gfhR6J$JvRT@j6+U3KtUqDFd&pl%m z_ENQ69BCZBA#-)%-xXSwWIq?{TRAv5X7ipMD6Ljm4n#Wez=3dmcF~Y_@k{%D#*9^o z;0VsgBBb@sfVkrE=tB8?r6hTK$CiL?z*G;g0B5E1&)3CYf_jKdSqBvtzRW)6pqnnb zGocS5Mq((M1fz?RB8{ts&B{1M&kjGb3g59W)6SR`b?_}@1ARb&5`!EW?Y22!>P^HIQBD$2JSa@a#;?f)zW~Y5!?Of)sFuWiF%HCxXVCzoJTu zS7Ttl7h1d1`Bz5=O#QDJwKhkyfO%ur6+qTkBGGV~c4YBDU^LS_-{<9Kb***y2jyW0 zsSi3i=0bEuf8_|60&37(0O54{Km#)1)GmmW?NvuphB7tSDKNrXY;^P z%?<+o%ck)!zWpyq`@g>SjIal&=rXm_{{P3 zzqoin&=UyaX=tJQS7-bm{_j6N_DT`>HIhL{LjJszh(gPtkvYM6*G)^#s2Qd z^x%Qgl+=WvE&Xjz@`eIF`9vwhj8F1+M@A1Gs3Bbzia7n-&cOE-_~aW(aVmV=-yNBn z5PlR7Du=&(7nJM@SU*Ff-Z)c*QRQs;Pb?9K(RfT24lZt^r_8@i(f{d!|A`dn*bLv< zb-TR_n{Bq_E7TbK^=vvKE~U3m7A#m!s%ur+8Lh{&l?v@e%8fGqiZQ36=ELLCOJ+Ac#yrvDKO=Dp`!|J@l0|pUxMz*n&88>g&-Uq& z$8&NKLr&+bS=1r8erqllvoH79`*6D5Zqmgv*|`S8GN!oSJ#FDh?VT1DIePz=!|gsl*-=Q>`OV_IP-b5s!27hUy6@Ol zMsGT1hXqK4UKvyOku5|Tj0n2LbNEMG^1qxZeC&Q=e2+UJlQXi<9$94GVrM6U=bEg! zAe~&u!YHxCm@)L)txQfZ8;7W8u1wuQE$Ia({ajl5oOPvVje{(sAD`pEq# zcIq_|n^h0#w2D07JN|&QklW>NeY?*S+Y&}GQ!LKAGvhIvzBDj=Zj)Z46l!Dnz&mTo z^nkRg6R`xX*6p5wBM`YU)JQ}AUw-31ZbRUOtO*H6;H7WA+?>;>(5$Z`E0Rks<&IOt zno6+0?<*|7n}1BDs#Du+eFQ30wMlOg5Bhrvn?!IYLovYVbX)VB=6O=vlMcZD*3=A? z1x{(e&h1Uln5M-HPiZ<(oC9?*R#~ajZKo-Diu{)c${Q4qR$$EJD>lQ?QqF!pIUZw* z6x=P8FB!Tp8;$eV8VrVuX&-j|otf<|0m?0i-&f3IK3}2{fzRhXKl>7>sgG{8@VMeY zTPZu9QXi`G@;p*OcdjXy@g43(Uq+Mx^bwyshR4~_F;b7`@ZxX%oy>#CLaD&R)&UmO0fpKI?UH$6=KEmO;b4qfk zgYdfI-&kpTqNRa*E}^HlgYj5JV+&9)-{!gB*7PwjoQy`JE)s9@mcP$)&x)({c;hYX za6q59e<8kJBJ)c^Lt92z3v{7Od69FgO9;Kq@wl#O67p~SGcb7d0nZEUrV}~CYi%Pb zh#Q2O0aDl@3HkowvFZ;-ivJbSyIgLK1wiO5 zvtLy9mWitRah9l=m5*LuU*BTCt;2ai_4acnsh2F)9^RgJcNy^Vy2}rh-M8A1T9PXq zkkfK{X%nIm+=Q}wreayc-QDk(zBMgd6A|_6!NdPszC3wZymgD$fnwG-w|b+mY)DN% zH9^nx>)VTgqMwa`2aN!ilk@&hp5m&X%*C&kLsUq>+5rOlIR40YteHIhbP0l+XkKhO#~L literal 0 HcmV?d00001 diff --git a/content/code-security/how-tos/maintain-quality-code/fix-backlog-findings.md b/content/code-security/how-tos/maintain-quality-code/fix-backlog-findings.md index ccf36d0052d1..2a51b764a9e8 100644 --- a/content/code-security/how-tos/maintain-quality-code/fix-backlog-findings.md +++ b/content/code-security/how-tos/maintain-quality-code/fix-backlog-findings.md @@ -22,13 +22,19 @@ category: 1. **{% data variables.code-quality.all_findings %}**: {% data variables.product.prodname_code_quality_short %} uses {% data variables.product.prodname_codeql %} to perform a deterministic, rules-based scan of your default branch. Finding are grouped by rule and language, labeled by severity (**Error**, **Warning**, **Note**), and each includes a suggested autofix. - 1. **{% data variables.code-quality.recent_suggestions %}**: {% data variables.product.prodname_code_quality_short %} uses AI-powered analysis to identify quality issues in the files most recently pushed to your default branch, including issues that rule-based analysis may not detect - such as best practices, naming conventions, or design considerations. +1. **{% data variables.code-quality.recent_suggestions %}**: {% data variables.product.prodname_code_quality_short %} uses AI-powered analysis to identify quality issues in the files most recently pushed to your default branch, including issues that rule-based analysis may not detect - such as best practices, naming conventions, or design considerations. - {% data reusables.code-quality.recent-suggestions-preview-note %} +{% data reusables.code-quality.recent-suggestions-preview-note %} - For information on resolving {% data variables.code-quality.recent_suggestions %}, see [AUTOTITLE](/code-security/how-tos/maintain-quality-code/fix-findings-in-recent-merges). +For information on resolving {% data variables.code-quality.recent_suggestions %}, see [AUTOTITLE](/code-security/how-tos/maintain-quality-code/fix-findings-in-recent-merges). -## Resolving a standard finding +## Resolving standard findings + +You can resolve findings individually or assign multiple findings to {% data variables.product.prodname_copilot_short %}. + +{% data reusables.code-quality.agentic-autofix-preview-note %} + +### Resolving a single finding {% data reusables.code-quality.dashboard-navigation-repo %} {% data reusables.code-quality.dashboard-all-findings %} @@ -48,6 +54,22 @@ category: To raise a maintainability or reliability score, you must resolve every finding at the highest severity level currently affecting that metric. See [AUTOTITLE](/code-security/reference/code-quality/metrics-and-ratings). +### Assigning multiple findings to {% data variables.product.prodname_copilot_short %} + +If you have many findings for a rule and want to remediate them efficiently, you can select these findings in bulk and assign them to {% data variables.product.prodname_copilot_short %} for agentic remediation. {% data variables.product.prodname_copilot_short %} will open a pull request with fixes for the selected findings. + +You don't need a {% data variables.product.prodname_copilot_short %} license to use this feature, but your enterprise owner must allow {% data variables.product.prodname_code_quality_short %} for your organization. See [AUTOTITLE](/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise). + +For the best results, start with a single rule that has many high-severity findings. This lets you validate the quality of the autofixes on a cohesive set of changes before expanding to other rules. + +{% data reusables.code-quality.dashboard-navigation-repo %} +{% data reusables.code-quality.dashboard-all-findings %} +1. Select the findings you want to remediate. You can select up to 25 findings per page, one page at a time. +1. Click **Assign to {% data variables.product.prodname_copilot_short %}**. + + ![Screenshot of the "Standard findings" view. The "3 of 3 selected" checkbox and the "Dismiss" and "Assign to Copilot" buttons are outlined in orange.](/assets/images/help/code-quality/assign-findings-bulk.png) +1. {% data variables.product.prodname_copilot_short %} will open a pull request with fixes for the selected findings. Review the pull request carefully before merging. + ## Verifying that your code quality scores have updated After your autofix pull requests are merged, return to the "{% data variables.code-quality.all_findings %}" view to confirm that: diff --git a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise.md b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise.md index 15df3a33f611..242bc22b9553 100644 --- a/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise.md +++ b/content/code-security/how-tos/secure-at-scale/configure-enterprise-security/configure-specific-tools/allow-github-code-quality-in-enterprise.md @@ -17,7 +17,13 @@ category: --- > [!NOTE] -> Previously, {% data variables.product.prodname_AS %} policies also controlled access to {% data variables.product.prodname_code_quality_short %}. Those existing policy settings are automatically applied to the standalone {% data variables.product.prodname_code_quality_short %} policies. +> {% data variables.product.prodname_code_quality_short %} has its own standalone enterprise policies. Access was previously controlled by your {% data variables.product.prodname_AS %} policies, and those existing settings are automatically applied to the new {% data variables.product.prodname_code_quality_short %} policies. + +{% data reusables.code-quality.agentic-autofix-preview-note %} + +When you allow {% data variables.product.prodname_code_quality_short %} for an organization and set the repository admin policy to **Allowed**, repository administrators can enable {% data variables.product.prodname_code_quality_short %} scans and all associated capabilities, including bulk agentic remediation with {% data variables.product.prodname_copilot_short %}. There is no separate policy for agentic remediation. + +If you restrict {% data variables.product.prodname_code_quality_short %}, repository administrators cannot enable scans or use {% data variables.product.prodname_copilot_short %}-powered autofixes for code quality findings. 1. Navigate to your enterprise. For example, from [https://github.com/settings/enterprises](https://github.com/settings/enterprises?ref_product=ghec&ref_type=engagement&ref_style=text). {% data reusables.enterprise-accounts.policies-tab %} diff --git a/content/code-security/tutorials/improve-code-quality/raise-your-quality-rating.md b/content/code-security/tutorials/improve-code-quality/raise-your-quality-rating.md index e3cb297bf8f9..2a287e8d8477 100644 --- a/content/code-security/tutorials/improve-code-quality/raise-your-quality-rating.md +++ b/content/code-security/tutorials/improve-code-quality/raise-your-quality-rating.md @@ -64,10 +64,13 @@ Once you've picked a rule, decide how to handle each finding: | Assessment | Recommended action | Notes | | --- | --- | --- | -| The finding is legitimate. | Click **Generate fix** and open a pull request | Clicking **Generate fix** consumes {% data variables.product.prodname_ai_credits_short %}. You can add multiple autofixes to the same branch to group remediation work in one pull request. | -| The finding doesn't apply. For example, it's in legacy code, an intentional pattern, or a false positive | Click **Dismiss**. | The finding is considered resolved and removed from the list of open findings. | +| One finding is legitimate. | Click **Assign to {% data variables.product.prodname_copilot_short %}**. | {% data variables.product.prodname_copilot_short %} opens a pull request containing fixes for the selected findings. Assigning to {% data variables.product.prodname_copilot_short %} consumes {% data variables.product.prodname_ai_credits_short %}. | +| Multiple findings for the same rule are legitimate. | Select up to 25 findings on a page, then click **Assign to {% data variables.product.prodname_copilot_short %}**. | {% data variables.product.prodname_copilot_short %} opens a pull request containing fixes for the selected findings. Assigning to {% data variables.product.prodname_copilot_short %} consumes {% data variables.product.prodname_ai_credits_short %}| +| A finding doesn't apply. For example, it's in legacy code, an intentional pattern, or a false positive. | Click **Dismiss**. | The finding is considered resolved and removed from the list of open findings. | -In our example, we generate autofixes for the 40 "Overwritten property" findings and open a pull request. Because they share a single pattern, the fixes are nearly identical. We merge the pull request once CI checks pass. +{% data reusables.code-quality.agentic-autofix-preview-note %} + +In our example, we assign the 40 "Overwritten property" findings to {% data variables.product.prodname_copilot_short %} in batches of up to 25. We review the resulting pull requests and merge them once the CI checks pass. ## Step 4: Communicate impact diff --git a/data/reusables/code-quality/agentic-autofix-preview-note.md b/data/reusables/code-quality/agentic-autofix-preview-note.md new file mode 100644 index 000000000000..82110a9f15e5 --- /dev/null +++ b/data/reusables/code-quality/agentic-autofix-preview-note.md @@ -0,0 +1,2 @@ +> [!NOTE] +> Agentic Autofix for {% data variables.product.prodname_code_quality %} backlog findings is currently in {% data variables.release-phases.public_preview %} and subject to change. diff --git a/data/reusables/code-quality/generate-autofix-from-dashboard.md b/data/reusables/code-quality/generate-autofix-from-dashboard.md index 3dbbc61c5618..86a8c3b199c5 100644 --- a/data/reusables/code-quality/generate-autofix-from-dashboard.md +++ b/data/reusables/code-quality/generate-autofix-from-dashboard.md @@ -1,3 +1,2 @@ -1. To the right of an individual finding, click **Generate fix**. -1. Review the diff of the proposed change. If you agree with it, click **Open pull request**. -1. In the "Commit autofix to branch" dialog, select "Open a pull request", then click **Commit change**. +1. To the right of an individual finding, click **Assign to {% data variables.product.prodname_copilot_short %}**. Assigning a finding to {% data variables.product.prodname_copilot_short %} consumes {% data variables.product.prodname_ai_credits_short %}. +1. Review the draft pull request that {% data variables.product.prodname_copilot_short %} opens with a fix for the finding. From 4dd94cd8a3383ca713a3d930b764028a13ae7d71 Mon Sep 17 00:00:00 2001 From: Siara <108543037+SiaraMist@users.noreply.github.com> Date: Wed, 9 Sep 2026 18:22:17 +0000 Subject: [PATCH 038/138] Update Copilot in Jetbrains capabilities (#63118) Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com> --- .../copilot/concepts/agents/copilot-in-jetbrains.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/content/copilot/concepts/agents/copilot-in-jetbrains.md b/content/copilot/concepts/agents/copilot-in-jetbrains.md index d1c482c9f270..44f7ee3fefcc 100644 --- a/content/copilot/concepts/agents/copilot-in-jetbrains.md +++ b/content/copilot/concepts/agents/copilot-in-jetbrains.md @@ -34,14 +34,19 @@ There are three ways to use {% data variables.product.prodname_copilot %} in {% The {% data variables.product.prodname_copilot %} plugin for {% data variables.product.prodname_jetbrains_ides %} is the most comprehensive way to use {% data variables.product.prodname_copilot_short %} and is the recommended choice. -The plugin is transitioning from its local agent harness to {% data variables.copilot.copilot_cli_short %} as the default agent harness, which brings faster feature parity and higher-quality results. For more information, see [{% data variables.copilot.copilot_cli_short %} is becoming the default agent harness in {% data variables.product.prodname_copilot %} for JetBrains](https://devblogs.microsoft.com/java/github-copilot-for-jetbrains-is-moving-to-copilot-cli-as-the-default-agent-harness/). For installation instructions, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). +The plugin is transitioning from its local agent harness to {% data variables.copilot.copilot_agent_short %} as the default agent harness, which brings faster feature parity and higher-quality results. For installation instructions, see [AUTOTITLE](/copilot/how-tos/set-up/install-copilot-extension). + +The {% data variables.product.prodname_copilot %} plugin provides the following capabilities. -* **Code completion and next edit suggestions**: {% data variables.product.prodname_copilot_short %} suggests completions as you type and proactively predicts your next intended edit. -* **Multiple agent harnesses**: The plugin ships its own agent experience and partners with other agent providers, giving you multiple interaction modes. * **Full model and feature support**: All {% data variables.copilot.copilot_chat_short %} models, code completion modes, and bring-your-own-key features are available as they are released. +* **Code completion and next edit suggestions**: {% data variables.product.prodname_copilot_short %} suggests completions as you type and proactively predicts your next intended edit. +* **Commit message generation**: {% data variables.product.prodname_copilot_short %} inspects your staged changes and generates a clear, conventional commit message. * **Inline chat**: Explain, refactor, document, or generate code directly in the editor gutter, without switching to a separate panel. * **Code review**: {% data variables.product.prodname_copilot_short %} analyzes your changes and surfaces actionable feedback, flagging potential bugs, style violations, and logic issues. -* **Commit message generation**: {% data variables.product.prodname_copilot_short %} inspects your staged changes and generates a clear, conventional commit message. +* **Multiple agent harnesses**: The plugin ships its own agent experience and partners with other agent providers, giving you multiple interaction modes. +* **Sandbox support** ({% data variables.release-phases.public_preview %}): Isolated execution environments for {% data variables.product.prodname_copilot_short %} to safely interact with code, tools, filesystem, and network resources. +* **OpenTelemetry**: Analyze agent sessions and understand agent usage across an enterprise. +* **Enterprise managed settings**: Apply consistent controls for everyone on your enterprise’s {% data variables.product.prodname_copilot_short %} plan, including plugins and MCP management, OpenTelemetry settings, and permission control. ## {% data variables.product.prodname_copilot %} in JetBrains AI Assistant From 441e8e788a472d6aa1c48c155c0096c20b9f4775 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 9 Sep 2026 19:14:24 +0000 Subject: [PATCH 039/138] Delete orphaned files (2026-09-07-16-29) (#63107) --- .../code-review/automatic-code-review.png | Bin 41247 -> 0 bytes .../images/help/copilot/spark-data-access.png | Bin 45470 -> 0 bytes .../help/copilot/spark-fix-all-errors.png | Bin 34810 -> 0 bytes .../copilot/spark-github-user-visibility.png | Bin 48680 -> 0 bytes .../copilot/plans/organization-plans-paused.md | 7 ------- data/reusables/copilot/spark-deprecation.md | 1 - data/reusables/elm/ghe-pat-description.md | 1 - data/reusables/elm/hmac-key-value.md | 1 - data/reusables/elm/localhost-value.md | 1 - 9 files changed, 11 deletions(-) delete mode 100644 assets/images/help/copilot/code-review/automatic-code-review.png delete mode 100644 assets/images/help/copilot/spark-data-access.png delete mode 100644 assets/images/help/copilot/spark-fix-all-errors.png delete mode 100644 assets/images/help/copilot/spark-github-user-visibility.png delete mode 100644 data/reusables/copilot/plans/organization-plans-paused.md delete mode 100644 data/reusables/copilot/spark-deprecation.md delete mode 100644 data/reusables/elm/ghe-pat-description.md delete mode 100644 data/reusables/elm/hmac-key-value.md delete mode 100644 data/reusables/elm/localhost-value.md diff --git a/assets/images/help/copilot/code-review/automatic-code-review.png b/assets/images/help/copilot/code-review/automatic-code-review.png deleted file mode 100644 index 49a5283cf131c10e00ca40533fb2d626d83285eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41247 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

)Vy?fWnzgOmh~%J&+| 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 R=Y4O&9 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 V@cjmsF(_v6%F8H8mr5D={Xh2nHMIZ$ diff --git a/assets/images/help/copilot/spark-fix-all-errors.png b/assets/images/help/copilot/spark-fix-all-errors.png deleted file mode 100644 index 7bbd4ebfd403fe01183403674174b3345608f6c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34810 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 MSv8qzDbv9J2Z4DwO8@`> diff --git a/assets/images/help/copilot/spark-github-user-visibility.png b/assets/images/help/copilot/spark-github-user-visibility.png deleted file mode 100644 index d88f06f9b00b6b8194745fed2954052107391cfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48680 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 S_!OXrKtokWr9v4T_J06}5GQ#6 diff --git a/data/reusables/copilot/plans/organization-plans-paused.md b/data/reusables/copilot/plans/organization-plans-paused.md deleted file mode 100644 index 1561e3f17ddc..000000000000 --- a/data/reusables/copilot/plans/organization-plans-paused.md +++ /dev/null @@ -1,7 +0,0 @@ - - -On April 22, 2026, new self-serve purchases of {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %} were temporarily paused. - -Self-serve sign-ups **are reopening soon** for customers paying by credit card or PayPal. You might be charged prorated seat costs at sign-up. Additional usage beyond your included amount requires payment as you go. Self-serve trials remain paused. - - diff --git a/data/reusables/copilot/spark-deprecation.md b/data/reusables/copilot/spark-deprecation.md deleted file mode 100644 index 746e8bc208cd..000000000000 --- a/data/reusables/copilot/spark-deprecation.md +++ /dev/null @@ -1 +0,0 @@ -Beginning August 4, 2026, {% data variables.product.prodname_spark %} will no longer accept new users or allow the creation of new apps. Existing users can continue to access and use apps they have already created. Open Spark workbench for your app, select "..." and "Create repository" to save your app code before August 31, 2026. \ No newline at end of file diff --git a/data/reusables/elm/ghe-pat-description.md b/data/reusables/elm/ghe-pat-description.md deleted file mode 100644 index 2d20f0ca17ab..000000000000 --- a/data/reusables/elm/ghe-pat-description.md +++ /dev/null @@ -1 +0,0 @@ -The {% data variables.product.pat_v1 %} for {% data variables.enterprise.data_residency_site %} diff --git a/data/reusables/elm/hmac-key-value.md b/data/reusables/elm/hmac-key-value.md deleted file mode 100644 index 976ff0198dfd..000000000000 --- a/data/reusables/elm/hmac-key-value.md +++ /dev/null @@ -1 +0,0 @@ -$(ghe-config secrets.elm-exporter.elm-exporter-hmac-keys) \ No newline at end of file diff --git a/data/reusables/elm/localhost-value.md b/data/reusables/elm/localhost-value.md deleted file mode 100644 index f342748276e3..000000000000 --- a/data/reusables/elm/localhost-value.md +++ /dev/null @@ -1 +0,0 @@ -http://localhost:1738 \ No newline at end of file From 1c7e465b50cfd44a81f0c44eca89f596becd4e77 Mon Sep 17 00:00:00 2001 From: docs-bot <77750099+docs-bot@users.noreply.github.com> Date: Wed, 9 Sep 2026 19:15:38 +0000 Subject: [PATCH 040/138] Delete orphaned features (2026-09-07-16-30) (#63108) --- data/features/spark.yml | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 data/features/spark.yml diff --git a/data/features/spark.yml b/data/features/spark.yml deleted file mode 100644 index f6715c0d95ba..000000000000 --- a/data/features/spark.yml +++ /dev/null @@ -1,5 +0,0 @@ -# Reference: #17636 -# Spark (No-code app builder, public preview) -versions: - fpt: '*' - ghec: '*' From df9bd944684a61fc90f8cfda11cf031984998e04 Mon Sep 17 00:00:00 2001 From: Jenni C <97056108+dihydroJenoxide@users.noreply.github.com> Date: Wed, 9 Sep 2026 19:16:09 +0000 Subject: [PATCH 041/138] FR: fixing broken links (#63150) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../concepts/enterprise-billing/ghes-license-files.md | 2 +- .../concepts/product-billing/github-code-quality.md | 4 ++-- .../concepts/product-billing/github-copilot-billing.md | 2 +- .../concepts/product-billing/github-copilot-licenses.md | 2 +- .../billing/how-tos/products/view-productlicense-use.md | 2 +- content/billing/how-tos/set-up-budgets.md | 2 +- .../code-scanning/ai-powered-security-detections.md | 2 +- .../how-tos/maintain-quality-code/view-and-manage-cost.md | 2 +- .../disabling-autofix-for-code-scanning.md | 2 +- .../explore-trial-code-scanning.md | 2 +- .../copilot/concepts/about-cloud-and-local-sandboxes.md | 2 +- content/copilot/concepts/agents/about-plugins.md | 2 +- .../concepts/agents/about-third-party-coding-agents.md | 2 +- .../concepts/agents/cloud-agent/about-cloud-agent.md | 4 ++-- content/copilot/concepts/agents/code-review.md | 8 ++++---- .../concepts/agents/copilot-cli/about-copilot-cli.md | 2 +- .../billing/organizations-and-enterprises/fundamentals.md | 2 +- content/copilot/concepts/context/spaces.md | 2 +- content/copilot/concepts/enterprise/agent-management.md | 4 ++-- .../concepts/enterprise/default-model-availability.md | 2 +- .../enterprise/learning-about-new-features-and-models.md | 2 +- content/copilot/concepts/enterprise/mcp-management.md | 2 +- content/copilot/concepts/enterprise/opentelemetry.md | 2 +- content/copilot/concepts/enterprise/plugin-standards.md | 2 +- content/copilot/get-started/plans.md | 4 ++-- .../manage-agents/create-github-private-repo.md | 2 +- .../manage-agents/monitor-agentic-activity.md | 2 +- .../manage-agents/prepare-for-custom-agents.md | 2 +- .../manage-for-enterprise/manage-enterprise-policies.md | 2 +- .../manage-for-organization/manage-default-models.md | 2 +- .../manage-for-organization/manage-plan/subscribe.md | 8 ++++---- .../manage-mcp-usage/configure-enterprise-allowlist.md | 4 ++-- .../manage-mcp-usage/configure-mcp-registry.md | 2 +- .../integrate-cloud-agent-with-azure-boards.md | 2 +- .../integrate-cloud-agent-with-jira.md | 4 ++-- .../integrate-cloud-agent-with-linear.md | 2 +- .../integrate-cloud-agent-with-teams.md | 2 +- .../copilot-on-github/chat-with-copilot/chat-in-mobile.md | 2 +- .../use-copilot-to-create-or-update-issues.md | 2 +- .../customize-copilot/customize-copilot-overview.md | 2 +- .../set-up-a-dedicated-enterprise-for-copilot-business.md | 4 ++-- .../use-copilot-agents/copilot-code-review.md | 4 ++-- .../copilot-on-github/use-copilot-agents/overview.md | 2 +- .../github-copilot-app/customize-github-copilot-app.md | 2 +- .../how-tos/github-copilot-app/using-automations.md | 2 +- .../request-a-code-review/use-code-review.md | 6 +++--- .../reference/copilot-billing/models-and-pricing.md | 2 +- .../copilot-cli-reference/cli-plugin-reference.md | 2 +- .../enterprise-managed-settings.md | 4 ++-- .../enterprise-administrators/policy-conflicts.md | 2 +- .../budgets/getting-started-with-budget-controls.md | 2 +- content/copilot/tutorials/cloud-agent/build-guardrails.md | 2 +- .../tutorials/cloud-agent/give-access-to-resources.md | 2 +- content/copilot/tutorials/optimize-code-reviews.md | 2 +- .../assign-licenses/choose-enterprise-plan.md | 2 +- .../drive-downstream-impact/accelerate-pull-requests.md | 2 +- .../govern-at-scale/pilot-a-feature-or-model.md | 6 +++--- ...pilot-code-review-across-the-pull-request-lifecycle.md | 2 +- 58 files changed, 77 insertions(+), 77 deletions(-) diff --git a/content/billing/concepts/enterprise-billing/ghes-license-files.md b/content/billing/concepts/enterprise-billing/ghes-license-files.md index 324ea215d132..99dddd27c388 100644 --- a/content/billing/concepts/enterprise-billing/ghes-license-files.md +++ b/content/billing/concepts/enterprise-billing/ghes-license-files.md @@ -25,5 +25,5 @@ If your license expires, you won't be able to access {% data variables.product.p * To download your license file, see [AUTOTITLE]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/billing/how-tos/manage-server-licenses/download-your-license). * To upload your license file to {% data variables.product.prodname_ghe_server %}, see {% ifversion fpt or ghec %}[AUTOTITLE](/enterprise-server@latest/billing/how-tos/manage-server-licenses/upload-new-license) in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}[AUTOTITLE](/billing/how-tos/manage-server-licenses/upload-new-license).{% endif %} -* To back up your {% data variables.product.prodname_ghe_server %} instance, see {% ifversion fpt or ghec %}[Configuring backups on your appliance](/enterprise-server@latest/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance) in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}[AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance).{% endif %} +* To back up your {% data variables.product.prodname_ghe_server %} instance, see {% ifversion fpt or ghec %}[Configuring backups on your appliance](/enterprise-server@latest/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server) in the {% data variables.product.prodname_ghe_server %} documentation.{% elsif ghes %}[AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance).{% endif %} * If you have questions about renewing your license, contact {% data variables.contact.contact_enterprise_sales %}. diff --git a/content/billing/concepts/product-billing/github-code-quality.md b/content/billing/concepts/product-billing/github-code-quality.md index b1eb5125d9d0..9441ea76e11a 100644 --- a/content/billing/concepts/product-billing/github-code-quality.md +++ b/content/billing/concepts/product-billing/github-code-quality.md @@ -30,7 +30,7 @@ In a detailed usage report, you can identify usage from {% data variables.produc {% data reusables.code-quality.model-usage %} -For more information about how {% data variables.product.prodname_ai_credits_short %} work, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +For more information about how {% data variables.product.prodname_ai_credits_short %} work, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ### Active and unique committers @@ -50,4 +50,4 @@ Users can contribute to multiple repositories or organizations. Usage is measure * [AUTOTITLE](/code-security/tutorials/improve-code-quality/catch-issues-before-merge) * [AUTOTITLE](/billing/concepts/product-billing/github-actions) -* [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises) +* [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing) diff --git a/content/billing/concepts/product-billing/github-copilot-billing.md b/content/billing/concepts/product-billing/github-copilot-billing.md index 71291503596a..272a1361467a 100644 --- a/content/billing/concepts/product-billing/github-copilot-billing.md +++ b/content/billing/concepts/product-billing/github-copilot-billing.md @@ -20,6 +20,6 @@ To understand how {% data variables.product.prodname_ai_credits_short %} work fo For organizations and enterprises, each assigned {% data variables.product.prodname_copilot_short %} license comes with a monthly amount of included {% data variables.product.prodname_ai_credits_short %}, which can be pooled at the billing entity level. -* To understand how {% data variables.product.prodname_ai_credits_short %} work and what happens when your pool is exhausted, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +* To understand how {% data variables.product.prodname_ai_credits_short %} work and what happens when your pool is exhausted, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). * To understand budget controls and how to prevent unexpected charges, see [AUTOTITLE](/copilot/concepts/billing/budgets-for-usage-based-billing). * To compare per-token costs across models and how they translate to {% data variables.product.prodname_ai_credits_short %}, see [AUTOTITLE](/copilot/reference/copilot-billing/models-and-pricing). diff --git a/content/billing/concepts/product-billing/github-copilot-licenses.md b/content/billing/concepts/product-billing/github-copilot-licenses.md index 8caea7c23397..1d848611af4c 100644 --- a/content/billing/concepts/product-billing/github-copilot-licenses.md +++ b/content/billing/concepts/product-billing/github-copilot-licenses.md @@ -15,7 +15,7 @@ category: - Understand product costs --- -Usage of {% data variables.product.prodname_copilot %} is measured through a combination of licenses and {% data variables.product.prodname_ai_credits_short %}. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-individuals) and [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +Usage of {% data variables.product.prodname_copilot %} is measured through a combination of licenses and {% data variables.product.prodname_ai_credits_short %}. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-individuals) and [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ## Licenses for {% data variables.product.prodname_copilot_short %} diff --git a/content/billing/how-tos/products/view-productlicense-use.md b/content/billing/how-tos/products/view-productlicense-use.md index 465aa75f2237..2e362dd63311 100644 --- a/content/billing/how-tos/products/view-productlicense-use.md +++ b/content/billing/how-tos/products/view-productlicense-use.md @@ -101,7 +101,7 @@ If you use {% data variables.product.prodname_copilot_short %}, an additional ** * Which models are driving the most spend? * How widespread is adoption in the organizations where we rolled out {% data variables.product.prodname_copilot_short %}? -To understand how {% data variables.product.prodname_ai_credits_short %} are pooled across your enterprise and what the usage data represents, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +To understand how {% data variables.product.prodname_ai_credits_short %} are pooled across your enterprise and what the usage data represents, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). {% endif %} diff --git a/content/billing/how-tos/set-up-budgets.md b/content/billing/how-tos/set-up-budgets.md index 114d9a6f22f7..721fab220bc3 100644 --- a/content/billing/how-tos/set-up-budgets.md +++ b/content/billing/how-tos/set-up-budgets.md @@ -79,7 +79,7 @@ To edit or delete a budget, on the "Budget and alerts" page, click **Edit** or * ## Managing budgets for your organization or enterprise > [!IMPORTANT] -> {% data variables.product.prodname_copilot_short %} usage is now measured in {% data variables.product.prodname_ai_credits_short %} under usage-based billing. Existing premium request budgets have been automatically converted to {% data variables.product.prodname_ai_credit_singular %} budgets. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +> {% data variables.product.prodname_copilot_short %} usage is now measured in {% data variables.product.prodname_ai_credits_short %} under usage-based billing. Existing premium request budgets have been automatically converted to {% data variables.product.prodname_ai_credit_singular %} budgets. See [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). You can set budgets and receive alerts when your usage of a product or license type reaches 75%, 90%, or 100% of a defined budget. For budgets that control metered use of a product, you can also block further use when the budget is exhausted. Each budget has a scope. diff --git a/content/code-security/concepts/code-scanning/ai-powered-security-detections.md b/content/code-security/concepts/code-scanning/ai-powered-security-detections.md index 65aaca6ea2e2..aff4e62a426a 100644 --- a/content/code-security/concepts/code-scanning/ai-powered-security-detections.md +++ b/content/code-security/concepts/code-scanning/ai-powered-security-detections.md @@ -19,7 +19,7 @@ While {% data variables.product.prodname_codeql %} provides high-precision stati During the {% data variables.release-phases.public_preview %}, AI-powered security detections require a {% data variables.product.prodname_GHAS %} license and a {% data variables.product.prodname_copilot %} license. -Usage consumes {% data variables.product.prodname_ai_credits_short %}. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +Usage consumes {% data variables.product.prodname_ai_credits_short %}. See [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ## How AI-powered security detections work diff --git a/content/code-security/how-tos/maintain-quality-code/view-and-manage-cost.md b/content/code-security/how-tos/maintain-quality-code/view-and-manage-cost.md index ebefc9d1b463..1450bddd51b7 100644 --- a/content/code-security/how-tos/maintain-quality-code/view-and-manage-cost.md +++ b/content/code-security/how-tos/maintain-quality-code/view-and-manage-cost.md @@ -37,7 +37,7 @@ It's important to understand how {% data variables.product.prodname_code_quality {% data variables.product.prodname_code_quality_short %} usage appears in the **same billing and usage views as your other products**, not in a separate {% data variables.product.prodname_code_quality_short %} meter. Where you look depends on how granular a breakdown you need: * **For a repository- or organization-level breakdown, download the billing usage report** from the "Billing and licensing" tab. This is the only place you can attribute {% data variables.product.prodname_code_quality_short %} spend, including {% data variables.product.prodname_actions %} minutes, down to a specific repository or organization. There's no equivalent view in the UI. See [AUTOTITLE](/billing/how-tos/products/view-productlicense-use). -* **For {% data variables.product.prodname_code_quality_short %}'s {% data variables.product.prodname_ai_credits_short %} usage over time, use the AI usage page** and group it by **Product** using the dropdown at the top right. This separates {% data variables.product.prodname_code_quality_short %} from your other AI products, like {% data variables.product.prodname_copilot_short %}, so you can track its share of the pool. To monitor the pool as a whole instead, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +* **For {% data variables.product.prodname_code_quality_short %}'s {% data variables.product.prodname_ai_credits_short %} usage over time, use the AI usage page** and group it by **Product** using the dropdown at the top right. This separates {% data variables.product.prodname_code_quality_short %} from your other AI products, like {% data variables.product.prodname_copilot_short %}, so you can track its share of the pool. To monitor the pool as a whole instead, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ## Monitoring your spend diff --git a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning.md b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning.md index f6913eab7091..ca913a0ff16e 100644 --- a/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning.md +++ b/content/code-security/how-tos/manage-security-alerts/manage-code-scanning-alerts/disabling-autofix-for-code-scanning.md @@ -18,7 +18,7 @@ category: Disabling agentic autofix can be done in two ways: 1. By disabling {% data variables.copilot.copilot_autofix_short %} since agentic autofix relies on the same underlying setting. For instructions, see the sections below. -1. By opting repositories out of {% data variables.copilot.copilot_cloud_agent %}. See [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management#opting-repositories-out-of-copilot-cloud-agent). +1. By opting repositories out of {% data variables.copilot.copilot_cloud_agent %}. See [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access#opting-repositories-out-of-copilot-cloud-agent). For more information about agentic autofix, see [AUTOTITLE](/code-security/concepts/code-scanning/autofix-for-code-scanning#agentic-autofix). diff --git a/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning.md b/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning.md index ef4716eb6691..df2bbf25c838 100644 --- a/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning.md +++ b/content/code-security/tutorials/trialing-github-advanced-security/explore-trial-code-scanning.md @@ -90,7 +90,7 @@ This allows you to update the configuration in a single location, but use the wo > > * If you get a {% data variables.product.prodname_copilot_short %} subscription from an organization, you will only be able to participate in the {% data variables.release-phases.public_preview %} on the {% data variables.product.github %} website if an owner of your organization or enterprise has enabled {% data variables.copilot.copilot_code-review_short %}. See [AUTOTITLE](/enterprise-cloud@latest/copilot/how-tos/administer-copilot/manage-for-organization/manage-policies#opting-in-to-previews-or-feedback) and [AUTOTITLE](/enterprise-cloud@latest/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies){% ifversion fpt or ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. -By default, users request a review from {% data variables.product.prodname_copilot_short %} in the same way as they do from human reviewers. However, you can update or create an organization-level branch ruleset to automatically add {% data variables.product.prodname_copilot_short %} as a reviewer to all pull requests made to selected branches in all or selected repositories. See [AUTOTITLE](/enterprise-cloud@latest/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review){% ifversion fpt or ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. +By default, users request a review from {% data variables.product.prodname_copilot_short %} in the same way as they do from human reviewers. However, you can update or create an organization-level branch ruleset to automatically add {% data variables.product.prodname_copilot_short %} as a reviewer to all pull requests made to selected branches in all or selected repositories. See [AUTOTITLE](/enterprise-cloud@latest/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review){% ifversion fpt or ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. {% data variables.product.prodname_copilot_short %} leaves a review comment on each pull request it reviews, without approving the pull request or requesting changes. This ensures that its review is advisory and will not block development work. Similarly, you should not enforce the resolution of suggestions made by {% data variables.product.prodname_copilot_short %} because AI suggestions have known limitations, see [AUTOTITLE](/enterprise-cloud@latest/copilot/responsible-use/agents#7-limitations){% ifversion fpt or ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %}. diff --git a/content/copilot/concepts/about-cloud-and-local-sandboxes.md b/content/copilot/concepts/about-cloud-and-local-sandboxes.md index 7dc5cc5609a0..74df2c81958e 100644 --- a/content/copilot/concepts/about-cloud-and-local-sandboxes.md +++ b/content/copilot/concepts/about-cloud-and-local-sandboxes.md @@ -101,7 +101,7 @@ The sandbox proxy operates differently on each operating system: ### Enterprise policy enforcement -Enterprises can require local sandboxing and enforce its configuration through server-managed, MDM-managed, or file-based managed settings. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings). +Enterprises can require local sandboxing and enforce its configuration through server-managed, MDM-managed, or file-based managed settings. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started). ## Cloud sandboxing diff --git a/content/copilot/concepts/agents/about-plugins.md b/content/copilot/concepts/agents/about-plugins.md index a3c0480c1078..d572a196cbe5 100644 --- a/content/copilot/concepts/agents/about-plugins.md +++ b/content/copilot/concepts/agents/about-plugins.md @@ -86,7 +86,7 @@ How you install a plugin depends on which client you're using: * In {% data variables.copilot.copilot_cloud_agent %}, you install plugins declaratively by adding them to the `enabledPlugins` field of the repository's `.github/copilot/settings.json` file. To install plugins from a marketplace that isn't registered by default, you can also add the marketplace to the `extraKnownMarketplaces` field in the same file. * In the {% data variables.copilot.github_copilot_app %}, click **Customize**, then click **Plugins** to browse marketplaces and install plugins. -Enterprise administrators can define plugin standards that apply to users on the enterprise's {% data variables.product.prodname_copilot_short %} plan, including specifying additional marketplaces and plugins that are automatically installed. See [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards). +Enterprise administrators can define plugin standards that apply to users on the enterprise's {% data variables.product.prodname_copilot_short %} plan, including specifying additional marketplaces and plugins that are automatically installed. See [AUTOTITLE](/copilot/concepts/enterprise/plugin-standards). ## How plugin marketplaces work diff --git a/content/copilot/concepts/agents/about-third-party-coding-agents.md b/content/copilot/concepts/agents/about-third-party-coding-agents.md index a54d7c56907e..aee2ce7d7d97 100644 --- a/content/copilot/concepts/agents/about-third-party-coding-agents.md +++ b/content/copilot/concepts/agents/about-third-party-coding-agents.md @@ -79,7 +79,7 @@ Security validation does not require a {% data variables.product.prodname_GHAS % Coding agents consume **{% data variables.product.prodname_actions %} minutes** and **{% data variables.product.prodname_ai_credits_short %}**. Each agent session consumes {% data variables.product.prodname_ai_credits_short %} based on the model used and the number of tokens processed. -Within your included {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_ai_credits_short %}, you can use agents without incurring additional costs. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +Within your included {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_ai_credits_short %}, you can use agents without incurring additional costs. See [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ## Partner agents diff --git a/content/copilot/concepts/agents/cloud-agent/about-cloud-agent.md b/content/copilot/concepts/agents/cloud-agent/about-cloud-agent.md index cad75460f535..066ec9e4ab7d 100644 --- a/content/copilot/concepts/agents/cloud-agent/about-cloud-agent.md +++ b/content/copilot/concepts/agents/cloud-agent/about-cloud-agent.md @@ -108,7 +108,7 @@ If you are a {% data variables.copilot.copilot_for_business %} or {% data variab Repository owners can choose to opt out some or all repositories from {% data variables.copilot.copilot_cloud_agent %}. -See [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management). +See [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access). ## AI models for {% data variables.copilot.copilot_cloud_agent %} @@ -132,7 +132,7 @@ The more {% data variables.copilot.copilot_cloud_agent %} knows about the code i {% data variables.copilot.copilot_cloud_agent %} uses {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_ai_credits_short %}. The {% data variables.product.prodname_ai_credits_short %} consumed depend on the model used and the number of tokens processed during the session. -Within your included {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_ai_credits_short %}, you can use {% data variables.copilot.copilot_cloud_agent %} without incurring additional costs. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +Within your included {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_ai_credits_short %}, you can use {% data variables.copilot.copilot_cloud_agent %} without incurring additional costs. See [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). {% data variables.product.prodname_copilot_short %} code review also consumes {% data variables.product.prodname_actions %} minutes on private repositories. See [AUTOTITLE](/billing/concepts/product-billing/github-actions#copilot-code-review-and-github-actions-minutes). diff --git a/content/copilot/concepts/agents/code-review.md b/content/copilot/concepts/agents/code-review.md index c05aab1dc38c..b903de7175cd 100644 --- a/content/copilot/concepts/agents/code-review.md +++ b/content/copilot/concepts/agents/code-review.md @@ -59,7 +59,7 @@ The second policy has these characteristics: When both policies are enabled, users without a {% data variables.product.prodname_copilot_short %} license can request a review from {% data variables.copilot.copilot_code-review_short %} on their pull requests in the organization's repositories. -In repositories where automatic code review is enabled, {% data variables.product.prodname_copilot_short %} automatically reviews all pull requests. This happens regardless of whether the author has a {% data variables.product.prodname_copilot_short %} license. For more information about how to configure automatic code review, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review). +In repositories where automatic code review is enabled, {% data variables.product.prodname_copilot_short %} automatically reviews all pull requests. This happens regardless of whether the author has a {% data variables.product.prodname_copilot_short %} license. For more information about how to configure automatic code review, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review). {% data variables.copilot.copilot_code-review_short %} for users without a license is not available in IDEs. @@ -96,7 +96,7 @@ A review typically consumes an estimated $0.05 USD to $1 USD worth of {% data va Consumption generally increases with pull request size and repository custom instructions, and the ranges may change as models evolve. These estimates do not include {% data variables.product.prodname_actions %} minutes. -Repository and organization administrators can set the default review effort level for automatic code reviews. For configuration steps, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review#customizing-copilot-code-review-1). +Repository and organization administrators can set the default review effort level for automatic code reviews. For configuration steps, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review#customizing-copilot-code-review-1). ## Code review usage @@ -151,7 +151,7 @@ The triggers for automatic code review depend on the configuration settings. * Review draft pull requests: * Pull requests are automatically reviewed while they are still drafts, before you switch them to "Open". -For full instructions, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review). +For full instructions, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review). > [!NOTE] > Unless {% data variables.product.prodname_copilot_short %} has been configured to review each push to a pull request, it will only review a pull request once. If you make changes to the pull request after it has been automatically reviewed and you want {% data variables.product.prodname_copilot_short %} to re-review it, you can request this manually. Click the {% octicon "sync" aria-label="Re-request review" %} button next to {% data variables.product.prodname_copilot_short %}'s name in the **Reviewers** menu. @@ -263,4 +263,4 @@ For more information, see [AUTOTITLE](/copilot/responsible-use/agents). ## Next steps * [AUTOTITLE](/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review) -* [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review) +* [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review) diff --git a/content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md b/content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md index f81a62d9f14b..42bf4227d625 100644 --- a/content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md +++ b/content/copilot/concepts/agents/copilot-cli/about-copilot-cli.md @@ -325,7 +325,7 @@ Alternatively, you can run {% data variables.copilot.copilot_cli_short %} in a v * **MCP servers in {% data variables.product.prodname_copilot_short %}**, which controls whether MCP servers can be used at all by {% data variables.product.prodname_copilot_short %}. * **MCP Registry URL**, which controls which MCP registry {% data variables.product.prodname_copilot_short %} will allow MCP servers to be used from. -For more information about these policies, see [AUTOTITLE](/copilot/concepts/mcp-management#mcp-allowlists). +For more information about these policies, see [AUTOTITLE](/copilot/concepts/enterprise/mcp-management#mcp-allowlists). ## Model usage diff --git a/content/copilot/concepts/billing/organizations-and-enterprises/fundamentals.md b/content/copilot/concepts/billing/organizations-and-enterprises/fundamentals.md index 3032f395c216..6c44070edc0b 100644 --- a/content/copilot/concepts/billing/organizations-and-enterprises/fundamentals.md +++ b/content/copilot/concepts/billing/organizations-and-enterprises/fundamentals.md @@ -46,7 +46,7 @@ With {% data variables.product.prodname_ghe_cloud %}: {% data variables.product.prodname_copilot_short %} usage is measured in {% data variables.product.prodname_ai_credits_short %} under usage-based billing. Each license contributes {% data variables.product.prodname_ai_credits_short %} to a shared enterprise pool, and usage beyond the pool is charged at {% data variables.product.prodname_ai_credits_value %} per {% data variables.product.prodname_ai_credit_singular %}. Code completions and {% data variables.copilot.next_edit_suggestions %} are not billed in {% data variables.product.prodname_ai_credits_short %} and remain unlimited for all paid plans. -For a full explanation of how {% data variables.product.prodname_ai_credits_short %} work, including pooling, additional usage, and what happens when credits run out, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +For a full explanation of how {% data variables.product.prodname_ai_credits_short %} work, including pooling, additional usage, and what happens when credits run out, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ## Seat assignment diff --git a/content/copilot/concepts/context/spaces.md b/content/copilot/concepts/context/spaces.md index b9a3cfb80957..154f403d2701 100644 --- a/content/copilot/concepts/context/spaces.md +++ b/content/copilot/concepts/context/spaces.md @@ -65,7 +65,7 @@ You can use {% data variables.copilot.copilot_spaces %} in {% data variables.cop Questions you submit in a space count as {% data variables.copilot.copilot_chat_short %} requests and consume {% data variables.product.prodname_ai_credits_short %} based on the model used and the number of tokens processed. * If you're a {% data variables.copilot.copilot_free_short %} user, this usage counts toward your monthly chat limit. -* For {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %}, usage draws from your enterprise's shared {% data variables.product.prodname_ai_credits_short %} pool. For details on how consumption is calculated, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +* For {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %}, usage draws from your enterprise's shared {% data variables.product.prodname_ai_credits_short %} pool. For details on how consumption is calculated, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ## Next steps diff --git a/content/copilot/concepts/enterprise/agent-management.md b/content/copilot/concepts/enterprise/agent-management.md index d6d36a488a8a..b6cdf46976d2 100644 --- a/content/copilot/concepts/enterprise/agent-management.md +++ b/content/copilot/concepts/enterprise/agent-management.md @@ -74,13 +74,13 @@ To help you meet security and compliance requirements, you can choose to: Private MCP registries apply to {% data variables.copilot.copilot_cli_short %} and IDEs, but not to cloud agents that run on {% data variables.product.github %}. For {% data variables.copilot.copilot_cloud_agent %}, MCP servers can be configured at the repository level or in custom agent profiles defined at the enterprise level. -For more information, see [AUTOTITLE](/copilot/concepts/mcp-management). +For more information, see [AUTOTITLE](/copilot/concepts/enterprise/mcp-management). ## Enterprise-managed settings The `{% data variables.copilot.managed_setting_file %}` file allows enterprises to control how users can interact with agents across {% data variables.product.prodname_copilot_short %} clients. For example: which plugins can people install, and can people use "allow all" commands that let agents run commands without asking for permission? This file can be hosted on {% data variables.product.company_short %} or installed directly on users' machines. -For more information, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings). +For more information, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started). ## Agent mode in the IDE diff --git a/content/copilot/concepts/enterprise/default-model-availability.md b/content/copilot/concepts/enterprise/default-model-availability.md index e328dd617628..f8e8b32aa093 100644 --- a/content/copilot/concepts/enterprise/default-model-availability.md +++ b/content/copilot/concepts/enterprise/default-model-availability.md @@ -31,4 +31,4 @@ For instructions on managing model policies, see [AUTOTITLE](/copilot/how-tos/ad ## How do I prepare for new models? -We recommend keeping up with new model releases so you can choose your enablement settings for each one. New models are announced on {% data variables.product.github %}'s changelog. For more information, see [AUTOTITLE](/copilot/concepts/learning-about-new-features-and-models#learning-about-new-copilot-models). +We recommend keeping up with new model releases so you can choose your enablement settings for each one. New models are announced on {% data variables.product.github %}'s changelog. For more information, see [AUTOTITLE](/copilot/concepts/enterprise/learning-about-new-features-and-models#learning-about-new-copilot-models). diff --git a/content/copilot/concepts/enterprise/learning-about-new-features-and-models.md b/content/copilot/concepts/enterprise/learning-about-new-features-and-models.md index 9b53069fbda4..8429e9d02766 100644 --- a/content/copilot/concepts/enterprise/learning-about-new-features-and-models.md +++ b/content/copilot/concepts/enterprise/learning-about-new-features-and-models.md @@ -42,7 +42,7 @@ To learn about new {% data variables.product.prodname_copilot_short %} features, Each feature has its own enablement requirements and policy settings. When a new feature is released: 1. Review the feature documentation to understand its capabilities. -1. Check the policy settings available at the enterprise and organization level. See [AUTOTITLE](/copilot/concepts/policies). +1. Check the policy settings available at the enterprise and organization level. See [AUTOTITLE](/copilot/concepts/enterprise/policies). 1. Consider running a pilot with a subset of users before broader rollout. ### Learning about new {% data variables.product.prodname_copilot_short %} models diff --git a/content/copilot/concepts/enterprise/mcp-management.md b/content/copilot/concepts/enterprise/mcp-management.md index 8663d6d2e363..b5cab39c726c 100644 --- a/content/copilot/concepts/enterprise/mcp-management.md +++ b/content/copilot/concepts/enterprise/mcp-management.md @@ -31,7 +31,7 @@ Alternatively, you can host your own MCP registry and restrict access to servers | Release phase | Generally available | {% data variables.release-phases.public_preview_caps %}, not prioritized for development | | Ease of setup | You can host a configuration file on {% data variables.product.github %} that applies automatically to clients. | You must host your own registry that matches the MCP specification and serves HTTPS requests. | | Enforcement level | Enterprise-wide settings, overridable for enterprise teams | Enterprise-wide or for individual organizations | -| Supported clients | Clients supported by the `{% data variables.copilot.managed_setting_file %}` file, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings). Planned to expand in the near future. | See [AUTOTITLE](/copilot/reference/enterprise-administrators/mcp-private-registry-enforcement). | +| Supported clients | Clients supported by the `{% data variables.copilot.managed_setting_file %}` file, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started). Planned to expand in the near future. | See [AUTOTITLE](/copilot/reference/enterprise-administrators/mcp-private-registry-enforcement). | | Server matching method | Secure matching based on name, URL, or `stdio` commands | Less secure matching, based on name or ID only. Users can bypass the restriction by editing configuration files. | {% endrowheaders %} diff --git a/content/copilot/concepts/enterprise/opentelemetry.md b/content/copilot/concepts/enterprise/opentelemetry.md index de175fa4468d..c6e625519d0b 100644 --- a/content/copilot/concepts/enterprise/opentelemetry.md +++ b/content/copilot/concepts/enterprise/opentelemetry.md @@ -37,7 +37,7 @@ To collect OTel data from users' {% data variables.product.prodname_copilot_shor Enterprises can enforce OTel configuration across supported clients with managed settings. These settings are enforced across users' clients and cannot be overridden. The `telemetry` property includes keys for enabling and configuring OpenTelemetry. -For more information, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings) and [AUTOTITLE](/copilot/reference/enterprise-administrators/enterprise-managed-settings). +For more information, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started) and [AUTOTITLE](/copilot/reference/enterprise-administrators/enterprise-managed-settings). ## Client documentation diff --git a/content/copilot/concepts/enterprise/plugin-standards.md b/content/copilot/concepts/enterprise/plugin-standards.md index 9cb0ad2a5285..47a97f26e19a 100644 --- a/content/copilot/concepts/enterprise/plugin-standards.md +++ b/content/copilot/concepts/enterprise/plugin-standards.md @@ -44,4 +44,4 @@ Enterprise-managed plugin standards help administrators address several common c ## Next step -To configure enterprise plugin standards, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings). +To configure enterprise plugin standards, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started). diff --git a/content/copilot/get-started/plans.md b/content/copilot/get-started/plans.md index 4b88115f0881..bcf808ebc22b 100644 --- a/content/copilot/get-started/plans.md +++ b/content/copilot/get-started/plans.md @@ -67,7 +67,7 @@ The table below provides an overview of differences between plans. All plans inc {% endrowheaders %} -Each plan comes with an allowance of {% data variables.product.prodname_ai_credits %}. For more information, including how {% data variables.product.prodname_ai_credits %} work, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-individuals) and [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +Each plan comes with an allowance of {% data variables.product.prodname_ai_credits %}. For more information, including how {% data variables.product.prodname_ai_credits %} work, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-individuals) and [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). For more detail on what's uniquely available in each plan, see the following sections: * [Individual plans](#individual-plans) @@ -187,7 +187,7 @@ With these plans you'll receive access to the following features and capabilitie {% data variables.product.prodname_copilot_short %} usage is measured in {% data variables.product.prodname_ai_credits_short %} under usage-based billing. Each license contributes {% data variables.product.prodname_ai_credits_short %} to a shared enterprise pool, and usage beyond the pool is charged at {% data variables.product.prodname_ai_credits_value %} per {% data variables.product.prodname_ai_credit_singular %}. Code completions and {% data variables.copilot.next_edit_suggestions %} are not billed in {% data variables.product.prodname_ai_credits_short %} and remain unlimited for all paid plans. -For a full explanation of how {% data variables.product.prodname_ai_credits_short %} work, including pooling, additional usage, and what happens when credits run out, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +For a full explanation of how {% data variables.product.prodname_ai_credits_short %} work, including pooling, additional usage, and what happens when credits run out, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ### Inline suggestions and {% data variables.copilot.copilot_chat_short %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/create-github-private-repo.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/create-github-private-repo.md index 62a9ec1c38b1..c9bbb2ba8d74 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/create-github-private-repo.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/create-github-private-repo.md @@ -44,4 +44,4 @@ To control who can propose and merge changes to the governance settings stored h ## Next steps * [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents) -* [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings) +* [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started) diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/monitor-agentic-activity.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/monitor-agentic-activity.md index 62c0ea639fd7..6dc84c880741 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/monitor-agentic-activity.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/monitor-agentic-activity.md @@ -41,4 +41,4 @@ OpenTelemetry (OTel) is an open source observability framework. It provides a st When you enable OTel monitoring, you can send data from users' {% data variables.product.prodname_copilot_short %} clients to an OTel-compatible backend. This lets you analyze agent sessions and understand agent usage across your enterprise. -For more information, see [AUTOTITLE](/copilot/concepts/agents/opentelemetry). +For more information, see [AUTOTITLE](/copilot/concepts/enterprise/opentelemetry). diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents.md index 8bdf3137443d..8fb11a2ffe63 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/prepare-for-custom-agents.md @@ -42,4 +42,4 @@ If you prefer to maintain full control over your enterprise's tooling to ensure ## Next steps -To centrally control {% data variables.product.prodname_copilot_short %} client behavior across your enterprise, configure enterprise managed settings. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings). +To centrally control {% data variables.product.prodname_copilot_short %} client behavior across your enterprise, configure enterprise managed settings. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started). diff --git a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies.md b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies.md index b3628cc5a50b..f46ab2084ef0 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-enterprise-policies.md @@ -23,7 +23,7 @@ If you're setting up {% data variables.product.prodname_copilot_short %} for the ## Defining policies for your enterprise -Enterprise owners can define a policy for the whole enterprise, or delegate the decision to individual organization owners. See [AUTOTITLE](/copilot/concepts/policies). +Enterprise owners can define a policy for the whole enterprise, or delegate the decision to individual organization owners. See [AUTOTITLE](/copilot/concepts/enterprise/policies). {% data reusables.enterprise-accounts.access-enterprise %} {% data reusables.enterprise-accounts.ai-controls-tab %} diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-default-models.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-default-models.md index d0715e17454f..72322048c0a4 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-default-models.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-default-models.md @@ -22,7 +22,7 @@ When viewing the model settings for your organization, you may see the following * **Enabled** or **Disabled** with a {% octicon "shield" aria-label="shield" %} icon: The enterprise owner has enforced this setting. You cannot change the availability of this model. * **Enabled** or **Disabled** in a dropdown menu: The enterprise owner has made this model optional. You can configure the availability for your organization. -* **Delegate to Default Policy**: This model is available for you to configure, but no one has configured it in the organization. The model inherits the default set in the "Default availability" policy for your organization. See [AUTOTITLE](/copilot/concepts/models/default-availability). +* **Delegate to Default Policy**: This model is available for you to configure, but no one has configured it in the organization. The model inherits the default set in the "Default availability" policy for your organization. See [AUTOTITLE](/copilot/concepts/enterprise/default-model-availability). ## Configuring model availability for your organization diff --git a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-plan/subscribe.md b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-plan/subscribe.md index 8ca6e0194577..a62e0a01716d 100644 --- a/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-plan/subscribe.md +++ b/content/copilot/how-tos/administer-copilot/manage-for-organization/manage-plan/subscribe.md @@ -21,14 +21,14 @@ category: --- > [!NOTE] -> If your organization is part of an enterprise, you will gain {% data variables.product.prodname_copilot_short %} through your enterprise instead. See [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/subscribing-to-copilot-for-your-enterprise) and [AUTOTITLE](/copilot/managing-copilot/managing-copilot-for-your-enterprise/enabling-copilot-for-organizations-in-your-enterprise). +> If your organization is part of an enterprise, you will gain {% data variables.product.prodname_copilot_short %} through your enterprise instead. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-plan/subscribe) and [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-access/grant-access). 1. Navigate to the [{% data variables.product.prodname_copilot %} sign up page](https://github.com/github-copilot/purchase?ref_product=copilot&ref_type=purchase&ref_style=text). 1. Ensure you are signed in to the right organization account. If you are not, click **{% octicon "arrow-switch" aria-hidden="true" aria-label="arrow-switch" %} Switch** and select the organization for which you want to purchase {% data variables.product.prodname_copilot %}. 1. Click **Enable {% data variables.product.prodname_copilot %}**. -1. Enable {% data variables.product.prodname_copilot_short %} for some or all members of your organization. For more information about assigning seats, see [AUTOTITLE](/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-access-to-github-copilot-in-your-organization/granting-access-to-copilot-for-members-of-your-organization). +1. Enable {% data variables.product.prodname_copilot_short %} for some or all members of your organization. For more information about assigning seats, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/manage-access/grant-access). ## Next steps -* To finish setting up {% data variables.product.prodname_copilot_short %} for your organization, see [AUTOTITLE](/copilot/setting-up-github-copilot/setting-up-github-copilot-for-your-organization). -* For billing information, see [AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot#about-billing-for-github-copilot-business-and-github-copilot-enterprise) and [AUTOTITLE](/billing/managing-your-billing). \ No newline at end of file +* To finish setting up {% data variables.product.prodname_copilot_short %} for your organization, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-for-organization). +* For billing information, see [AUTOTITLE](/billing/concepts/product-billing/github-copilot-licenses#about-billing-for-github-copilot-business-and-github-copilot-enterprise) and [AUTOTITLE](/billing/get-started). \ No newline at end of file diff --git a/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-enterprise-allowlist.md b/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-enterprise-allowlist.md index 97f4ef40bad4..ec9868c37ab3 100644 --- a/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-enterprise-allowlist.md +++ b/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-enterprise-allowlist.md @@ -16,7 +16,7 @@ category: You can define an allowlist and denylist to control which MCP servers users in your enterprise can run in {% data variables.product.prodname_copilot_short %} clients. These lists are defined in your enterprise's `{% data variables.copilot.managed_setting_file %}`, which you can store on {% data variables.product.github %}. -For more information, see [AUTOTITLE](/copilot/concepts/mcp-management). +For more information, see [AUTOTITLE](/copilot/concepts/enterprise/mcp-management). ## Prerequisites @@ -27,7 +27,7 @@ You can find these settings in the {% octicon "mcp" aria-hidden="true" aria-labe ## Defining an allowlist or denylist -1. Create a `{% data variables.copilot.managed_setting_file %}` file for your enterprise. Most enterprises store this file in a `.github-private` repository. You can also install it directly on users' machines using mobile device management. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings#deploying-server-managed-settings). +1. Create a `{% data variables.copilot.managed_setting_file %}` file for your enterprise. Most enterprises store this file in a `.github-private` repository. You can also install it directly on users' machines using mobile device management. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/deploy-managed-settings#deploying-server-managed-settings). 1. Edit the file to define an allowlist and denylist for MCP servers. You can match by name, server URL, or specific commands. For syntax details, see [allowedMcpServers](/copilot/reference/enterprise-administrators/enterprise-managed-settings#allowedmcpservers), and [deniedMcpServers](/copilot/reference/enterprise-administrators/enterprise-managed-settings#deniedmcpservers) in "Enterprise managed settings." The following example allows servers that match any of the three allowlist entries. The filesystem server configured to access the root filesystem is always blocked, even if it also matches an allowlist entry. diff --git a/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry.md b/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry.md index 4e8ba65eb0b4..7eb195f216e9 100644 --- a/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry.md +++ b/content/copilot/how-tos/administer-copilot/manage-mcp-usage/configure-mcp-registry.md @@ -16,7 +16,7 @@ category: ## Prerequisites -Before you create your Model Context Protocol (MCP) registry, you should understand the functionality and benefits of MCP management for your company. See [AUTOTITLE](/copilot/concepts/mcp-management). +Before you create your Model Context Protocol (MCP) registry, you should understand the functionality and benefits of MCP management for your company. See [AUTOTITLE](/copilot/concepts/enterprise/mcp-management). ## Option 1: Self-hosting an MCP registry diff --git a/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-azure-boards.md b/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-azure-boards.md index a34bb684e624..d2a9d122f749 100644 --- a/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-azure-boards.md +++ b/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-azure-boards.md @@ -63,4 +63,4 @@ If you already have the Azure Boards application installed on {% data variables. ## Further reading * [AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-cloud-agent) -* [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management) +* [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access) diff --git a/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-jira.md b/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-jira.md index 8c3b7247aabe..2c554d68422d 100644 --- a/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-jira.md +++ b/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-jira.md @@ -140,7 +140,7 @@ Use custom instructions to set defaults that apply to every session, such as the {% data variables.copilot.copilot_cloud_agent %} uses {% data variables.product.prodname_actions %} minutes and {% data variables.product.prodname_ai_credits_short %}. -For more information, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +For more information, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ## Adding or removing an organization to the {% data variables.product.prodname_copilot %} for Jira app @@ -200,6 +200,6 @@ To resolve this issue, follow these steps to start a new active SSO session for ## Further reading * [AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-cloud-agent) -* [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management) +* [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers#example-atlassian) * [Collaborate on work items with AI agents](https://support.atlassian.com/jira-software-cloud/docs/collaborate-on-work-items-with-ai-agents/) in the Atlassian documentation diff --git a/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-linear.md b/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-linear.md index 6d546c1296fa..c4c718e92361 100644 --- a/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-linear.md +++ b/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-linear.md @@ -96,4 +96,4 @@ After you trigger {% data variables.copilot.copilot_cloud_agent %} from a Linear ## Further reading * [AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-cloud-agent) -* [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management) +* [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access) diff --git a/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams.md b/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams.md index 41c5fd13e32c..9a10abe04f15 100644 --- a/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams.md +++ b/content/copilot/how-tos/copilot-integrations/integrate-cloud-agent-with-teams.md @@ -129,4 +129,4 @@ You can view and share feedback in our [discussion forum](https://github.com/org ## Further reading * [AUTOTITLE](/copilot/concepts/agents/cloud-agent/about-cloud-agent) -* [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management) +* [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access) diff --git a/content/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-mobile.md b/content/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-mobile.md index 267cd13ba512..48f05a93d72e 100644 --- a/content/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-mobile.md +++ b/content/copilot/how-tos/copilot-on-github/chat-with-copilot/chat-in-mobile.md @@ -24,7 +24,7 @@ category: The following limitations apply to {% data variables.copilot.copilot_mobile_short %}: -* If you're a member of an organization or enterprise, your access to {% data variables.copilot.copilot_mobile_short %} may depend on policies set by your administrator. See [AUTOTITLE](/copilot/concepts/policies). +* If you're a member of an organization or enterprise, your access to {% data variables.copilot.copilot_mobile_short %} may depend on policies set by your administrator. See [AUTOTITLE](/copilot/concepts/enterprise/policies). * If you purchased {% data variables.copilot.copilot_pro_short %}, {% data variables.copilot.copilot_pro_plus_short %}, or {% data variables.copilot.copilot_max_short %} through an in-app purchase on iOS or Android, you cannot enable additional {% data variables.product.prodname_ai_credits %}. To do so, cancel your mobile subscription and re-subscribe on {% data variables.product.prodname_dotcom_the_website %} through a web browser. ## Asking a general question about software development diff --git a/content/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/use-copilot-to-create-or-update-issues.md b/content/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/use-copilot-to-create-or-update-issues.md index cf4e82664d6d..e6a265155af3 100644 --- a/content/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/use-copilot-to-create-or-update-issues.md +++ b/content/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/use-copilot-to-create-or-update-issues.md @@ -81,7 +81,7 @@ Review the draft in the workbench, then click **Review and create** > **Create i ## Assign an issue to {% data variables.product.prodname_copilot_short %} -With {% data variables.copilot.copilot_cloud_agent %} enabled, you can assign an issue to {% data variables.product.prodname_copilot_short %} during creation. See [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management). +With {% data variables.copilot.copilot_cloud_agent %} enabled, you can assign an issue to {% data variables.product.prodname_copilot_short %} during creation. See [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access). * **Natural language:** Include `Assign this issue to {% data variables.product.prodname_copilot_short %}.` in your prompt. * **Manually:** Select "{% data variables.product.prodname_copilot_short %}" from the assignee list. diff --git a/content/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview.md b/content/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview.md index 07591c5dc3d1..9e83e1e90d97 100644 --- a/content/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview.md +++ b/content/copilot/how-tos/copilot-on-github/customize-copilot/customize-copilot-overview.md @@ -16,7 +16,7 @@ This quickstart walks you through customizing {% data variables.product.prodname ## Prerequisites * Any paid {% data variables.product.prodname_copilot_short %} plan. For more information, see [AUTOTITLE](/copilot/get-started/plans). -* {% data variables.copilot.copilot_cloud_agent_short_cap_c %} enabled for your organization or account. For more information, see [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management). +* {% data variables.copilot.copilot_cloud_agent_short_cap_c %} enabled for your organization or account. For more information, see [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access). * Write access to a {% data variables.product.github %} repository. ## Step 1: Teach {% data variables.product.prodname_copilot_short %} your project's conventions diff --git a/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-a-dedicated-enterprise-for-copilot-business.md b/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-a-dedicated-enterprise-for-copilot-business.md index 808cf9cf95d9..7e9b7d97774e 100644 --- a/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-a-dedicated-enterprise-for-copilot-business.md +++ b/content/copilot/how-tos/copilot-on-github/set-up-copilot/enable-copilot/set-up-a-dedicated-enterprise-for-copilot-business.md @@ -18,7 +18,7 @@ category: - Manage Copilot for a team --- -Before you begin, see [AUTOTITLE](/copilot/concepts/about-enterprise-accounts-for-copilot-business) to understand how to use a standard enterprise account for {% data variables.copilot.copilot_business_short %} without consuming {% data variables.product.prodname_ghe_cloud %} licenses. +Before you begin, see [AUTOTITLE](/copilot/concepts/enterprise/about-enterprise-accounts-for-copilot-business) to understand how to use a standard enterprise account for {% data variables.copilot.copilot_business_short %} without consuming {% data variables.product.prodname_ghe_cloud %} licenses. ## Create an enterprise account @@ -63,7 +63,7 @@ For detailed steps, see [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-f After you assign licenses, you can centrally govern how members use {% data variables.product.prodname_copilot_short %}: * **Policies**. Control feature availability with policies in AI Controls. -* **Enterprise managed settings**. Distribute client governance and extensibility configuration from a centrally defined source. For example, you can disable bypass mode, restrict plugins, and set the default model for new conversations. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings). +* **Enterprise managed settings**. Distribute client governance and extensibility configuration from a centrally defined source. For example, you can disable bypass mode, restrict plugins, and set the default model for new conversations. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started). To use server-managed settings, you need an organization and a `.github-private` repository, which requires a {% data variables.product.prodname_enterprise %} license for the user who creates them. Alternatively, you can deploy managed settings through MDM or a file-based deployment without creating an organization. diff --git a/content/copilot/how-tos/copilot-on-github/use-copilot-agents/copilot-code-review.md b/content/copilot/how-tos/copilot-on-github/use-copilot-agents/copilot-code-review.md index b9ffeb91fd26..e2e0f329d28b 100644 --- a/content/copilot/how-tos/copilot-on-github/use-copilot-agents/copilot-code-review.md +++ b/content/copilot/how-tos/copilot-on-github/use-copilot-agents/copilot-code-review.md @@ -58,13 +58,13 @@ When you push new changes to a pull request that {% data variables.product.prodn To manually request a re-review, click the {% octicon "sync" aria-label="Re-request review" %} button next to {% data variables.product.prodname_copilot_short %}'s name in the **Reviewers** menu. For more information, see [AUTOTITLE](/pull-requests/how-tos/create-pull-requests/requesting-a-pull-request-review). -To automatically request re-reviews on every push, enable automatic code review and select **Review new pushes** in the ruleset settings. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review#configuring-automatic-code-review-for-repositories-in-an-organization). +To automatically request re-reviews on every push, enable automatic code review and select **Review new pushes** in the ruleset settings. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review#configuring-automatic-code-review-for-repositories-in-an-organization). When re-reviewing, {% data variables.product.prodname_copilot_short %} may repeat previous comments, even if you resolved or downvoted them. ## Enable automatic reviews -By default, you request reviews from {% data variables.product.prodname_copilot_short %} manually on each pull request. To enable automatic reviews for all pull requests, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review). +By default, you request reviews from {% data variables.product.prodname_copilot_short %} manually on each pull request. To enable automatic reviews for all pull requests, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review). ## Customize reviews with custom instructions diff --git a/content/copilot/how-tos/copilot-on-github/use-copilot-agents/overview.md b/content/copilot/how-tos/copilot-on-github/use-copilot-agents/overview.md index 945ae16c17e1..1e60d6018a65 100644 --- a/content/copilot/how-tos/copilot-on-github/use-copilot-agents/overview.md +++ b/content/copilot/how-tos/copilot-on-github/use-copilot-agents/overview.md @@ -11,7 +11,7 @@ contentType: how-tos ## Prerequisite -You need a repository where {% data variables.copilot.copilot_cloud_agent %} is enabled. For {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %} subscribers, an administrator must enable the agent before you can use it. See [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management). +You need a repository where {% data variables.copilot.copilot_cloud_agent %} is enabled. For {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %} subscribers, an administrator must enable the agent before you can use it. See [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access). ## Step 1: Assign an issue to {% data variables.product.prodname_copilot_short %} diff --git a/content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md b/content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md index 2447d870f801..e8f251e7adfa 100644 --- a/content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md +++ b/content/copilot/how-tos/github-copilot-app/customize-github-copilot-app.md @@ -104,4 +104,4 @@ Use canvas extensions to build shared, agent-driven artifacts and interfaces for Enterprise and organization owners can set policies to govern how {% data variables.product.prodname_copilot_short %} is used across surfaces. For the major policies supported by the {% data variables.copilot.github_copilot_app %}, see [AUTOTITLE](/copilot/reference/supported-surfaces-for-policies). -Enterprises can also define a `{% data variables.copilot.managed_setting_file %}` file to control which actions users can take in supported {% data variables.product.prodname_copilot_short %} clients, such as which plugins users can install and whether "YOLO-style" commands are permitted. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/manage-agents/configure-enterprise-managed-settings). +Enterprises can also define a `{% data variables.copilot.managed_setting_file %}` file to control which actions users can take in supported {% data variables.product.prodname_copilot_short %} clients, such as which plugins users can install and whether "YOLO-style" commands are permitted. See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-enterprise/use-managed-settings/get-started). diff --git a/content/copilot/how-tos/github-copilot-app/using-automations.md b/content/copilot/how-tos/github-copilot-app/using-automations.md index 91bce8c3fd60..771648e80671 100644 --- a/content/copilot/how-tos/github-copilot-app/using-automations.md +++ b/content/copilot/how-tos/github-copilot-app/using-automations.md @@ -36,7 +36,7 @@ Open **[Automations](https://github.com/copilot/app/launch?open=ghapp%3A%2F%2Fau To use cloud {% data variables.copilot.copilot_automations %}, make sure the following settings are enabled. -* {% data variables.copilot.copilot_cloud_agent %} must be enabled for the repository. If you have {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %}, an administrator must enable the {% data variables.copilot.copilot_cloud_agent %} policy. See [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management). +* {% data variables.copilot.copilot_cloud_agent %} must be enabled for the repository. If you have {% data variables.copilot.copilot_business_short %} or {% data variables.copilot.copilot_enterprise_short %}, an administrator must enable the {% data variables.copilot.copilot_cloud_agent %} policy. See [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access). * The organization must allow both {% data variables.copilot.copilot_cloud_agent %} and {% data variables.copilot.copilot_automations %} in the repository (both are enabled by default). See [AUTOTITLE](/copilot/how-tos/administer-copilot/manage-for-organization/add-copilot-cloud-agent). * If you want to create {% data variables.copilot.copilot_automations %} that can listen to events triggered by users without write access, disable the "Only allow automations to be triggered by users with write access" setting in {% data variables.copilot.copilot_cloud_agent %} repository settings. diff --git a/content/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review.md b/content/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review.md index 25546e4d8a1f..4c2d03f0dd06 100644 --- a/content/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review.md +++ b/content/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review.md @@ -66,7 +66,7 @@ You can also request a review from {% data variables.product.prodname_copilot_sh ## Enabling automatic reviews -By default, you manually request a review from {% data variables.product.prodname_copilot_short %} on each pull request, in the same way you would request a review from a human. However, you can set up {% data variables.product.prodname_copilot_short %} to automatically review all pull requests. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review). +By default, you manually request a review from {% data variables.product.prodname_copilot_short %} on each pull request, in the same way you would request a review from a human. However, you can set up {% data variables.product.prodname_copilot_short %} to automatically review all pull requests. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review). ## Requesting a re-review from {% data variables.product.prodname_copilot_short %} @@ -74,7 +74,7 @@ When you push changes to a pull request that {% data variables.product.prodname_ To manually request a re-review from {% data variables.product.prodname_copilot_short %}, click the {% octicon "sync" aria-label="Re-request review" %} button next to {% data variables.product.prodname_copilot_short %}'s name in the **Reviewers** menu. For more information, see [AUTOTITLE](/pull-requests/how-tos/create-pull-requests/requesting-a-pull-request-review). -To automatically request re-reviews from {% data variables.product.prodname_copilot_short %} on every push, enable automatic code review for the repository and select **Review new pushes** in the ruleset settings. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review#configuring-automatic-code-review-for-repositories-in-an-organization). +To automatically request re-reviews from {% data variables.product.prodname_copilot_short %} on every push, enable automatic code review for the repository and select **Review new pushes** in the ruleset settings. For more information, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review#configuring-automatic-code-review-for-repositories-in-an-organization). > [!NOTE] When re-reviewing a pull request, {% data variables.product.prodname_copilot_short %} may repeat the same comments again, even if they have been dismissed with the "Resolve conversation" button or downvoted with the thumbs down (:-1:) button. @@ -98,7 +98,7 @@ Every {% data variables.copilot.copilot_code-review_short %} includes an approva When approvals are enabled, {% data variables.product.prodname_copilot_short %} can submit an approving review that satisfies your repository's required-approval rule the same way a teammate's approval would. If new commits are pushed after {% data variables.product.prodname_copilot_short %} approves, the approval is dismissed, and you can re-request a review. For more details on required reviews, see [AUTOTITLE](/pull-requests/how-tos/review-pull-requests/approving-a-pull-request-with-required-reviews). -Approvals are off by default and can be configured at the enterprise, organization, and repository levels. Repository administrators can also use file paths to control which {% data variables.product.prodname_copilot_short %} approvals count toward merge requirements. For configuration steps, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review#customizing-copilot-code-review). +Approvals are off by default and can be configured at the enterprise, organization, and repository levels. Repository administrators can also use file paths to control which {% data variables.product.prodname_copilot_short %} approvals count toward merge requirements. For configuration steps, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review#customizing-copilot-code-review). ## Customizing {% data variables.product.prodname_copilot_short %}'s reviews with custom instructions diff --git a/content/copilot/reference/copilot-billing/models-and-pricing.md b/content/copilot/reference/copilot-billing/models-and-pricing.md index 0ee0e06a752b..808a74eda135 100644 --- a/content/copilot/reference/copilot-billing/models-and-pricing.md +++ b/content/copilot/reference/copilot-billing/models-and-pricing.md @@ -19,7 +19,7 @@ The cost of an interaction depends on two things: the model and the number of to How {% data variables.product.prodname_copilot_short %} usage is tracked and billed depends on your plan type: * Individual plans ({% data variables.copilot.copilot_free_short %}, {% data variables.copilot.copilot_pro_short %}, {% data variables.copilot.copilot_pro_plus_short %}, and {% data variables.copilot.copilot_max_short %}) include {% data variables.product.prodname_ai_credits %} allowances that vary by plan. For details, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-individuals). -* {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %} include per-user {% data variables.product.prodname_ai_credits %} allowances that are pooled at the billing entity level. For details, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +* {% data variables.copilot.copilot_business_short %} and {% data variables.copilot.copilot_enterprise_short %} include per-user {% data variables.product.prodname_ai_credits %} allowances that are pooled at the billing entity level. For details, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). When usage exceeds the included allowances for any {% data variables.product.prodname_copilot_short %} plan, additional usage is billed in {% data variables.product.prodname_ai_credits %} at the per-token rates shown in the pricing tables below (1 {% data variables.product.prodname_ai_credit_singular %} = {% data variables.product.prodname_ai_credits_value %}). diff --git a/content/copilot/reference/copilot-cli-reference/cli-plugin-reference.md b/content/copilot/reference/copilot-cli-reference/cli-plugin-reference.md index 7fdc016ee897..7bc2a539fe65 100644 --- a/content/copilot/reference/copilot-cli-reference/cli-plugin-reference.md +++ b/content/copilot/reference/copilot-cli-reference/cli-plugin-reference.md @@ -346,7 +346,7 @@ The following diagram illustrates the loading order and precedence rules. ## Further reading -* [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards) +* [AUTOTITLE](/copilot/concepts/enterprise/plugin-standards) * [AUTOTITLE](/copilot/how-tos/copilot-cli) * [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference) * [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-programmatic-reference) diff --git a/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md b/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md index c667854ae6d8..96a55c360283 100644 --- a/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md +++ b/content/copilot/reference/enterprise-administrators/enterprise-managed-settings.md @@ -126,7 +126,7 @@ The following example shows these keys in one managed settings file. ## enabledPlugins -Defines plugins that are automatically installed or blocked for all enterprise users. Each entry uses the format `PLUGIN-NAME@MARKETPLACE-NAME` as the key, with a boolean value: `true` to require the plugin to be enabled, or `false` to require it to be disabled. See [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards). +Defines plugins that are automatically installed or blocked for all enterprise users. Each entry uses the format `PLUGIN-NAME@MARKETPLACE-NAME` as the key, with a boolean value: `true` to require the plugin to be enabled, or `false` to require it to be disabled. See [AUTOTITLE](/copilot/concepts/enterprise/plugin-standards). ## extraKnownMarketplaces @@ -142,7 +142,7 @@ The following source types are supported: * `"git"` — requires `url`; optional `ref` and `path` * `"directory"` — requires `path` -See [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards). +See [AUTOTITLE](/copilot/concepts/enterprise/plugin-standards). ## strictKnownMarketplaces diff --git a/content/copilot/reference/enterprise-administrators/policy-conflicts.md b/content/copilot/reference/enterprise-administrators/policy-conflicts.md index f7cbaa1e34ba..6c8cf243139a 100644 --- a/content/copilot/reference/enterprise-administrators/policy-conflicts.md +++ b/content/copilot/reference/enterprise-administrators/policy-conflicts.md @@ -15,7 +15,7 @@ contentType: reference ## About delegating policy decisions to organizations -Policies can be defined for a whole enterprise, or set at the organization level. See [AUTOTITLE](/copilot/concepts/policies). +Policies can be defined for a whole enterprise, or set at the organization level. See [AUTOTITLE](/copilot/concepts/enterprise/policies). When an enterprise owner delegates control of a policy to organization owners by setting "No policy," some organizations may enable a feature while others disable it. Users may be granted a {% data variables.product.prodname_copilot_short %} license by organizations with different policies for the same feature. diff --git a/content/copilot/tutorials/budgets/getting-started-with-budget-controls.md b/content/copilot/tutorials/budgets/getting-started-with-budget-controls.md index e68253eed67b..ea13f3e7de01 100644 --- a/content/copilot/tutorials/budgets/getting-started-with-budget-controls.md +++ b/content/copilot/tutorials/budgets/getting-started-with-budget-controls.md @@ -18,7 +18,7 @@ Before you begin, make sure you understand how the four budget controls work and > [!NOTE] -> If your enterprise was using {% data variables.product.prodname_copilot_short %} before June 1, 2026, you are on a promotional period (June–August 2026) where your included {% data variables.product.prodname_ai_credits_short %} are higher than the standard amounts. When the promotional period ends on September 1, 2026, the shared pool will be smaller. Use this period to understand your team's baseline consumption and adjust your spending limits before the transition. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises#how-do-ai-credits-work) for the standard and promotional amounts. +> If your enterprise was using {% data variables.product.prodname_copilot_short %} before June 1, 2026, you are on a promotional period (June–August 2026) where your included {% data variables.product.prodname_ai_credits_short %} are higher than the standard amounts. When the promotional period ends on September 1, 2026, the shared pool will be smaller. Use this period to understand your team's baseline consumption and adjust your spending limits before the transition. See [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing#how-do-ai-credits-work) for the standard and promotional amounts. diff --git a/content/copilot/tutorials/cloud-agent/build-guardrails.md b/content/copilot/tutorials/cloud-agent/build-guardrails.md index 3e28bd90d880..00698ffbf2ac 100644 --- a/content/copilot/tutorials/cloud-agent/build-guardrails.md +++ b/content/copilot/tutorials/cloud-agent/build-guardrails.md @@ -22,7 +22,7 @@ Plan your policies for {% data variables.copilot.copilot_cloud_agent %} in advan Some questions to ask are: -* Which organizations and repositories will {% data variables.copilot.copilot_cloud_agent %} be enabled in? See [AUTOTITLE](/copilot/concepts/agents/cloud-agent/access-management). +* Which organizations and repositories will {% data variables.copilot.copilot_cloud_agent %} be enabled in? See [AUTOTITLE](/copilot/concepts/enterprise/cloud-agent-access). * Which MCP servers will you configure to give {% data variables.copilot.copilot_cloud_agent %} access to external tools? See [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/configure-mcp-servers). ### Which policies don't apply? diff --git a/content/copilot/tutorials/cloud-agent/give-access-to-resources.md b/content/copilot/tutorials/cloud-agent/give-access-to-resources.md index ca0fae4e8c09..0ceb67d89c6a 100644 --- a/content/copilot/tutorials/cloud-agent/give-access-to-resources.md +++ b/content/copilot/tutorials/cloud-agent/give-access-to-resources.md @@ -101,4 +101,4 @@ Now you have seen how access to resources is controlled at the repository and or 1. **Consider who gets admin access** to these repositories. You can control this at the organization level by creating a team with the **All-repository admin** custom role. These users will be able to manage configuration _settings_, such as MCP configuration and Agents secrets and variables, in every repository. 1. **Use rulesets and CODEOWNERS files** to control edits of configuration _files_, such as `copilot-setup-steps.yml`, which anyone with write access can edit by default. 1. **Review the default firewall**. The firewall doesn't affect connections to MCP servers or setup steps in `copilot-setup-steps.yml`, but it does limit {% data variables.product.prodname_copilot_short %}'s access to the Internet during task execution. See [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/customize-the-firewall). -1. **Define plugin standards**. Plugins are installable packages that extend {% data variables.product.prodname_copilot_short %} with reusable agents, skills, hooks, and integrations. You can control which plugins and marketplaces are permitted in an enterprise's `{% data variables.copilot.managed_setting_file %}` file. See [AUTOTITLE](/copilot/concepts/agents/about-enterprise-plugin-standards). +1. **Define plugin standards**. Plugins are installable packages that extend {% data variables.product.prodname_copilot_short %} with reusable agents, skills, hooks, and integrations. You can control which plugins and marketplaces are permitted in an enterprise's `{% data variables.copilot.managed_setting_file %}` file. See [AUTOTITLE](/copilot/concepts/enterprise/plugin-standards). diff --git a/content/copilot/tutorials/optimize-code-reviews.md b/content/copilot/tutorials/optimize-code-reviews.md index 2b3b80f78a89..8c3e2d22053c 100644 --- a/content/copilot/tutorials/optimize-code-reviews.md +++ b/content/copilot/tutorials/optimize-code-reviews.md @@ -227,7 +227,7 @@ Automatic review comments help you optimize your reviews and secure your code mo To make your reviews more efficient and effective using {% data variables.product.prodname_copilot_short %}'s review capabilities, get started by following these steps. 1. Create custom instructions specific to your project and repository. Write your own, or take inspiration from our library of examples. See [AUTOTITLE](/copilot/tutorials/customization-library/custom-instructions). -1. To enable automatic {% data variables.copilot.copilot_code-review_short %} for your repository, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review). +1. To enable automatic {% data variables.copilot.copilot_code-review_short %} for your repository, see [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review). 1. To configure {% data variables.copilot.copilot_autofix_short %} for your repo you'll need to enable {% data variables.product.prodname_code_scanning %}. Once {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %} analysis is enabled, {% data variables.copilot.copilot_autofix_short %} is enabled by default. For the easiest setup, see [AUTOTITLE](/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configure-code-scanning). 1. To add reliability, maintainability, and coverage checks to your pull requests, enable {% data variables.product.prodname_code_quality %} for your repository. See [AUTOTITLE](/code-security/how-tos/maintain-quality-code/enable-code-quality). diff --git a/content/copilot/tutorials/roll-out-at-scale/assign-licenses/choose-enterprise-plan.md b/content/copilot/tutorials/roll-out-at-scale/assign-licenses/choose-enterprise-plan.md index 1cde205b0847..b017f03df758 100644 --- a/content/copilot/tutorials/roll-out-at-scale/assign-licenses/choose-enterprise-plan.md +++ b/content/copilot/tutorials/roll-out-at-scale/assign-licenses/choose-enterprise-plan.md @@ -40,7 +40,7 @@ For a full comparison, see our [plans page](https://github.com/features/copilot/ {% data variables.product.prodname_ai_credits_short %} are consumed by advanced {% data variables.product.prodname_copilot_short %} features and models, including AI agents. Each plan's included {% data variables.product.prodname_ai_credits_short %} are pooled across your enterprise, so heavier users can draw from lighter users' unused portions. By giving members access to more {% data variables.product.prodname_ai_credits_short %}, you can scale your company with AI agents and drive real business outcomes. -By default, usage can continue beyond the included pool, with additional usage charged at {% data variables.product.prodname_ai_credits_value %} per {% data variables.product.prodname_ai_credit_singular %}. You can control this with budget controls. See [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +By default, usage can continue beyond the included pool, with additional usage charged at {% data variables.product.prodname_ai_credits_value %} per {% data variables.product.prodname_ai_credit_singular %}. You can control this with budget controls. See [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). ## How does {% data variables.copilot.copilot_enterprise_short %} support business goals? diff --git a/content/copilot/tutorials/roll-out-at-scale/drive-downstream-impact/accelerate-pull-requests.md b/content/copilot/tutorials/roll-out-at-scale/drive-downstream-impact/accelerate-pull-requests.md index 8a7a4ba745d4..746e8e98aa9c 100644 --- a/content/copilot/tutorials/roll-out-at-scale/drive-downstream-impact/accelerate-pull-requests.md +++ b/content/copilot/tutorials/roll-out-at-scale/drive-downstream-impact/accelerate-pull-requests.md @@ -158,7 +158,7 @@ Developers **should not**: * [AUTOTITLE](/copilot/how-tos/copilot-on-github/copilot-for-github-tasks/create-a-pr-summary) * [AUTOTITLE](/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-repository-instructions) -* [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review) +* [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review) * [AUTOTITLE](/copilot/how-tos/copilot-on-github/customize-copilot/add-custom-instructions/add-organization-instructions) ## Metrics to watch diff --git a/content/copilot/tutorials/roll-out-at-scale/govern-at-scale/pilot-a-feature-or-model.md b/content/copilot/tutorials/roll-out-at-scale/govern-at-scale/pilot-a-feature-or-model.md index 580c83697efe..36a15d5f8e9c 100644 --- a/content/copilot/tutorials/roll-out-at-scale/govern-at-scale/pilot-a-feature-or-model.md +++ b/content/copilot/tutorials/roll-out-at-scale/govern-at-scale/pilot-a-feature-or-model.md @@ -15,7 +15,7 @@ This tutorial walks you through running a pilot end to end: setting a budget, en ## Before you start your pilot -Before you enable anything, make sure you've evaluated the feature or model and confirmed it meets your compliance requirements. See [AUTOTITLE](/copilot/concepts/learning-about-new-features-and-models). +Before you enable anything, make sure you've evaluated the feature or model and confirmed it meets your compliance requirements. See [AUTOTITLE](/copilot/concepts/enterprise/learning-about-new-features-and-models). If you're not sure whether a feature or model is safe to enable, check with security and compliance teams at your company before you start the pilot. @@ -42,7 +42,7 @@ Many of the features and models you'll want to pilot are billed through usage, s A handful of active developers using a frontier model or an agentic feature could consume more than you'd expect. Work out a rough estimate of what the pilot could cost, and decide on a ceiling you're willing to spend before you enable the feature. -Start by understanding how the feature or model is billed. Usage-based features consume {% data variables.product.prodname_ai_credits %}, and the cost of each interaction depends on the model and the number of tokens consumed. To understand which features count toward usage, how included credits are pooled across your enterprise, and how overages are charged, see [AUTOTITLE](/copilot/concepts/billing/usage-based-billing-for-organizations-and-enterprises). +Start by understanding how the feature or model is billed. Usage-based features consume {% data variables.product.prodname_ai_credits %}, and the cost of each interaction depends on the model and the number of tokens consumed. To understand which features count toward usage, how included credits are pooled across your enterprise, and how overages are charged, see [AUTOTITLE](/copilot/concepts/billing/organizations-and-enterprises/usage-based-billing). To produce an estimate, combine three numbers: @@ -75,7 +75,7 @@ If any of your pilot users aren't yet members, or are members but receive their {% data variables.product.prodname_copilot_short %} policies control which features and models your users can access and how their data is handled. Configure these policies for the pilot organization *before* you turn the feature on, so that pilot users get a correctly governed experience from their very first interaction rather than a brief window where the feature is available without the guardrails you intend. -Decide which features and models the pilot should allow, and set the policies at the organization level so the change only affects your pilot organization; policies set at the enterprise level apply to every organization in your enterprise. If your enterprise policy doesn't allow organizations to set their own value, an enterprise owner must change this before you can continue. To understand how policies cascade from the enterprise to organizations and who can override settings at each level, see [AUTOTITLE](/copilot/concepts/policies). +Decide which features and models the pilot should allow, and set the policies at the organization level so the change only affects your pilot organization; policies set at the enterprise level apply to every organization in your enterprise. If your enterprise policy doesn't allow organizations to set their own value, an enterprise owner must change this before you can continue. To understand how policies cascade from the enterprise to organizations and who can override settings at each level, see [AUTOTITLE](/copilot/concepts/enterprise/policies). ### Enable the feature for a single organization diff --git a/content/copilot/tutorials/use-copilot-code-review-across-the-pull-request-lifecycle.md b/content/copilot/tutorials/use-copilot-code-review-across-the-pull-request-lifecycle.md index be06455d09c7..a0624e6bd139 100644 --- a/content/copilot/tutorials/use-copilot-code-review-across-the-pull-request-lifecycle.md +++ b/content/copilot/tutorials/use-copilot-code-review-across-the-pull-request-lifecycle.md @@ -33,7 +33,7 @@ Choose a review model and set up early feedback for draft and active pull reques | Automatic review on draft pull requests | Teams that want earlier feedback loops | Authors can fix issues before human review starts. | | Automatic review on new pushes | Fast-moving pull requests with multiple revisions | {% data variables.product.prodname_copilot_short %} reevaluates substantial updates as the pull request evolves. | -For setup steps, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review) and [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-automatic-review). +For setup steps, see [AUTOTITLE](/copilot/how-tos/use-copilot-agents/request-a-code-review/use-code-review) and [AUTOTITLE](/copilot/how-tos/copilot-on-github/set-up-copilot/configure-code-review). ### Use {% data variables.copilot.copilot_code-review_short %} early on draft pull requests From 9df66568d1dc2e62752b42c7d30de298582adb34 Mon Sep 17 00:00:00 2001 From: Evan Bonsignori Date: Wed, 9 Sep 2026 23:51:40 +0000 Subject: [PATCH 042/138] Migrate the search results page to Primer Brand (#62942) --- data/ui.yml | 5 +- src/fixtures/fixtures/data/ui.yml | 5 +- src/fixtures/tests/playwright-a11y.spec.ts | 34 +++++ .../components/DefaultLayout.module.scss | 10 ++ src/frame/components/DefaultLayout.tsx | 21 +++- .../page-header/DocsSecondaryBar.tsx | 6 +- .../components/sidebar/SidebarNav.module.scss | 62 ++++++++++ src/frame/components/sidebar/SidebarNav.tsx | 49 ++++++-- .../results/Aggregations.module.scss | 117 +++++++++++++++++- .../components/results/Aggregations.tsx | 115 ++++++++++++----- .../components/results/NoQuery.module.scss | 7 ++ src/search/components/results/NoQuery.tsx | 10 +- .../components/results/SearchPage.module.scss | 32 +++++ .../results/SearchResults.module.scss | 111 ++++++++++++++++- .../components/results/SearchResults.tsx | 62 ++++++---- .../SidebarSearchAggregates.module.scss | 88 +++++++++++++ .../results/SidebarSearchAggregates.tsx | 78 +++++++++++- src/search/components/results/index.tsx | 14 ++- .../middleware/general-search-middleware.ts | 19 ++- src/search/tests/rendering.ts | 13 +- 20 files changed, 765 insertions(+), 93 deletions(-) create mode 100644 src/search/components/results/SearchPage.module.scss create mode 100644 src/search/components/results/SidebarSearchAggregates.module.scss diff --git a/data/ui.yml b/data/ui.yml index 7b4565bf4036..7708b929f7a9 100644 --- a/data/ui.yml +++ b/data/ui.yml @@ -93,7 +93,10 @@ search_results: n_results: '{n} results' search_validation_error: Validation error with search query filter: Filter - clear_filter: Clear + clear_all_filters: Clear all + show_filters: Show filters + hide_filters: Hide filters + filter_search_results: Filter search results homepage: explore_by_product: Explore by product diff --git a/src/fixtures/fixtures/data/ui.yml b/src/fixtures/fixtures/data/ui.yml index 7b4565bf4036..7708b929f7a9 100644 --- a/src/fixtures/fixtures/data/ui.yml +++ b/src/fixtures/fixtures/data/ui.yml @@ -93,7 +93,10 @@ search_results: n_results: '{n} results' search_validation_error: Validation error with search query filter: Filter - clear_filter: Clear + clear_all_filters: Clear all + show_filters: Show filters + hide_filters: Hide filters + filter_search_results: Filter search results homepage: explore_by_product: Explore by product diff --git a/src/fixtures/tests/playwright-a11y.spec.ts b/src/fixtures/tests/playwright-a11y.spec.ts index 5aff5bc5bec9..0eacad14ed50 100644 --- a/src/fixtures/tests/playwright-a11y.spec.ts +++ b/src/fixtures/tests/playwright-a11y.spec.ts @@ -2,6 +2,8 @@ import { test, expect } from '@playwright/test' import AxeBuilder from '@axe-core/playwright' import { turnOffExperimentsInPage, turnOnExperimentsInPage } from '../helpers/turn-off-experiments' +const SEARCH_TESTS = !!process.env.ELASTICSEARCH_URL + const pages: { [key: string]: string } = { category: '/actions/category', codeAnnotations: '/get-started/markdown/code-annotations', @@ -45,3 +47,35 @@ for (const pageName of Object.keys(pages)) { }) }) } + +// The search facet filters collapse behind a "Show filters" disclosure below +// Primer Brand's `medium` breakpoint. The scans above run at the default desktop +// viewport, where that disclosure is display:none, so the expanded panel would +// otherwise never be scanned. +test.describe('search filters (narrow viewport)', () => { + // Without a local Elasticsearch the middleware proxies to production, so there are no + // aggregations, the disclosure never renders, and this would time out rather than skip + // — matching the guard every search test in playwright-rendering.spec.ts uses. + test.skip(!SEARCH_TESTS, 'No local Elasticsearch, no tests involving search') + + test('expanded filter disclosure passes axe', async ({ page }) => { + await page.setViewportSize({ width: 390, height: 820 }) + await page.goto('/search?query=foo') + await turnOffExperimentsInPage(page) + + const toggle = page.getByTestId('search-filter-toggle') + await expect(toggle).toBeVisible() + await expect(toggle).toHaveAttribute('aria-expanded', 'false') + + await toggle.click() + await expect(toggle).toHaveAttribute('aria-expanded', 'true') + // Scoped to the disclosure's own panel: a bare `fieldset` locator would hit strict + // mode the moment anything else on the page renders one. + const panelId = await toggle.getAttribute('aria-controls') + await expect(page.locator(`#${panelId} fieldset`)).toBeVisible() + + const accessibilityScanResults = await new AxeBuilder({ page }).analyze() + + expect(accessibilityScanResults.violations).toEqual([]) + }) +}) diff --git a/src/frame/components/DefaultLayout.module.scss b/src/frame/components/DefaultLayout.module.scss index 9d113e41e172..f6dea1f56509 100644 --- a/src/frame/components/DefaultLayout.module.scss +++ b/src/frame/components/DefaultLayout.module.scss @@ -1,9 +1,19 @@ @import "src/frame/stylesheets/breakpoint-xxl.scss"; +@import "@primer/react-brand/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss"; .mainContent { scroll-margin-top: 5rem; } +// The search results page splits into rail + results at brand's `medium` +// breakpoint rather than waiting for `d-lg-flex` at 1012px, so the facet rail is +// available on tablets. Applied only on /search. +.searchColumns { + @media (min-width: $brand-breakpoint-medium) { + display: flex; + } +} + // When the inline mobile/tablet nav is open, it takes over the viewport — hide // the content column so the full-width rail isn't squeezed beside it. Above the // xxl breakpoint the rail is a fixed-width sibling, so content always shows. diff --git a/src/frame/components/DefaultLayout.tsx b/src/frame/components/DefaultLayout.tsx index 68e014aa4261..dbbd9ddf6b35 100644 --- a/src/frame/components/DefaultLayout.tsx +++ b/src/frame/components/DefaultLayout.tsx @@ -263,14 +263,29 @@ export const DefaultLayout = (props: Props) => { type LayoutBodyProps = { children?: React.ReactNode; scrollToTopLabel: string } const LayoutBody = ({ children, scrollToTopLabel }: LayoutBodyProps) => { const { collapsed, mobileNavOpen } = useSidebarCollapsed() + const { currentProduct } = useMainContext() + // Matches SidebarNav's own gate rather than testing router.route. There are two search + // pages — src/pages/search.tsx and src/pages/[versionId]/search.tsx — so a route test + // for '/search' misses every versioned search URL, and this check would then disagree + // with SidebarNav about whether the rail is a facet rail. + const isSearchResultsPage = currentProduct?.id === 'search' return ( -

+ // `d-lg-flex` only goes side-by-side at 1012px. The search page's facet rail + // is meant to sit beside the results from brand's `medium` breakpoint, so it + // gets an earlier split of its own. Route-gated, so no other page moves. +
{/* `collapsed` is the desktop rail-collapse state (persisted). The inline mobile nav is independent, so still render the sidebar when it's open — otherwise opening the mobile nav while the desktop rail is collapsed hides the content column (contentHiddenForNav) with no drawer to show, - so the open nav displays a blank area instead of the doc tree. */} - {collapsed && !mobileNavOpen ? null : } + so the open nav displays a blank area instead of the doc tree. + + Search is exempt: the cookie is shared with the doc-tree rail, but the + search page has no toggle to undo it (DocsSecondaryBar returns null + there), so honouring it would strand the filters with no way back. */} + {collapsed && !mobileNavOpen && !isSearchResultsPage ? null : ( + + )} {/* Need to set an explicit height for sticky elements since we also set overflow to auto */}
{ const { t } = useTranslation('header') const { collapsed, toggleCollapsed, mobileNavOpen, toggleMobileNav } = useSidebarCollapsed() - const isSearchResultsPage = router.route === '/search' + // Product id rather than router.route: there are two search pages + // (src/pages/search.tsx and src/pages/[versionId]/search.tsx), so a route test for + // '/search' left this bar rendering on versioned search URLs only. The search rail's + // sticky offset assumes this bar is absent, so the two have to agree. + const isSearchResultsPage = currentProduct?.id === 'search' const isEarlyAccessPage = currentProduct && currentProduct.id === 'early-access' // Mirror the visibility rule of the header subnav this replaces. diff --git a/src/frame/components/sidebar/SidebarNav.module.scss b/src/frame/components/sidebar/SidebarNav.module.scss index 4d5d74c55339..e5abc5d21bdd 100644 --- a/src/frame/components/sidebar/SidebarNav.module.scss +++ b/src/frame/components/sidebar/SidebarNav.module.scss @@ -1,4 +1,5 @@ @import "src/frame/stylesheets/breakpoint-xxl.scss"; +@import "@primer/react-brand/lib/design-tokens/scss/tokens/functional/size/breakpoints.scss"; .sidebarFull { @include breakpoint-xxl { @@ -50,3 +51,64 @@ // Extra padding for REST pages (includes API version picker) padding-bottom: 250px; } + +// Docs 2026 search facet rail. Unlike the doc-tree rail this renders at every +// width: below brand's `medium` breakpoint it is a full-width block holding the +// "Show filters" disclosure, and from `medium` up it becomes the sidebar column. +// +// From `medium` up its right divider is the SINGLE border around the filters — +// the panel inside drops its own, so they don't read as a box within a box. +// +// It also deliberately does NOT reuse .sidebarFull's sticky offsets. Those assume +// a 109px header stack (65px header + 44px secondary bar), but DocsSecondaryBar +// returns null on /search, so the rail would otherwise sit 44px too low. +.searchRail { + // Display is set here rather than with a `d-block` utility: those carry + // `!important`, which would beat the `display: flex` below and leave the rail + // a block box, so the filter panel could never bound itself to the viewport. + display: block; + width: 100%; + + // A search with no hits has no facets to offer, so SidebarSearchAggregates renders + // nothing — but the column would still reserve its width and draw its divider, leaving + // an empty 300px gutter beside the "0 results" message. Collapse it when there is no + // filter group inside. Browsers without :has() simply keep the old empty column. + &:not(:has(fieldset)) { + display: none; + } + + @media (min-width: $brand-breakpoint-medium) { + position: sticky; + top: 65px; + display: flex; + flex-direction: column; + width: 300px; + height: calc(100vh - 65px); + flex-shrink: 0; + overflow: hidden; + border-right: var(--brand-borderWidth-thin) solid + var(--brand-color-border-subtle); + + // The nav has to join the same flex column, otherwise it sizes to its content + // and the filter card has no bounded height to scroll within. + > nav { + display: flex; + flex: 1; + flex-direction: column; + min-height: 0; + } + } + + @include breakpoint-xxl { + width: 326px; + } +} + +.searchRailContent { + @media (min-width: $brand-breakpoint-medium) { + display: flex; + flex: 1; + flex-direction: column; + min-height: 0; + } +} diff --git a/src/frame/components/sidebar/SidebarNav.tsx b/src/frame/components/sidebar/SidebarNav.tsx index 210a435ff86a..e53a1819a7ff 100644 --- a/src/frame/components/sidebar/SidebarNav.tsx +++ b/src/frame/components/sidebar/SidebarNav.tsx @@ -2,6 +2,7 @@ import cx from 'classnames' import { useRouter } from 'next/router' import { useMainContext } from '@/frame/components/context/MainContext' +import { useTranslation } from '@/languages/components/useTranslation' import { SidebarProduct } from '@/landings/components/SidebarProduct' import { SidebarSearchAggregates } from '@/search/components/results/SidebarSearchAggregates' import { ApiVersionPicker } from '@/rest/components/ApiVersionPicker' @@ -28,6 +29,10 @@ export const SidebarNav = ({ variant = 'full', mobileOpen = false }: Props) => { (process.env.NODE_ENV === 'development' || currentProduct.id !== 'early-access') const isSearch = currentProduct?.id === 'search' + // `search_results` only ships in the page props on /search, and + // createTranslationFunctions warns about a missing namespace at construction — not at + // t() call — so asking for it unconditionally would log on every render of every page. + const { t } = useTranslation(isSearch ? 'search_results' : 'header') return (
{ className={cx( // Desktop rail: sticky, hidden below xxl. When mobileOpen, it also // renders on mobile (block at all widths), full-width in the page flow. + // + // Search is the exception. Its rail holds the facet filters rather than + // a doc tree, and filters have to stay reachable on narrow viewports, so + // it renders at every width: a rail from brand's `medium` breakpoint up, + // and below that a "Show filters" disclosure (see SidebarSearchAggregates). variant === 'full' && - (mobileOpen - ? cx( - 'd-block d-xxl-block border-right', - styles.sidebarFull, - styles.sidebarFullMobileOpen, - ) - : cx('position-sticky d-none border-right d-xxl-block', styles.sidebarFull)), + (isSearch + ? styles.searchRail + : mobileOpen + ? cx( + 'd-block d-xxl-block border-right', + styles.sidebarFull, + styles.sidebarFullMobileOpen, + ) + : cx('position-sticky d-none border-right d-xxl-block', styles.sidebarFull)), )} >
) : ( <> - {props.children} + {props.children} )} @@ -260,8 +251,8 @@ export const DefaultLayout = (props: Props) => { // collapsed; on mobile it shows inline (in the page flow, like desktop) only // when the nav is opened from the secondary bar. The content column (flex-1) // fills the row when the rail is absent. -type LayoutBodyProps = { children?: React.ReactNode; scrollToTopLabel: string } -const LayoutBody = ({ children, scrollToTopLabel }: LayoutBodyProps) => { +type LayoutBodyProps = { children?: React.ReactNode } +const LayoutBody = ({ children }: LayoutBodyProps) => { const { collapsed, mobileNavOpen } = useSidebarCollapsed() const { currentProduct } = useMainContext() // Matches SidebarNav's own gate rather than testing router.route. There are two search @@ -300,14 +291,7 @@ const LayoutBody = ({ children, scrollToTopLabel }: LayoutBodyProps) => { {children} -
- - - -
+
) diff --git a/src/frame/components/page-footer/Contribution.tsx b/src/frame/components/page-footer/Contribution.tsx index 17875ec0e82a..5fdb93ab3243 100644 --- a/src/frame/components/page-footer/Contribution.tsx +++ b/src/frame/components/page-footer/Contribution.tsx @@ -1,5 +1,3 @@ -import { GitPullRequestIcon } from '@primer/octicons-react' - import { useMainContext } from '@/frame/components/context/MainContext' import { useTranslation } from '@/languages/components/useTranslation' @@ -11,19 +9,16 @@ export const Contribution = () => { ? `https://github.com/github/docs/blob/main/content/${relativePath}` : 'https://github.com/github/docs' + // Heading and body styling comes from the footer column rules in + // SupportSection.module.scss — the Docs 2026 design renders these as plain body + // text rather than a bold heading plus muted copy. return ( ) } diff --git a/src/frame/components/page-footer/DocsFooter.module.scss b/src/frame/components/page-footer/DocsFooter.module.scss new file mode 100644 index 000000000000..740cd196179c --- /dev/null +++ b/src/frame/components/page-footer/DocsFooter.module.scss @@ -0,0 +1,180 @@ +// In dark mode the footer sits on the repo's canvas (#0d1117) while brand's +// canvas-subtle comes from brand's own palette (#0f1511). Those are near-identical, +// so the controls would lose their fill and read as bare outlines. Use Primer's +// surfaces there instead — they're built to contrast with this background. Selector +// pattern follows octicon-table-optimization.scss. +@mixin footer-control-surfaces-dark { + --color-btn-bg: var(--color-canvas-subtle); + --color-btn-border: var(--color-border-default); + --color-btn-text: var(--color-fg-default); + --brand-footer-backToTop-bgColor-rest: var(--color-canvas-subtle); + // Brand's own dark border token is a different grey from Primer's, which would + // leave Back to top outlined differently from the three buttons beside it. + --brand-footer-backToTop-borderColor-rest: var(--color-border-default); +} + +.docsFooter { + // Brand defaults the footer to canvas-subtle (a grey panel); the design puts it on + // the page canvas so it reads as continuous with the article and the band above. + // Deliberately the *repo's* canvas, not brand's: brand's canvas-default is pure + // black in dark mode while these pages sit on #0d1117, which would make the footer + // a visibly darker slab. + --brand-footer-bg-color: var(--bgColor-default, var(--color-canvas-default)); + + // The design draws all four footer controls — Yes, No, Make a contribution and + // Back to top — on brand's subtle canvas with a subtle border (#f2f5f3 on #d2d9d4, + // which is exactly what these brand tokens resolve to). + // + // Yes/No and the contribution CTA are Primer `.btn`s, so set the variables they + // read rather than overriding the rules: the survey's selected states apply + // `color-bg-success-emphasis` / `color-bg-danger-emphasis`, which set + // background-color directly and must keep winning over the rest state. + --color-btn-bg: var(--brand-color-canvas-subtle); + --color-btn-border: var(--brand-color-border-subtle); + --color-btn-text: var(--brand-color-text-default); + + // Brand gives Back to top a near-transparent fill by default; the design gives it + // the same treatment as the other three. Its border already matches. + --brand-footer-backToTop-bgColor-rest: var(--brand-color-canvas-subtle); + + :global([data-color-mode="dark"]) & { + @include footer-control-surfaces-dark; + } + + @media (prefers-color-scheme: dark) { + :global([data-color-mode="auto"][data-dark-theme*="dark"]) & { + @include footer-control-surfaces-dark; + } + } + + // The band above supplies the visual break, and the design puts a 2px emphasized + // rule directly beneath it — on the footer's own top edge. Brand's default here is + // a much brighter green (scale-green-3), so this stays an explicit override. + border-top: 2px solid var(--brand-color-text-emphasized); + + // Brand's section padding is roughly double the design's. Targeted through markers + // we own rather than brand's hashed module classes, which change between releases. + // + // Top bar: 76px in the design, sized by the 44px back-to-top control plus 16px. + > div:has(.backToTop) > section { + padding-top: var(--base-size-16); + padding-bottom: var(--base-size-16); + } + + // Help region: the columns own their padding, so the section adds none. Without + // this the columns sit 32px below the rule that introduces them, and — because the + // rules between rows are column borders — those rules would stop short of the + // footer edges instead of spanning it as the design shows. The inline inset moves + // onto the columns in SupportSection.module.scss so content stays aligned with the + // top and bottom bars. + > div:has(.centerSlot) > section { + padding: 0; + } + + // Bottom bar: 76px in the design around a single 18px line. + > div:has(.bottomRow) > section { + padding-top: var(--base-size-28); + padding-bottom: var(--base-size-28); + } + + // `copyrightStatement` renders inside a brand that is a flex item of + // the bottom row. Let it fill the row so the copyright and links can sit at + // opposite ends, and drop the uppercasing the component applies to the whole

+ // (the design uppercases only the copyright, not the links). + p:has(> .bottomRow) { + flex: 1; + // Inert while the bottom row is horizontal (flex-basis wins), but needed at + // narrow, where brand's bottom row turns into a column with align-items: + // flex-start and would otherwise shrink this to its content width. + width: 100%; + min-width: 0; + text-transform: none; + } +} + +.bottomRow { + display: flex; + flex-wrap: wrap; + align-items: center; + justify-content: space-between; + gap: var(--base-size-16); + width: 100%; +} + +.copyrightText { + text-transform: uppercase; +} + +// Narrow: the design stacks the legal links above the copyright, and gives each its +// own band separated by a rule that spans the footer. So the bottom section hands its +// padding to the two rows — the same move the help region makes — which lets the rule +// between them reach the edges while both rows stay inset and aligned with each other. +@media (max-width: 767px) { + .docsFooter > div:has(.bottomRow) > section { + padding-block: 0; + } + + .docsFooter > div:has(.bottomRow) > section > div { + padding-inline: 0; + } + + .bottomRow { + flex-direction: column; + align-items: stretch; + gap: 0; + } + + .legalLinks { + order: 1; + padding: var(--base-size-20); + } + + .copyrightText { + order: 2; + padding: var(--base-size-20); + border-top: 1px solid + var(--borderColor-muted, var(--color-border-muted, #d2d9d4)); + } +} + +.legalLinks { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: var(--base-size-24); +} + +.legalLink { + // The design sets these apart from the muted monospace copyright: link blue, and + // the body font at the same size as the other footer link columns. + font-family: var(--brand-body-fontFamily, inherit); + font-size: 14px; + font-weight: 500; + text-transform: none; + // Brand's link token, not Primer's accent blue. There is no + // `--brand-color-text-link`; the real token is `-rest`, and naming it wrong meant + // this quietly fell back to Primer (#0969da) instead of brand (#0055d5). + color: var(--brand-color-text-link-rest); + + &:hover { + text-decoration: underline; + } + + // Pipe separators between links, per the design. Decorative, so a pseudo-element + // keeps them out of the accessibility tree and out of the copied text. + &:not(:first-child)::before { + content: ""; + display: inline-block; + width: 1px; + height: 10px; + margin-right: var(--base-size-24); + vertical-align: -1px; + background-color: var(--brand-color-border-subtle); + } + + // KO law requires the privacy statement link to be conspicuous. + &[data-conspicuous="true"] { + color: var(--fgColor-attention, var(--color-fg-attention, #9a6700)); + font-weight: 600; + } +} diff --git a/src/frame/components/page-footer/DocsFooter.tsx b/src/frame/components/page-footer/DocsFooter.tsx new file mode 100644 index 000000000000..995040c7429a --- /dev/null +++ b/src/frame/components/page-footer/DocsFooter.tsx @@ -0,0 +1,137 @@ +import { type MouseEvent } from 'react' +import { useRouter } from 'next/router' +import { MinimalFooter, Text } from '@primer/react-brand' +import cx from 'classnames' + +import { FooterDivider } from '@/frame/components/page-footer/FooterDivider' +import { SupportSection } from '@/frame/components/page-footer/SupportSection' +import { useTranslation } from '@/languages/components/useTranslation' + +import styles from './DocsFooter.module.scss' + +// The Docs 2026 site footer (Figma node 123-6013): decorative band, then brand +// MinimalFooter supplying the logomark + back-to-top row, the help region, and the +// legal/copyright strip. +// +// The design puts the legal links in the *bottom* row beside the copyright. +// MinimalFooter.Link children render in the top row instead, and the two rows live +// in separate DOM subtrees so no amount of CSS moves one into the other. Passing the +// links through `copyrightStatement` — which accepts a ReactElement and renders in +// the bottom row — gets the designed layout without overriding brand internals. +// It also sidesteps the component's hard cap of five links. +// +// Note `copyrightStatement` is rendered inside a , so everything here +// must be phrasing content: spans and anchors only, no lists or