authorgravatar for nmarks413@gmail.comNatalie Marks <nmarks413@gmail.com> 2024-04-15 23:44:22-07:00
committergravatar for nmarks413@gmail.comNatalie Marks <nmarks413@gmail.com> 2024-04-15 23:44:22-07:00
logb47f2bbe63b6c470d600f5dd81155244d5d850c5
treed31aca308da937f9fb3aede38b408eb415b7be7b
parenta3233f3f18c2aa0b99249491541f638c73fd3def

updated home-manager config


5 files changed, 3945 insertions(+), 10 deletions(-)

discord/default.nix created+1643
......@@ -0,0 +1,1643 @@
1
2
3
4
5
6
7<!DOCTYPE html>
8<html
9 lang="en"
10
11 data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
12 data-a11y-animated-images="system" data-a11y-link-underlines="true"
13 >
14
15
16
17
18 <head>
19 <meta charset="utf-8">
20 <link rel="dns-prefetch" href="https://github.githubassets.com">
21 <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
22 <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
23 <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
24 <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
25 <link rel="preconnect" href="https://avatars.githubusercontent.com">
26
27
28
29
30 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-f13f84a2af0d.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-1ee85695b584.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-8c42799cfb52.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-dc99d916bf90.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-0a83868d0e43.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-3c798f5a8bef.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-4c72a7f3b765.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-222bf22536c7.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-c1d9496197fa.css" />
31 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-0b5bee5c70e9.css" />
32 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-44fa1513ddd0.css" />
33 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-af1512ed1e5e.css" />
34 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-07f750db5d7c.css" />
35 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-fa69f138fe8d.css" />
36<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-111be5e4092d.css" />
37
38
39
40
41 <script type="application/json" id="client-env">{"locale":"en","featureFlags":["code_vulnerability_scanning","copilot_conversational_ux_history_refs","copilot_smell_icebreaker_ux","copilot_implicit_context","failbot_handle_non_errors","geojson_azure_maps","image_metric_tracking","marketing_forms_api_integration_contact_request","marketing_pages_search_explore_provider","turbo_experiment_risky","sample_network_conn_type","no_character_key_shortcuts_in_inputs","react_start_transition_for_navigations","custom_inp","remove_child_patch"]}</script>
42<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-4d74fddcfb77.js"></script>
43<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-6890e890956f.js"></script>
44<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-7bd350d761f4.js"></script>
45<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_smoothscroll-polyfill_dist_smoothscroll_js-node_modules_stacktrace-parse-a448e4-bb5415637fe0.js"></script>
46<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-d2c4d643d9fb.js"></script>
47<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-9f960d9b217c.js"></script>
48<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_focus-zone_js-086f7a27bac0.js"></script>
49<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-c76945c5961a.js"></script>
50<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_markdown-toolbar-e-820fc0-bc8f02b96749.js"></script>
51<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-03fc21f4e80c.js"></script>
52<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-8a621df59e80.js"></script>
53<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_stacktrace-parser_dist_stack-443cd5-1ba4dbac454f.js"></script>
54<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b7d8f4-7dc906febe69.js"></script>
55<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-27181b-3509ed8075c4.js"></script>
56<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_onfocus_ts-ui_packages_trusted-types-policies_policy_ts-ui_packages-6fe316-30edc9da471c.js"></script>
57<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-34cbf079a4f4.js"></script>
58<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-8a1f7e4b0d25.js"></script>
59<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_github_hydro-analytics-client_-4da1df-9de8d527f925.js"></script>
60<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1acb1c-a745699a1cfa.js"></script>
61<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-5b376145beff.js"></script>
62<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-node_modules_github_memoize_dist_esm_index_js-05801f7ca718.js"></script>
63<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-c91f4ad18b62.js"></script>
64<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-a8ec7ed862cf.js"></script>
65<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_scroll-anchoring_dist_scroll-anchoring_esm_js-node_modules_github_detail-c9d0ba-387cde917623.js"></script>
66<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-72c9fbde5ad4.js"></script>
67<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_dimensions_js-node_modules_github_jtml_lib_index_js-95b84ee6bc34.js"></script>
68<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-84957b-7b4e472db160.js"></script>
69<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_alive_alive_ts-b956d50b9283.js"></script>
70<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_updatable-content_ts-ui_packages_hydro-analytics_hydro-analytics_ts-82813f-ebd80a289a23.js"></script>
71<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_onfocus_ts-app_ass-421cec-9de4213015af.js"></script>
72<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-94209c43e6af.js"></script>
73<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-2e2258-05fd80a7ea89.js"></script>
74<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-9285faa0e011.js"></script>
75<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-9f3d3577e544.js"></script>
76<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-06ff531-2ea61fcc9a71.js"></script>
77<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-6d6db5144cc3.js"></script>
78<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_repositories_get-repo-element_ts-d2345aaf09af.js"></script>
79<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-67595c3a6d0c.js"></script>
80
81 <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-1fbfc5be2c18.js"></script>
82<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_octicons-react_dist_index_esm_js-node_modules_primer_react_lib-es-541a38-6ce7d7c3f9ee.js"></script>
83<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Box_Box_js-8f8c5e2a2cbf.js"></script>
84<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_Button_js-95a7748e3c39.js"></script>
85<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_TooltipV2_Tooltip_js-70d5275ffcb7.js"></script>
86<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionList_index_js-b5c64c43d649.js"></script>
87<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Overlay_Overlay_js-node_modules_primer_react_lib-es-fa1130-829932cf63db.js"></script>
88<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Text_Text_js-node_modules_primer_react_lib-esm_Text-7845da-3aa4d914d36c.js"></script>
89<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_FormControl_FormControl_js-f17f2abffb7f.js"></script>
90<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionMenu_ActionMenu_js-eaf74522e470.js"></script>
91<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-router-dom_dist_index_js-3b41341d50fe.js"></script>
92<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Heading_Heading_js-node_modules_primer_react_lib-es-09461f-46d4f0de9a1d.js"></script>
93<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ConfirmationDialog_ConfirmationDialog_js-8ab472e2f924.js"></script>
94<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Dialog_js-node_modules_primer_react_lib-esm_Spinner-12c50f-77391b895abb.js"></script>
95<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_TreeView_TreeView_js-4d087b8e0c8a.js"></script>
96<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_AvatarStack_AvatarStack_js-node_modules_primer_reac-36b6f3-1b3c8357c7d0.js"></script>
97<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_primer_react_lib-esm_Bre-b2e46d-c8ac19da4b57.js"></script>
98<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_react-core_create-browser-history_ts-ui_packages_safe-storage_safe-storage_ts-ui_-682c2c-bd8666de6779.js"></script>
99<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_react-core_register-app_ts-cf44949b1100.js"></script>
100<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-fd681d5019c9.js"></script>
101<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-dbbdef4348e2.js"></script>
102<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-c2bab3-0dc2488c22f3.js"></script>
103<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_react-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_ho-3e492a-81374112e700.js"></script>
104<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-app_assets_modules_github_filter-sort_ts-app_assets_-e50ab6-fd8396d2490b.js"></script>
105<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-bbada6b5ad0e.js"></script>
106
107
108 <title>sys/hm/discord/default.nix at main · sersorrel/sys · GitHub</title>
109
110
111
112 <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
113 <meta name="route-controller" content="blob" data-turbo-transient>
114 <meta name="route-action" content="show" data-turbo-transient>
115
116
117 <meta name="current-catalog-service-hash" content="82c569b93da5c18ed649ebd4c2c79437db4611a6a1373e805a3cb001c64130b7">
118
119
120 <meta name="request-id" content="B786:1A877A:40E395E:41DDE21:661E1BC2" data-pjax-transient="true"/><meta name="html-safe-nonce" content="939042bc13227236efe917468ff5e16fb9eedb057abbcf9f9a2ddf811ade3a25" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNzg2OjFBODc3QTo0MEUzOTVFOjQxRERFMjE6NjYxRTFCQzIiLCJ2aXNpdG9yX2lkIjoiMTM1NDQwOTIxMTEzMzMwMzc0NiIsInJlZ2lvbl9lZGdlIjoic2VhIiwicmVnaW9uX3JlbmRlciI6InNlYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="46c25a039d9fb332115226df27f7cff2572199014447d72d7b8aaf933197aa9e" data-pjax-transient="true"/>
121
122
123 <meta name="hovercard-subject-tag" content="repository:579696260" data-turbo-transient>
124
125
126 <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" />
127
128
129 <meta name="selected-link" value="repo_source" data-turbo-transient>
130 <link rel="assets" href="https://github.githubassets.com/">
131
132 <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
133 <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
134 <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
135 <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
136 <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">
137
138<meta name="octolytics-url" content="https://collector.github.com/github/collect" />
139
140 <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" />
141
142
143
144
145
146
147
148 <meta name="user-login" content="">
149
150
151
152 <meta name="viewport" content="width=device-width">
153
154 <meta name="description" content="dependency flake for my system configurations. Contribute to sersorrel/sys development by creating an account on GitHub.">
155 <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
156 <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
157 <meta property="fb:app_id" content="1401488693436528">
158 <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix" />
159 <meta name="twitter:image:src" content="https://opengraph.githubassets.com/a3ffc550c1bb330a8e0761e0c85bc21508d6152339cb9770d58d56eaf1432914/sersorrel/sys" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="sys/hm/discord/default.nix at main · sersorrel/sys" /><meta name="twitter:description" content="dependency flake for my system configurations. Contribute to sersorrel/sys development by creating an account on GitHub." />
160 <meta property="og:image" content="https://opengraph.githubassets.com/a3ffc550c1bb330a8e0761e0c85bc21508d6152339cb9770d58d56eaf1432914/sersorrel/sys" /><meta property="og:image:alt" content="dependency flake for my system configurations. Contribute to sersorrel/sys development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="sys/hm/discord/default.nix at main · sersorrel/sys" /><meta property="og:url" content="https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix" /><meta property="og:description" content="dependency flake for my system configurations. Contribute to sersorrel/sys development by creating an account on GitHub." />
161
162
163
164
165 <meta name="hostname" content="github.com">
166
167
168
169 <meta name="expected-hostname" content="github.com">
170
171
172 <meta http-equiv="x-pjax-version" content="091f4321327c1a987875199d0b390342bc072343067199c50305ab7b088600e5" data-turbo-track="reload">
173 <meta http-equiv="x-pjax-csp-version" content="f226bf37af9c33162063db3eb018fed7f088f86d0a20ca54c013fda96c7f2e05" data-turbo-track="reload">
174 <meta http-equiv="x-pjax-css-version" content="0d5a428483c0dafc37bb01ea323958d4eb303edc80d307a3e4898c6e22d6c12f" data-turbo-track="reload">
175 <meta http-equiv="x-pjax-js-version" content="de99bf0f0e943c061fef3036d3c7bc66abc4fd2189401eb703816c9205a15df6" data-turbo-track="reload">
176
177 <meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">
178
179 <meta name="turbo-cache-control" content="no-cache" data-turbo-transient>
180 <meta data-hydrostats="publish">
181 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.959fb0b61e6a1de773e7.module.css" />
182
183 <meta name="go-import" content="github.com/sersorrel/sys git https://github.com/sersorrel/sys.git">
184
185 <meta name="octolytics-dimension-user_id" content="9433472" /><meta name="octolytics-dimension-user_login" content="sersorrel" /><meta name="octolytics-dimension-repository_id" content="579696260" /><meta name="octolytics-dimension-repository_nwo" content="sersorrel/sys" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="579696260" /><meta name="octolytics-dimension-repository_network_root_nwo" content="sersorrel/sys" />
186
187
188
189 <meta name="turbo-body-classes" content="logged-out env-production page-responsive">
190
191
192 <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
193
194 <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
195
196 <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
197 <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
198 <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
199
200<meta name="theme-color" content="#1e2327">
201<meta name="color-scheme" content="light dark" />
202
203
204 <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
205
206 </head>
207
208 <body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
209 <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
210
211
212
213 <div class="position-relative js-header-wrapper ">
214 <a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>
215 <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
216 <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
217</span>
218
219
220
221
222
223
224
225
226
227<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_IconButton_js-node_modules_primer_react_lib--b964b4-807461b78d22.js"></script>
228
229<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-6078ecaa70b7.js"></script>
230
231<react-partial
232 partial-name="keyboard-shortcuts-dialog"
233 data-ssr="false"
234>
235
236 <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
237 <div data-target="react-partial.reactRoot"></div>
238</react-partial>
239
240
241
242
243
244
245
246
247<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-9f3636b94e7e.js"></script>
248<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-79965e14c681.js"></script>
249<header class="Header-old header-logged-out js-details-container Details position-relative f4 py-3" role="banner" data-color-mode=light data-light-theme=light data-dark-theme=dark>
250 <button type="button" class="Header-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation">
251 <span class="d-none">Toggle navigation</span>
252 </button>
253
254 <div class=" d-flex flex-column flex-lg-row flex-items-center p-responsive height-full position-relative z-1">
255 <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto">
256 <a class="mr-lg-3 color-fg-inherit flex-order-2" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
257 <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github">
258 <path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
259</svg>
260 </a>
261
262 <div class="flex-1">
263 <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fsersorrel%2Fsys%2Fblob%2Fmain%2Fhm%2Fdiscord%2Fdefault.nix"
264 class="d-inline-block d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit"
265 data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="feff8c6ed94c62abd51cff13d52e51f825f00fec4c83a0cff9e898b8648ad7fe"
266 data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
267 Sign in
268 </a>
269 </div>
270
271 <div class="flex-1 flex-order-2 text-right">
272 <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content">
273 <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div>
274 <div class="HeaderMenu-toggle-bar rounded my-1"></div>
275 <div class="HeaderMenu-toggle-bar rounded my-1"></div></span>
276 </span>
277</button>
278 </div>
279 </div>
280
281
282 <div class="HeaderMenu--logged-out p-responsive height-fit position-lg-relative d-lg-flex flex-column flex-auto pt-7 pb-4 top-0">
283 <div class="header-menu-wrapper d-flex flex-column flex-self-end flex-lg-row flex-justify-between flex-auto p-3 p-lg-0 rounded rounded-lg-0 mt-3 mt-lg-0">
284 <nav class="mt-0 px-3 px-lg-0 mb-3 mb-lg-0" aria-label="Global">
285 <ul class="d-lg-flex list-style-none">
286 <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
287 <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
288 Product
289 <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
290 <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
291</svg>
292 </button>
293 <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex dropdown-menu-wide">
294 <div class="px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7">
295 <ul class="list-style-none f5" >
296 <li>
297 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Actions&quot;,&quot;label&quot;:&quot;ref_cta:Actions;&quot;}" href="/features/actions">
298 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3">
299 <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path>
300</svg>
301 <div>
302 <div class="color-fg-default h4">Actions</div>
303 Automate any workflow
304 </div>
305
306
307</a></li>
308
309 <li>
310 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Packages&quot;,&quot;label&quot;:&quot;ref_cta:Packages;&quot;}" href="/features/packages">
311 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-package color-fg-subtle mr-3">
312 <path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"></path>
313</svg>
314 <div>
315 <div class="color-fg-default h4">Packages</div>
316 Host and manage packages
317 </div>
318
319
320</a></li>
321
322 <li>
323 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Security&quot;,&quot;label&quot;:&quot;ref_cta:Security;&quot;}" href="/features/security">
324 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3">
325 <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path>
326</svg>
327 <div>
328 <div class="color-fg-default h4">Security</div>
329 Find and fix vulnerabilities
330 </div>
331
332
333</a></li>
334
335 <li>
336 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Codespaces&quot;,&quot;label&quot;:&quot;ref_cta:Codespaces;&quot;}" href="/features/codespaces">
337 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3">
338 <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
339</svg>
340 <div>
341 <div class="color-fg-default h4">Codespaces</div>
342 Instant dev environments
343 </div>
344
345
346</a></li>
347
348 <li>
349 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Copilot&quot;,&quot;label&quot;:&quot;ref_cta:Copilot;&quot;}" href="/features/copilot">
350 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3">
351 <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path>
352</svg>
353 <div>
354 <div class="color-fg-default h4">Copilot</div>
355 Write better code with AI
356 </div>
357
358
359</a></li>
360
361 <li>
362 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Code review&quot;,&quot;label&quot;:&quot;ref_cta:Code review;&quot;}" href="/features/code-review">
363 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3">
364 <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path>
365</svg>
366 <div>
367 <div class="color-fg-default h4">Code review</div>
368 Manage code changes
369 </div>
370
371
372</a></li>
373
374 <li>
375 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Issues&quot;,&quot;label&quot;:&quot;ref_cta:Issues;&quot;}" href="/features/issues">
376 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3">
377 <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path>
378</svg>
379 <div>
380 <div class="color-fg-default h4">Issues</div>
381 Plan and track work
382 </div>
383
384
385</a></li>
386
387 <li>
388 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Discussions&quot;,&quot;label&quot;:&quot;ref_cta:Discussions;&quot;}" href="/features/discussions">
389 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3">
390 <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path>
391</svg>
392 <div>
393 <div class="color-fg-default h4">Discussions</div>
394 Collaborate outside of code
395 </div>
396
397
398</a></li>
399
400 </ul>
401 </div>
402 <div class="px-lg-4">
403 <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span>
404 <ul class="list-style-none f5" aria-labelledby="product-explore-heading">
405 <li>
406 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to All features&quot;,&quot;label&quot;:&quot;ref_cta:All features;&quot;}" href="/features">
407 All features
408
409
410</a></li>
411
412 <li>
413 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Documentation&quot;,&quot;label&quot;:&quot;ref_cta:Documentation;&quot;}" href="https://docs.github.com">
414 Documentation
415
416 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
417 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
418</svg>
419</a></li>
420
421 <li>
422 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to GitHub Skills&quot;,&quot;label&quot;:&quot;ref_cta:GitHub Skills;&quot;}" href="https://skills.github.com/">
423 GitHub Skills
424
425 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
426 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
427</svg>
428</a></li>
429
430 <li>
431 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Blog&quot;,&quot;label&quot;:&quot;ref_cta:Blog;&quot;}" href="https://github.blog">
432 Blog
433
434 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
435 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
436</svg>
437</a></li>
438
439 </ul>
440 </div>
441 </div>
442</li>
443
444
445 <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
446 <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
447 Solutions
448 <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
449 <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
450</svg>
451 </button>
452 <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4">
453 <div class="border-bottom pb-3 mb-3">
454 <span class="d-block h4 color-fg-default my-1" id="solutions-for-heading">For</span>
455 <ul class="list-style-none f5" aria-labelledby="solutions-for-heading">
456 <li>
457 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Enterprise&quot;,&quot;label&quot;:&quot;ref_cta:Enterprise;&quot;}" href="/enterprise">
458 Enterprise
459
460
461</a></li>
462
463 <li>
464 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Teams&quot;,&quot;label&quot;:&quot;ref_cta:Teams;&quot;}" href="/team">
465 Teams
466
467
468</a></li>
469
470 <li>
471 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Startups&quot;,&quot;label&quot;:&quot;ref_cta:Startups;&quot;}" href="/enterprise/startups">
472 Startups
473
474
475</a></li>
476
477 <li>
478 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Education&quot;,&quot;label&quot;:&quot;ref_cta:Education;&quot;}" href="https://education.github.com">
479 Education
480
481 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
482 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
483</svg>
484</a></li>
485
486 </ul>
487 </div>
488 <div class="border-bottom pb-3 mb-3">
489 <span class="d-block h4 color-fg-default my-1" id="solutions-by-solution-heading">By Solution</span>
490 <ul class="list-style-none f5" aria-labelledby="solutions-by-solution-heading">
491 <li>
492 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to CI/CD &amp;amp; Automation&quot;,&quot;label&quot;:&quot;ref_cta:CI/CD &amp;amp; Automation;&quot;}" href="/solutions/ci-cd/">
493 CI/CD &amp; Automation
494
495
496</a></li>
497
498 <li>
499 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to DevOps&quot;,&quot;label&quot;:&quot;ref_cta:DevOps;&quot;}" href="/solutions/devops/">
500 DevOps
501
502
503</a></li>
504
505 <li>
506 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to DevSecOps&quot;,&quot;label&quot;:&quot;ref_cta:DevSecOps;&quot;}" href="https://resources.github.com/devops/fundamentals/devsecops/">
507 DevSecOps
508
509 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
510 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
511</svg>
512</a></li>
513
514 </ul>
515 </div>
516 <div class="">
517 <span class="d-block h4 color-fg-default my-1" id="solutions-resources-heading">Resources</span>
518 <ul class="list-style-none f5" aria-labelledby="solutions-resources-heading">
519 <li>
520 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Learning Pathways&quot;,&quot;label&quot;:&quot;ref_cta:Learning Pathways;&quot;}" href="https://resources.github.com/learn/pathways/">
521 Learning Pathways
522
523 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
524 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
525</svg>
526</a></li>
527
528 <li>
529 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to White papers, Ebooks, Webinars&quot;,&quot;label&quot;:&quot;ref_cta:White papers, Ebooks, Webinars;&quot;}" href="https://resources.github.com/">
530 White papers, Ebooks, Webinars
531
532 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
533 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
534</svg>
535</a></li>
536
537 <li>
538 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Customer Stories&quot;,&quot;label&quot;:&quot;ref_cta:Customer Stories;&quot;}" href="/customer-stories">
539 Customer Stories
540
541
542</a></li>
543
544 <li>
545 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Partners&quot;,&quot;label&quot;:&quot;ref_cta:Partners;&quot;}" href="https://partner.github.com/">
546 Partners
547
548 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
549 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
550</svg>
551</a></li>
552
553 </ul>
554 </div>
555 </div>
556</li>
557
558
559 <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
560 <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
561 Open Source
562 <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
563 <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
564</svg>
565 </button>
566 <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4">
567 <div class="border-bottom pb-3 mb-3">
568 <ul class="list-style-none f5" >
569 <li>
570 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to GitHub Sponsors&quot;,&quot;label&quot;:&quot;ref_cta:GitHub Sponsors;&quot;}" href="/sponsors">
571
572 <div>
573 <div class="color-fg-default h4">GitHub Sponsors</div>
574 Fund open source developers
575 </div>
576
577
578</a></li>
579
580 </ul>
581 </div>
582 <div class="border-bottom pb-3 mb-3">
583 <ul class="list-style-none f5" >
584 <li>
585 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to The ReadME Project&quot;,&quot;label&quot;:&quot;ref_cta:The ReadME Project;&quot;}" href="/readme">
586
587 <div>
588 <div class="color-fg-default h4">The ReadME Project</div>
589 GitHub community articles
590 </div>
591
592
593</a></li>
594
595 </ul>
596 </div>
597 <div class="">
598 <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span>
599 <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading">
600 <li>
601 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Topics&quot;,&quot;label&quot;:&quot;ref_cta:Topics;&quot;}" href="/topics">
602 Topics
603
604
605</a></li>
606
607 <li>
608 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Trending&quot;,&quot;label&quot;:&quot;ref_cta:Trending;&quot;}" href="/trending">
609 Trending
610
611
612</a></li>
613
614 <li>
615 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Collections&quot;,&quot;label&quot;:&quot;ref_cta:Collections;&quot;}" href="/collections">
616 Collections
617
618
619</a></li>
620
621 </ul>
622 </div>
623 </div>
624</li>
625
626
627 <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
628 <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Pricing&quot;,&quot;label&quot;:&quot;ref_cta:Pricing;&quot;}" href="/pricing">Pricing</a>
629</li>
630
631 </ul>
632 </nav>
633
634 <div class="d-lg-flex flex-items-center mb-3 mb-lg-0 text-center text-lg-left ml-3" style="">
635
636
637
638<qbsearch-input class="search-input" data-scope="repo:sersorrel/sys" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="Bu8nH-3BxICm7Iozzo_x3diiGhFk3Pa_VaEvw1HAxRSD5oKWYL16cgV_FygvY5tACwarXYJ29EsC8bUfaV3JLQ" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="sersorrel/sys" data-current-org="" data-current-owner="sersorrel" data-logged-in="false" data-copilot-chat-enabled="false" data-blackbird-indexed-repo-csrf="<esi:include src=&quot;/_esi/rails_csrf_token_form_hidden?r=AwAXp3GGu1NwrJstSY%2BWG6t8v8o1f%2BkdH9ItxQYxC4jGcqKj93HZN0HYKRSu6PbgoNVw%2BkpixW7ZfyxTlqVp1dEJPRGoUUnuzBltIvYHz62pJS68x4zMYuFZISuUaO9dGeeRnygLgIG%2F7LwQEflnnjoPm0%2Bzyh8W7r1CAscNPY69z%2B%2FI2L%2Bu8czUaJQ3FyMe54UvabWocxG0H6ZgHYroyb0FE9Irw231QuF5ihntTLDMdp14gDYCl3uzTaR5fR1Q2iiJ94zvSxTvdDHpP8wtB9ZlJtuU2RngeGcvqz8RAh2pYy%2F%2BbOBLdJ4Mx%2FPcsBSU3PNZRlFIAf6TUKwCGs69GpcG%2FUfHnfi8b21hXFiZqvUVjZT0UCfNrLo3NUr2MElm%2FBxAQYluouo0Ig0GWViSLP5LR587reuFhCzLghcVaNhp8osOQPdn3xflC8tYnZd355GcY8ym5Nl8Va1HeZj9sikk3DV3EAyMNn8XCIUztUgxHg3guTIMdco4SL30Ud7Kyhi3MmYLfAjOWEquH9yPMAAUiWPv5CziWtC9ZzdSvqhN7isyTNuNd17E0Q9KiGyAa0y1VH1Z--2mkTcvxXLht3UQ%2Fw--4nX8rQWJpF4QEcnrGExYQA%3D%3D&quot; />">
639 <div
640 class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded"
641 data-action="click:qbsearch-input#searchInputContainerClicked"
642 >
643 <button
644 type="button"
645 class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none"
646 data-target="qbsearch-input.inputButton"
647 placeholder="Search or jump to..."
648 data-hotkey=s,/
649 autocapitalize="off"
650 data-action="click:qbsearch-input#handleExpand"
651 >
652 <div class="mr-2 color-fg-muted">
653 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
654 <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
655</svg>
656 </div>
657 <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span>
658 <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator">
659 <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg>
660
661 </div>
662 </button>
663
664 <input type="hidden" name="type" class="js-site-search-type-field">
665
666
667<div class="Overlay--hidden " data-modal-dialog-overlay>
668 <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto">
669 <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1>
670 <div class="Overlay-body Overlay-body--paddingNone">
671
672 <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container"
673 style="border-radius: 12px;"
674 data-target="qbsearch-input.queryBuilderContainer"
675 hidden
676 >
677 <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
678 <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder">
679 <div class="FormControl FormControl--fullWidth">
680 <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only">
681 Search
682 </label>
683 <div
684 class="QueryBuilder-StyledInput width-fit "
685 data-target="query-builder.styledInput"
686 >
687 <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap">
688 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual">
689 <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
690</svg>
691 </span>
692 <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer">
693 <div
694 aria-hidden="true"
695 class="QueryBuilder-StyledInputContent"
696 data-target="query-builder.styledInputContent"
697 ></div>
698 <div class="QueryBuilder-InputWrapper">
699 <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div>
700 <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-044553e2-5dc4-4435-843e-1406b0ec73df" data-target="query-builder.input" data-action="
701 input:query-builder#inputChange
702 blur:query-builder#inputBlur
703 keydown:query-builder#inputKeydown
704 focus:query-builder#inputFocus
705 " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" />
706 </div>
707 </div>
708 <span class="sr-only" id="query-builder-test-clear">Clear</span>
709 <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action="
710 click:query-builder#clear
711 focus:query-builder#clearButtonFocus
712 blur:query-builder#clearButtonBlur
713 " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual">
714 <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path>
715</svg>
716</button>
717
718 </div>
719 <template id="search-icon">
720 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
721 <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
722</svg>
723</template>
724
725<template id="code-icon">
726 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
727 <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
728</svg>
729</template>
730
731<template id="file-code-icon">
732 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code">
733 <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
734</svg>
735</template>
736
737<template id="history-icon">
738 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history">
739 <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path>
740</svg>
741</template>
742
743<template id="repo-icon">
744 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo">
745 <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
746</svg>
747</template>
748
749<template id="bookmark-icon">
750 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark">
751 <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path>
752</svg>
753</template>
754
755<template id="plus-circle-icon">
756 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle">
757 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path>
758</svg>
759</template>
760
761<template id="circle-icon">
762 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill">
763 <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path>
764</svg>
765</template>
766
767<template id="trash-icon">
768 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
769 <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path>
770</svg>
771</template>
772
773<template id="team-icon">
774 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people">
775 <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path>
776</svg>
777</template>
778
779<template id="project-icon">
780 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project">
781 <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path>
782</svg>
783</template>
784
785<template id="pencil-icon">
786 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
787 <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path>
788</svg>
789</template>
790
791<template id="copilot-icon">
792 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot">
793 <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path>
794</svg>
795</template>
796
797<template id="workflow-icon">
798 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow">
799 <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path>
800</svg>
801</template>
802
803<template id="book-icon">
804 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book">
805 <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
806</svg>
807</template>
808
809<template id="code-review-icon">
810 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review">
811 <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path>
812</svg>
813</template>
814
815<template id="codespaces-icon">
816 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces">
817 <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
818</svg>
819</template>
820
821<template id="comment-icon">
822 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment">
823 <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
824</svg>
825</template>
826
827<template id="comment-discussion-icon">
828 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion">
829 <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path>
830</svg>
831</template>
832
833<template id="organization-icon">
834 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization">
835 <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
836</svg>
837</template>
838
839<template id="rocket-icon">
840 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket">
841 <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
842</svg>
843</template>
844
845<template id="shield-check-icon">
846 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check">
847 <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
848</svg>
849</template>
850
851<template id="heart-icon">
852 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart">
853 <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path>
854</svg>
855</template>
856
857<template id="server-icon">
858 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server">
859 <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
860</svg>
861</template>
862
863<template id="globe-icon">
864 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe">
865 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path>
866</svg>
867</template>
868
869<template id="issue-opened-icon">
870 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
871 <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
872</svg>
873</template>
874
875<template id="device-mobile-icon">
876 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile">
877 <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
878</svg>
879</template>
880
881<template id="package-icon">
882 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package">
883 <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path>
884</svg>
885</template>
886
887<template id="credit-card-icon">
888 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card">
889 <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path>
890</svg>
891</template>
892
893<template id="play-icon">
894 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
895 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
896</svg>
897</template>
898
899<template id="gift-icon">
900 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift">
901 <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path>
902</svg>
903</template>
904
905<template id="code-square-icon">
906 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square">
907 <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
908</svg>
909</template>
910
911<template id="device-desktop-icon">
912 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
913 <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path>
914</svg>
915</template>
916
917 <div class="position-relative">
918 <ul
919 role="listbox"
920 class="ActionListWrap QueryBuilder-ListWrap"
921 aria-label="Suggestions"
922 data-action="
923 combobox-commit:query-builder#comboboxCommit
924 mousedown:query-builder#resultsMousedown
925 "
926 data-target="query-builder.resultsList"
927 data-persist-list=false
928 id="query-builder-test-results"
929 ></ul>
930 </div>
931 <div class="FormControl-inlineValidation" id="validation-044553e2-5dc4-4435-843e-1406b0ec73df" hidden="hidden">
932 <span class="FormControl-inlineValidation--visual">
933 <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
934 <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
935</svg>
936 </span>
937 <span></span>
938</div> </div>
939 <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div>
940</query-builder></form>
941 <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt">
942 <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">
943 Search syntax tips
944</a> <div class="d-flex flex-1"></div>
945 </div>
946 </div>
947</div>
948
949 </div>
950</modal-dialog></div>
951 </div>
952 <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div>
953 <div class="color-fg-default">
954
955<dialog-helper>
956 <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade">
957 <div data-view-component="true" class="Overlay-header">
958 <div class="Overlay-headerContentWrap">
959 <div class="Overlay-titleWrap">
960 <h1 class="Overlay-title " id="feedback-dialog-title">
961 Provide feedback
962 </h1>
963 </div>
964 <div class="Overlay-actionWrap">
965 <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
966 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
967</svg></button>
968 </div>
969 </div>
970</div>
971 <scrollable-region data-labelled-by="feedback-dialog-title">
972 <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="QmXnnQ3qeZqBsmWjAN9HHCw+h2RQ3ffLE6tYYSG/TLDeHVxyZIDNV7ld94L29Efbyfgv4BcZ8gbTMzBU/7e5mA==" />
973 <p>We read every piece of feedback, and take your input very seriously.</p>
974 <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea>
975 <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox">
976 <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label>
977</form></div>
978 </scrollable-region>
979 <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel
980</button>
981 <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback
982</button>
983</div>
984</dialog></dialog-helper>
985
986 <custom-scopes data-target="qbsearch-input.customScopesManager">
987
988<dialog-helper>
989 <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade">
990 <div data-view-component="true" class="Overlay-header Overlay-header--divided">
991 <div class="Overlay-headerContentWrap">
992 <div class="Overlay-titleWrap">
993 <h1 class="Overlay-title " id="custom-scopes-dialog-title">
994 Saved searches
995 </h1>
996 <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2>
997 </div>
998 <div class="Overlay-actionWrap">
999 <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
1000 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1001</svg></button>
1002 </div>
1003 </div>
1004</div>
1005 <scrollable-region data-labelled-by="custom-scopes-dialog-title">
1006 <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
1007
1008 <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
1009 <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="ZYgV22I3WilQMRAx9Uuiz5QhiIRDan0VaN9G5ykmq0uaXE+f+5ixA/6QS6lWXJliUWfkX62Pi9lNEoKhmgfSTQ==" />
1010 <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
1011
1012 <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
1013
1014 <div class="form-group">
1015 <label for="custom_scope_name">Name</label>
1016 <auto-check src="/search/custom_scopes/check_name" required>
1017 <input
1018 type="text"
1019 name="custom_scope_name"
1020 id="custom_scope_name"
1021 data-target="custom-scopes.customScopesNameField"
1022 class="form-control"
1023 autocomplete="off"
1024 placeholder="github-ruby"
1025 required
1026 maxlength="50">
1027 <input type="hidden" data-csrf="true" value="nvBNJa3J5SFPK2mY4uaTtCIk31i8t5wA1CgwpAsowue2AT1UuEsfdlDog0L35eTazmNgYNHFxAsqUtKz2Awekw==" />
1028 </auto-check>
1029 </div>
1030
1031 <div class="form-group">
1032 <label for="custom_scope_query">Query</label>
1033 <input
1034 type="text"
1035 name="custom_scope_query"
1036 id="custom_scope_query"
1037 data-target="custom-scopes.customScopesQueryField"
1038 class="form-control"
1039 autocomplete="off"
1040 placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
1041 required
1042 maxlength="500">
1043 </div>
1044
1045 <p class="text-small color-fg-muted">
1046 To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.
1047 </p>
1048</form> </div>
1049
1050 <div data-target="custom-scopes.manageCustomScopesForm">
1051 <div data-target="custom-scopes.list"></div>
1052 </div>
1053
1054</div>
1055 </scrollable-region>
1056 <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel
1057</button>
1058 <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search
1059</button>
1060</div>
1061</dialog></dialog-helper>
1062 </custom-scopes>
1063 </div>
1064</qbsearch-input><input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="YLZW5E/fnR8ggAxn4/gJ+UJcX9poUAS+VObQMu1ugM8wKHbk0xR35mZQIClv/w6KFA0kXrxPplhU4b+anp8SjA==" />
1065
1066
1067 <div class="position-relative mr-lg-3 d-lg-inline-block">
1068 <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fsersorrel%2Fsys%2Fblob%2Fmain%2Fhm%2Fdiscord%2Fdefault.nix"
1069 class="HeaderMenu-link HeaderMenu-link--sign-in flex-shrink-0 no-underline d-block d-lg-inline-block border border-lg-0 rounded rounded-lg-0 p-2 p-lg-0"
1070 data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="feff8c6ed94c62abd51cff13d52e51f825f00fec4c83a0cff9e898b8648ad7fe"
1071 data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
1072 Sign in
1073 </a>
1074 </div>
1075
1076 <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=sersorrel%2Fsys"
1077 class="HeaderMenu-link HeaderMenu-link--sign-up flex-shrink-0 d-none d-lg-inline-block no-underline border color-border-default rounded px-2 py-1"
1078 data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="feff8c6ed94c62abd51cff13d52e51f825f00fec4c83a0cff9e898b8648ad7fe"
1079 data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}"
1080 >
1081 Sign up
1082 </a>
1083 </div>
1084 </div>
1085 </div>
1086 </div>
1087</header>
1088
1089 <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full mb-3">
1090
1091 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
1092 <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
1093</svg>
1094 <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
1095 <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
1096 <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
1097
1098 <button id="icon-button-7ce91f94-ff93-491f-8921-61da275552e4" aria-labelledby="tooltip-576e2229-eb93-4759-87a1-2c91d7b91e43" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
1099 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1100</svg>
1101</button><tool-tip id="tooltip-576e2229-eb93-4759-87a1-2c91d7b91e43" for="icon-button-7ce91f94-ff93-491f-8921-61da275552e4" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>
1102
1103
1104
1105</div>
1106 </div>
1107
1108 <div id="start-of-content" class="show-on-focus"></div>
1109
1110
1111
1112
1113
1114
1115
1116
1117 <div id="js-flash-container" data-turbo-replace>
1118
1119
1120
1121
1122
1123 <template class="js-flash-template">
1124
1125<div class="flash flash-full {{ className }}">
1126 <div >
1127 <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
1128 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
1129 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1130</svg>
1131 </button>
1132 <div aria-atomic="true" role="alert" class="js-flash-alert">
1133
1134 <div>{{ message }}</div>
1135
1136 </div>
1137 </div>
1138</div>
1139 </template>
1140</div>
1141
1142
1143
1144 <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
1145
1146
1147
1148
1149
1150 <div
1151 class="application-main "
1152 data-commit-hovercards-enabled
1153 data-discussion-hovercards-enabled
1154 data-issue-and-pr-hovercards-enabled
1155 >
1156 <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
1157 <main id="js-repo-pjax-container" >
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167 <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace>
1168
1169 <div class="d-flex flex-wrap flex-justify-end mb-3 px-3 px-md-4 px-lg-5" style="gap: 1rem;">
1170
1171 <div class="flex-auto min-width-0 width-fit mr-3">
1172
1173 <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
1174 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2">
1175 <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
1176</svg>
1177
1178 <span class="author flex-self-stretch" itemprop="author">
1179 <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/sersorrel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/sersorrel">
1180 sersorrel
1181</a> </span>
1182 <span class="mx-1 flex-self-stretch color-fg-muted">/</span>
1183 <strong itemprop="name" class="mr-2 flex-self-stretch">
1184 <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/sersorrel/sys">sys</a>
1185 </strong>
1186
1187 <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
1188 </div>
1189
1190
1191 </div>
1192
1193 <div id="repository-details-container" data-turbo-replace>
1194 <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
1195
1196 <li>
1197 <include-fragment src="/sersorrel/sys/sponsor_button"></include-fragment>
1198 </li>
1199
1200
1201
1202 <li>
1203 <a href="/login?return_to=%2Fsersorrel%2Fsys" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="e09ba19a3659459e52336f995ab71633b34819035515e25da9b49ae5da3ad564" aria-label="You must be signed in to change notification settings" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2">
1204 <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path>
1205</svg>Notifications
1206</a>
1207 </li>
1208
1209 <li>
1210 <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fsersorrel%2Fsys" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:579696260,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="5de143f4368130c5eb467fa9bd9f118596927ec81e3cbc7e6ff807bec848620f" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2">
1211 <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path>
1212</svg>Fork
1213 <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="0" data-view-component="true" class="Counter">0</span>
1214</a>
1215 </li>
1216
1217 <li>
1218 <div data-view-component="true" class="BtnGroup d-flex">
1219 <a href="/login?return_to=%2Fsersorrel%2Fsys" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:579696260,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="11816eec171e66ecac8f19506243144b41a5f1b81fac7afb28fe9e9e61c16d22" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2">
1220 <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path>
1221</svg><span data-view-component="true" class="d-inline">
1222 Star
1223</span> <span id="repo-stars-counter-star" aria-label="2 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2" data-view-component="true" class="Counter js-social-count">2</span>
1224</a> <button aria-label="You must be signed in to add this repository to a list" type="button" disabled="disabled" data-view-component="true" class="btn-sm btn BtnGroup-item px-2"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down">
1225 <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path>
1226</svg>
1227</button></div>
1228 </li>
1229
1230 <li>
1231
1232
1233 </li>
1234</ul>
1235
1236 </div>
1237 </div>
1238
1239 <div id="responsive-meta-container" data-turbo-replace>
1240</div>
1241
1242
1243 <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5">
1244
1245 <ul data-view-component="true" class="UnderlineNav-body list-style-none">
1246 <li data-view-component="true" class="d-inline-flex">
1247 <a id="code-tab" href="/sersorrel/sys" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /sersorrel/sys" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
1248
1249 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
1250 <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
1251</svg>
1252 <span data-content="Code">Code</span>
1253 <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
1254
1255
1256
1257</a></li>
1258 <li data-view-component="true" class="d-inline-flex">
1259 <a id="issues-tab" href="/sersorrel/sys/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /sersorrel/sys/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1260
1261 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline">
1262 <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
1263</svg>
1264 <span data-content="Issues">Issues</span>
1265 <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
1266
1267
1268
1269</a></li>
1270 <li data-view-component="true" class="d-inline-flex">
1271 <a id="pull-requests-tab" href="/sersorrel/sys/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /sersorrel/sys/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1272
1273 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
1274 <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
1275</svg>
1276 <span data-content="Pull requests">Pull requests</span>
1277 <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
1278
1279
1280
1281</a></li>
1282 <li data-view-component="true" class="d-inline-flex">
1283 <a id="actions-tab" href="/sersorrel/sys/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /sersorrel/sys/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1284
1285 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
1286 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
1287</svg>
1288 <span data-content="Actions">Actions</span>
1289 <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
1290
1291
1292
1293</a></li>
1294 <li data-view-component="true" class="d-inline-flex">
1295 <a id="projects-tab" href="/sersorrel/sys/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /sersorrel/sys/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1296
1297 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline">
1298 <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
1299</svg>
1300 <span data-content="Projects">Projects</span>
1301 <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
1302
1303
1304
1305</a></li>
1306 <li data-view-component="true" class="d-inline-flex">
1307 <a id="security-tab" href="/sersorrel/sys/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /sersorrel/sys/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1308
1309 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
1310 <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
1311</svg>
1312 <span data-content="Security">Security</span>
1313 <include-fragment src="/sersorrel/sys/security/overall-count" accept="text/fragment+html"></include-fragment>
1314
1315
1316</a></li>
1317 <li data-view-component="true" class="d-inline-flex">
1318 <a id="insights-tab" href="/sersorrel/sys/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /sersorrel/sys/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1319
1320 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
1321 <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
1322</svg>
1323 <span data-content="Insights">Insights</span>
1324 <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
1325
1326
1327
1328</a></li>
1329</ul>
1330 <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true">
1331 <focus-group direction="vertical" mnemonics retain>
1332 <button id="action-menu-b3f0b78d-9e64-4c60-9d4f-0b3aa1e618f2-button" popovertarget="action-menu-b3f0b78d-9e64-4c60-9d4f-0b3aa1e618f2-overlay" aria-controls="action-menu-b3f0b78d-9e64-4c60-9d4f-0b3aa1e618f2-list" aria-haspopup="true" aria-labelledby="tooltip-6544580b-a00e-4364-b10f-900652a7e6d5" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual">
1333 <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path>
1334</svg>
1335</button><tool-tip id="tooltip-6544580b-a00e-4364-b10f-900652a7e6d5" for="action-menu-b3f0b78d-9e64-4c60-9d4f-0b3aa1e618f2-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip>
1336
1337
1338<anchored-position id="action-menu-b3f0b78d-9e64-4c60-9d4f-0b3aa1e618f2-overlay" anchor="action-menu-b3f0b78d-9e64-4c60-9d4f-0b3aa1e618f2-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true">
1339 <div data-view-component="true" class="Overlay Overlay--size-auto">
1340
1341 <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list>
1342 <div data-view-component="true">
1343 <ul aria-labelledby="action-menu-b3f0b78d-9e64-4c60-9d4f-0b3aa1e618f2-button" id="action-menu-b3f0b78d-9e64-4c60-9d4f-0b3aa1e618f2-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap">
1344 <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1345
1346 <a tabindex="-1" id="item-4ba00c3a-e656-4429-bbd2-26bf23877263" href="/sersorrel/sys" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1347 <span class="ActionListItem-visual ActionListItem-visual--leading">
1348 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
1349 <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
1350</svg>
1351 </span>
1352
1353 <span data-view-component="true" class="ActionListItem-label">
1354 Code
1355</span></a>
1356
1357
1358</li>
1359 <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1360
1361 <a tabindex="-1" id="item-458e8313-13e0-45ea-b4cc-74eeab17c69b" href="/sersorrel/sys/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1362 <span class="ActionListItem-visual ActionListItem-visual--leading">
1363 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
1364 <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
1365</svg>
1366 </span>
1367
1368 <span data-view-component="true" class="ActionListItem-label">
1369 Issues
1370</span></a>
1371
1372
1373</li>
1374 <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1375
1376 <a tabindex="-1" id="item-70ffe53c-786a-40c7-af1d-5494a930fcc6" href="/sersorrel/sys/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1377 <span class="ActionListItem-visual ActionListItem-visual--leading">
1378 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request">
1379 <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
1380</svg>
1381 </span>
1382
1383 <span data-view-component="true" class="ActionListItem-label">
1384 Pull requests
1385</span></a>
1386
1387
1388</li>
1389 <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1390
1391 <a tabindex="-1" id="item-8b09a0a2-f2b3-4cf7-9f99-f1e0c634ddca" href="/sersorrel/sys/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1392 <span class="ActionListItem-visual ActionListItem-visual--leading">
1393 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
1394 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
1395</svg>
1396 </span>
1397
1398 <span data-view-component="true" class="ActionListItem-label">
1399 Actions
1400</span></a>
1401
1402
1403</li>
1404 <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1405
1406 <a tabindex="-1" id="item-74ea830b-e425-4adf-b69f-dcda15d702b6" href="/sersorrel/sys/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1407 <span class="ActionListItem-visual ActionListItem-visual--leading">
1408 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table">
1409 <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
1410</svg>
1411 </span>
1412
1413 <span data-view-component="true" class="ActionListItem-label">
1414 Projects
1415</span></a>
1416
1417
1418</li>
1419 <li hidden="hidden" data-menu-item="i5security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1420
1421 <a tabindex="-1" id="item-9321e2b2-b949-4267-a5cc-7d1f6260fd3f" href="/sersorrel/sys/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1422 <span class="ActionListItem-visual ActionListItem-visual--leading">
1423 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield">
1424 <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
1425</svg>
1426 </span>
1427
1428 <span data-view-component="true" class="ActionListItem-label">
1429 Security
1430</span></a>
1431
1432
1433</li>
1434 <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1435
1436 <a tabindex="-1" id="item-dc6604ce-f558-4071-b1b5-2783a21e2abc" href="/sersorrel/sys/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1437 <span class="ActionListItem-visual ActionListItem-visual--leading">
1438 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph">
1439 <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
1440</svg>
1441 </span>
1442
1443 <span data-view-component="true" class="ActionListItem-label">
1444 Insights
1445</span></a>
1446
1447
1448</li>
1449</ul>
1450</div></action-list>
1451
1452
1453</div>
1454
1455</div></anchored-position> </focus-group>
1456</action-menu></div>
1457</nav>
1458
1459 </div>
1460
1461
1462
1463
1464
1465<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
1466 <div id="repo-content-pjax-container" class="repository-content " >
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479<react-app
1480 app-name="react-code-view"
1481 initial-path="/sersorrel/sys/blob/main/hm/discord/default.nix"
1482 style="min-height: calc(100vh - 64px)"
1483 data-ssr="false"
1484 data-lazy="false"
1485 data-alternate="false"
1486>
1487
1488 <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"hm/discord":{"items":[{"name":"default.nix","path":"hm/discord/default.nix","contentType":"file"},{"name":"krisp-patcher.py","path":"hm/discord/krisp-patcher.py","contentType":"file"}],"totalCount":2},"hm":{"items":[{"name":"discord","path":"hm/discord","contentType":"directory"},{"name":"git-fast-forward-all","path":"hm/git-fast-forward-all","contentType":"directory"},{"name":"glimmer","path":"hm/glimmer","contentType":"directory"},{"name":"neovim","path":"hm/neovim","contentType":"directory"},{"name":"some","path":"hm/some","contentType":"directory"},{"name":"unified-inhibit","path":"hm/unified-inhibit","contentType":"directory"},{"name":"android-studio.nix","path":"hm/android-studio.nix","contentType":"file"},{"name":"any-nix-shell.nix","path":"hm/any-nix-shell.nix","contentType":"file"},{"name":"apktool.nix","path":"hm/apktool.nix","contentType":"file"},{"name":"bash.nix","path":"hm/bash.nix","contentType":"file"},{"name":"bat.nix","path":"hm/bat.nix","contentType":"file"},{"name":"binary-ninja.nix","path":"hm/binary-ninja.nix","contentType":"file"},{"name":"bintools.nix","path":"hm/bintools.nix","contentType":"file"},{"name":"calibre.nix","path":"hm/calibre.nix","contentType":"file"},{"name":"colordiff.nix","path":"hm/colordiff.nix","contentType":"file"},{"name":"comma.nix","path":"hm/comma.nix","contentType":"file"},{"name":"compose-key.nix","path":"hm/compose-key.nix","contentType":"file"},{"name":"dconf.nix","path":"hm/dconf.nix","contentType":"file"},{"name":"dig.nix","path":"hm/dig.nix","contentType":"file"},{"name":"dircolors.nix","path":"hm/dircolors.nix","contentType":"file"},{"name":"direnv.nix","path":"hm/direnv.nix","contentType":"file"},{"name":"dunst.nix","path":"hm/dunst.nix","contentType":"file"},{"name":"eiciel.nix","path":"hm/eiciel.nix","contentType":"file"},{"name":"empty-trash.nix","path":"hm/empty-trash.nix","contentType":"file"},{"name":"evince.nix","path":"hm/evince.nix","contentType":"file"},{"name":"exiftool.nix","path":"hm/exiftool.nix","contentType":"file"},{"name":"eza.nix","path":"hm/eza.nix","contentType":"file"},{"name":"fd.nix","path":"hm/fd.nix","contentType":"file"},{"name":"ffmpeg.nix","path":"hm/ffmpeg.nix","contentType":"file"},{"name":"fish.nix","path":"hm/fish.nix","contentType":"file"},{"name":"flac.nix","path":"hm/flac.nix","contentType":"file"},{"name":"flameshot.nix","path":"hm/flameshot.nix","contentType":"file"},{"name":"fonts.nix","path":"hm/fonts.nix","contentType":"file"},{"name":"fragments.nix","path":"hm/fragments.nix","contentType":"file"},{"name":"fusee-nano.nix","path":"hm/fusee-nano.nix","contentType":"file"},{"name":"fzf.nix","path":"hm/fzf.nix","contentType":"file"},{"name":"gammastep.nix","path":"hm/gammastep.nix","contentType":"file"},{"name":"gdb.nix","path":"hm/gdb.nix","contentType":"file"},{"name":"gh.nix","path":"hm/gh.nix","contentType":"file"},{"name":"git.nix","path":"hm/git.nix","contentType":"file"},{"name":"gnome-music.nix","path":"hm/gnome-music.nix","contentType":"file"},{"name":"gpg.nix","path":"hm/gpg.nix","contentType":"file"},{"name":"htop.nix","path":"hm/htop.nix","contentType":"file"},{"name":"httpie.nix","path":"hm/httpie.nix","contentType":"file"},{"name":"input-leap.nix","path":"hm/input-leap.nix","contentType":"file"},{"name":"jetbrains.nix","path":"hm/jetbrains.nix","contentType":"file"},{"name":"joystickwake.nix","path":"hm/joystickwake.nix","contentType":"file"},{"name":"just.nix","path":"hm/just.nix","contentType":"file"},{"name":"kdeconnect.nix","path":"hm/kdeconnect.nix","contentType":"file"},{"name":"keepassxc.nix","path":"hm/keepassxc.nix","contentType":"file"},{"name":"keychain.nix","path":"hm/keychain.nix","contentType":"file"},{"name":"kid3.nix","path":"hm/kid3.nix","contentType":"file"},{"name":"less.nix","path":"hm/less.nix","contentType":"file"},{"name":"libreoffice.nix","path":"hm/libreoffice.nix","contentType":"file"},{"name":"lorri.nix","path":"hm/lorri.nix","contentType":"file"},{"name":"lsof.nix","path":"hm/lsof.nix","contentType":"file"},{"name":"mpv.nix","path":"hm/mpv.nix","contentType":"file"},{"name":"ncdu.nix","path":"hm/ncdu.nix","contentType":"file"},{"name":"news.nix","path":"hm/news.nix","contentType":"file"},{"name":"nix-index.nix","path":"hm/nix-index.nix","contentType":"file"},{"name":"nix-tools.nix","path":"hm/nix-tools.nix","contentType":"file"},{"name":"nix.nix","path":"hm/nix.nix","contentType":"file"},{"name":"notify-send.nix","path":"hm/notify-send.nix","contentType":"file"},{"name":"obs.nix","path":"hm/obs.nix","contentType":"file"},{"name":"obsidian.nix","path":"hm/obsidian.nix","contentType":"file"},{"name":"picard.nix","path":"hm/picard.nix","contentType":"file"},{"name":"playerctl.nix","path":"hm/playerctl.nix","contentType":"file"},{"name":"readline.nix","path":"hm/readline.nix","contentType":"file"},{"name":"rink.nix","path":"hm/rink.nix","contentType":"file"},{"name":"ripgrep.nix","path":"hm/ripgrep.nix","contentType":"file"},{"name":"rustup.nix","path":"hm/rustup.nix","contentType":"file"},{"name":"signal.nix","path":"hm/signal.nix","contentType":"file"},{"name":"ssh.nix","path":"hm/ssh.nix","contentType":"file"},{"name":"starship.nix","path":"hm/starship.nix","contentType":"file"},{"name":"syncthing.nix","path":"hm/syncthing.nix","contentType":"file"},{"name":"systemd.nix","path":"hm/systemd.nix","contentType":"file"},{"name":"tenacity.nix","path":"hm/tenacity.nix","contentType":"file"},{"name":"thumbnailers.nix","path":"hm/thumbnailers.nix","contentType":"file"},{"name":"todoist.nix","path":"hm/todoist.nix","contentType":"file"},{"name":"unicode.nix","path":"hm/unicode.nix","contentType":"file"},{"name":"wine.nix","path":"hm/wine.nix","contentType":"file"},{"name":"wxhexeditor.nix","path":"hm/wxhexeditor.nix","contentType":"file"},{"name":"xclip.nix","path":"hm/xclip.nix","contentType":"file"},{"name":"xdg.nix","path":"hm/xdg.nix","contentType":"file"}],"totalCount":84},"":{"items":[{"name":"common","path":"common","contentType":"directory"},{"name":"darwin","path":"darwin","contentType":"directory"},{"name":"hm","path":"hm","contentType":"directory"},{"name":"nixos","path":"nixos","contentType":"directory"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"flake.nix","path":"flake.nix","contentType":"file"}],"totalCount":6}},"fileTreeProcessingTime":66.971789,"foldersToFetch":[],"repo":{"id":579696260,"defaultBranch":"main","name":"sys","ownerLogin":"sersorrel","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-12-18T15:21:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/9433472?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1671376866.681319","canEdit":false,"refType":"branch","currentOid":"f3c8e8b4812f8069279da492fd830025e08ef580"},"path":"hm/discord/default.nix","currentUser":null,"blob":{"rawLines":["{ config, lib, pkgs, ... }:","","let"," krisp-patcher = pkgs.writers.writePython3Bin \"krisp-patcher\" {"," libraries = with pkgs.python3Packages; [ capstone pyelftools ];"," flakeIgnore = ["," \"E501\" # line too long (82 \u003e 79 characters)"," \"F403\" # ‘from module import *’ used; unable to detect undefined names"," \"F405\" # name may be undefined, or defined from star imports: module"," ];"," } (builtins.readFile ./krisp-patcher.py);","in","{"," options = {"," sys.discord.enable = lib.mkOption {"," description = \"Whether to install Discord, a voice and text chat platform.\";"," type = lib.types.bool;"," default = false;"," };"," };"," config = lib.mkIf config.sys.discord.enable {"," home.packages = ["," (pkgs.discord.override { withVencord = true; withTTS = true; })"," krisp-patcher"," ];"," };","}"],"stylingDirectives":[[{"s":0,"e":1,"c":"pl-kos"},{"s":2,"e":8,"c":"pl-s1"},{"s":8,"e":9,"c":"pl-kos"},{"s":10,"e":13,"c":"pl-s1"},{"s":13,"e":14,"c":"pl-kos"},{"s":15,"e":19,"c":"pl-s1"},{"s":19,"e":20,"c":"pl-kos"},{"s":25,"e":26,"c":"pl-kos"}],[],[{"s":0,"e":3,"c":"pl-k"}],[{"s":2,"e":15,"c":"pl-c1"},{"s":2,"e":15,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-kos"},{"s":18,"e":22,"c":"pl-s1"},{"s":22,"e":23,"c":"pl-kos"},{"s":23,"e":46,"c":"pl-c1"},{"s":23,"e":30,"c":"pl-c1"},{"s":30,"e":31,"c":"pl-kos"},{"s":31,"e":46,"c":"pl-en"},{"s":47,"e":62,"c":"pl-s"},{"s":63,"e":64,"c":"pl-kos"}],[{"s":4,"e":13,"c":"pl-c1"},{"s":4,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-kos"},{"s":16,"e":20,"c":"pl-k"},{"s":21,"e":25,"c":"pl-s1"},{"s":25,"e":26,"c":"pl-kos"},{"s":26,"e":41,"c":"pl-c1"},{"s":26,"e":41,"c":"pl-c1"},{"s":41,"e":42,"c":"pl-kos"},{"s":43,"e":44,"c":"pl-kos"},{"s":45,"e":53,"c":"pl-s1"},{"s":54,"e":64,"c":"pl-s1"},{"s":65,"e":66,"c":"pl-kos"},{"s":66,"e":67,"c":"pl-kos"}],[{"s":4,"e":15,"c":"pl-c1"},{"s":4,"e":15,"c":"pl-c1"},{"s":16,"e":17,"c":"pl-kos"},{"s":18,"e":19,"c":"pl-kos"}],[{"s":6,"e":12,"c":"pl-s"},{"s":13,"e":49,"c":"pl-c"}],[{"s":6,"e":12,"c":"pl-s"},{"s":13,"e":76,"c":"pl-c"}],[{"s":6,"e":12,"c":"pl-s"},{"s":13,"e":74,"c":"pl-c"}],[{"s":4,"e":5,"c":"pl-kos"},{"s":5,"e":6,"c":"pl-kos"}],[{"s":2,"e":3,"c":"pl-kos"},{"s":4,"e":5,"c":"pl-kos"},{"s":5,"e":13,"c":"pl-smi"},{"s":13,"e":14,"c":"pl-kos"},{"s":14,"e":22,"c":"pl-c1"},{"s":14,"e":22,"c":"pl-en"},{"s":23,"e":41,"c":"pl-pds"},{"s":41,"e":42,"c":"pl-kos"},{"s":42,"e":43,"c":"pl-kos"}],[{"s":0,"e":2,"c":"pl-k"}],[{"s":0,"e":1,"c":"pl-kos"}],[{"s":2,"e":9,"c":"pl-c1"},{"s":2,"e":9,"c":"pl-c1"},{"s":10,"e":11,"c":"pl-kos"},{"s":12,"e":13,"c":"pl-kos"}],[{"s":4,"e":22,"c":"pl-c1"},{"s":4,"e":7,"c":"pl-c1"},{"s":7,"e":8,"c":"pl-kos"},{"s":8,"e":15,"c":"pl-c1"},{"s":15,"e":16,"c":"pl-kos"},{"s":16,"e":22,"c":"pl-c1"},{"s":23,"e":24,"c":"pl-kos"},{"s":25,"e":28,"c":"pl-s1"},{"s":28,"e":29,"c":"pl-kos"},{"s":29,"e":37,"c":"pl-c1"},{"s":29,"e":37,"c":"pl-en"},{"s":38,"e":39,"c":"pl-kos"}],[{"s":6,"e":17,"c":"pl-c1"},{"s":6,"e":17,"c":"pl-c1"},{"s":18,"e":19,"c":"pl-kos"},{"s":20,"e":81,"c":"pl-s"},{"s":81,"e":82,"c":"pl-kos"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-kos"},{"s":13,"e":16,"c":"pl-s1"},{"s":16,"e":17,"c":"pl-kos"},{"s":17,"e":27,"c":"pl-c1"},{"s":17,"e":22,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-kos"},{"s":23,"e":27,"c":"pl-c1"},{"s":27,"e":28,"c":"pl-kos"}],[{"s":6,"e":13,"c":"pl-c1"},{"s":6,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-kos"},{"s":16,"e":21,"c":"pl-smi"},{"s":21,"e":22,"c":"pl-kos"}],[{"s":4,"e":5,"c":"pl-kos"},{"s":5,"e":6,"c":"pl-kos"}],[{"s":2,"e":3,"c":"pl-kos"},{"s":3,"e":4,"c":"pl-kos"}],[{"s":2,"e":8,"c":"pl-c1"},{"s":2,"e":8,"c":"pl-c1"},{"s":9,"e":10,"c":"pl-kos"},{"s":11,"e":14,"c":"pl-s1"},{"s":14,"e":15,"c":"pl-kos"},{"s":15,"e":19,"c":"pl-c1"},{"s":15,"e":19,"c":"pl-en"},{"s":20,"e":26,"c":"pl-s1"},{"s":26,"e":27,"c":"pl-kos"},{"s":27,"e":45,"c":"pl-c1"},{"s":27,"e":30,"c":"pl-c1"},{"s":30,"e":31,"c":"pl-kos"},{"s":31,"e":38,"c":"pl-c1"},{"s":38,"e":39,"c":"pl-kos"},{"s":39,"e":45,"c":"pl-c1"},{"s":46,"e":47,"c":"pl-kos"}],[{"s":4,"e":17,"c":"pl-c1"},{"s":4,"e":8,"c":"pl-c1"},{"s":8,"e":9,"c":"pl-kos"},{"s":9,"e":17,"c":"pl-c1"},{"s":18,"e":19,"c":"pl-kos"},{"s":20,"e":21,"c":"pl-kos"}],[{"s":6,"e":7,"c":"pl-kos"},{"s":7,"e":11,"c":"pl-s1"},{"s":11,"e":12,"c":"pl-kos"},{"s":12,"e":28,"c":"pl-c1"},{"s":12,"e":19,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-kos"},{"s":20,"e":28,"c":"pl-en"},{"s":29,"e":30,"c":"pl-kos"},{"s":31,"e":42,"c":"pl-c1"},{"s":31,"e":42,"c":"pl-c1"},{"s":43,"e":44,"c":"pl-kos"},{"s":45,"e":49,"c":"pl-smi"},{"s":49,"e":50,"c":"pl-kos"},{"s":51,"e":58,"c":"pl-c1"},{"s":51,"e":58,"c":"pl-c1"},{"s":59,"e":60,"c":"pl-kos"},{"s":61,"e":65,"c":"pl-smi"},{"s":65,"e":66,"c":"pl-kos"},{"s":67,"e":68,"c":"pl-kos"},{"s":68,"e":69,"c":"pl-kos"}],[{"s":6,"e":19,"c":"pl-s1"}],[{"s":4,"e":5,"c":"pl-kos"},{"s":5,"e":6,"c":"pl-kos"}],[{"s":2,"e":3,"c":"pl-kos"},{"s":3,"e":4,"c":"pl-kos"}],[{"s":0,"e":1,"c":"pl-kos"}]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/sersorrel/sys/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"default.nix","displayUrl":"https://github.com/sersorrel/sys/blob/main/hm/discord/default.nix?raw=true","headerInfo":{"blobSize":"823 Bytes","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"6964349","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fsersorrel%2Fsys%2Fblob%2Fmain%2Fhm%2Fdiscord%2Fdefault.nix","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"27","truncatedSloc":"26"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Nix","languageID":252,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/sersorrel/sys/blob/main/hm/discord/default.nix","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/sersorrel/sys/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/sersorrel/sys/raw/main/hm/discord/default.nix","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/sersorrel/.github/blob/f8511c61b1c9aebfff0faf48f5be446faf602d2c/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":true,"symbols":[]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/sersorrel/sys/branches":{"post":"19S3T6-SKROADK-C75tjIZmz-uKlbM86tllZrJiC6kiF4J6dApVreLCeILkLBDe5EtxTwPu-YRssQ8rypb166g"},"/repos/preferences":{"post":"fA_BiCa3_GkAyByXI_1d1_FdT-6epwHjeJogO_4zX2Z2EoyELxIubsru3USIWvOn1DCG0K80Tvkf1YnruoS7LA"}}},"title":"sys/hm/discord/default.nix at main · sersorrel/sys","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-a007d7f370d6.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-d0f0ff069004.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"copilot_conversational_ux":false,"react_blob_overlay":false,"copilot_conversational_ux_embedding_update":false,"copilot_popover_file_editor_header":false,"copilot_smell_icebreaker_ux":true,"copilot_workspace":false}}}</script>
1489 <div data-target="react-app.reactRoot"></div>
1490</react-app>
1491</turbo-frame>
1492
1493
1494
1495 </div>
1496
1497</turbo-frame>
1498
1499 </main>
1500 </div>
1501
1502 </div>
1503
1504 <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" >
1505 <h2 class='sr-only'>Footer</h2>
1506
1507
1508
1509
1510 <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap">
1511 <div class="d-flex flex-items-center flex-shrink-0 mx-2">
1512 <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com">
1513 <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
1514 <path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
1515</svg>
1516</a>
1517 <span>
1518 &copy; 2024 GitHub,&nbsp;Inc.
1519 </span>
1520 </div>
1521
1522 <nav aria-label="Footer">
1523 <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>
1524
1525 <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">
1526
1527 <li class="mx-2">
1528 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
1529 </li>
1530
1531 <li class="mx-2">
1532 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
1533 </li>
1534
1535 <li class="mx-2">
1536 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="/security" data-view-component="true" class="Link--secondary Link">Security</a>
1537 </li>
1538
1539 <li class="mx-2">
1540 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
1541 </li>
1542
1543 <li class="mx-2">
1544 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
1545 </li>
1546
1547 <li class="mx-2">
1548 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
1549 </li>
1550
1551 <li class="mr-3" >
1552 <cookie-consent-link>
1553 <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement">
1554 Manage cookies
1555 </button>
1556 </cookie-consent-link>
1557</li>
1558
1559<li class="mr-3">
1560 <cookie-consent-link>
1561 <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement">
1562 Do not share my personal information
1563 </button>
1564 </cookie-consent-link>
1565</li>
1566
1567 </ul>
1568 </nav>
1569 </div>
1570</footer>
1571
1572
1573
1574
1575 <cookie-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></cookie-consent>
1576
1577
1578 <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
1579 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
1580 <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
1581</svg>
1582 <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
1583 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
1584 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1585</svg>
1586 </button>
1587 You can’t perform that action at this time.
1588 </div>
1589
1590 <template id="site-details-dialog">
1591 <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
1592 <summary role="button" aria-label="Close dialog"></summary>
1593 <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
1594 <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
1595 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
1596 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1597</svg>
1598 </button>
1599 <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
1600 </details-dialog>
1601 </details>
1602</template>
1603
1604 <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
1605 <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
1606 </div>
1607</div>
1608
1609 <template id="snippet-clipboard-copy-button">
1610 <div class="zeroclipboard-container position-absolute right-0 top-0">
1611 <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w">
1612 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
1613 <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
1614</svg>
1615 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
1616 <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
1617</svg>
1618 </clipboard-copy>
1619 </div>
1620</template>
1621<template id="snippet-clipboard-copy-button-unpositioned">
1622 <div class="zeroclipboard-container">
1623 <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
1624 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
1625 <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
1626</svg>
1627 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
1628 <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
1629</svg>
1630 </clipboard-copy>
1631 </div>
1632</template>
1633
1634
1635
1636
1637 </div>
1638
1639 <div id="js-global-screen-reader-notice" class="sr-only" aria-live="polite" aria-atomic="true" ></div>
1640 <div id="js-global-screen-reader-notice-assertive" class="sr-only" aria-live="assertive" aria-atomic="true"></div>
1641 </body>
1642</html>
1643
discord/krisp-patcher.py created+1643
......@@ -0,0 +1,1643 @@
1
2
3
4
5
6
7<!DOCTYPE html>
8<html
9 lang="en"
10
11 data-color-mode="auto" data-light-theme="light" data-dark-theme="dark"
12 data-a11y-animated-images="system" data-a11y-link-underlines="true"
13 >
14
15
16
17
18 <head>
19 <meta charset="utf-8">
20 <link rel="dns-prefetch" href="https://github.githubassets.com">
21 <link rel="dns-prefetch" href="https://avatars.githubusercontent.com">
22 <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com">
23 <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/">
24 <link rel="preconnect" href="https://github.githubassets.com" crossorigin>
25 <link rel="preconnect" href="https://avatars.githubusercontent.com">
26
27
28
29
30 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-f13f84a2af0d.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-1ee85695b584.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-8c42799cfb52.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-dc99d916bf90.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-0a83868d0e43.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-3c798f5a8bef.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-4c72a7f3b765.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-222bf22536c7.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-c1d9496197fa.css" />
31 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-0b5bee5c70e9.css" />
32 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-44fa1513ddd0.css" />
33 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-af1512ed1e5e.css" />
34 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-07f750db5d7c.css" />
35 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-fa69f138fe8d.css" />
36<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-111be5e4092d.css" />
37
38
39
40
41 <script type="application/json" id="client-env">{"locale":"en","featureFlags":["code_vulnerability_scanning","copilot_conversational_ux_history_refs","copilot_smell_icebreaker_ux","copilot_implicit_context","failbot_handle_non_errors","geojson_azure_maps","image_metric_tracking","marketing_forms_api_integration_contact_request","marketing_pages_search_explore_provider","turbo_experiment_risky","sample_network_conn_type","no_character_key_shortcuts_in_inputs","react_start_transition_for_navigations","custom_inp","remove_child_patch"]}</script>
42<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-4d74fddcfb77.js"></script>
43<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-6890e890956f.js"></script>
44<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-7bd350d761f4.js"></script>
45<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_smoothscroll-polyfill_dist_smoothscroll_js-node_modules_stacktrace-parse-a448e4-bb5415637fe0.js"></script>
46<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-d2c4d643d9fb.js"></script>
47<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-9f960d9b217c.js"></script>
48<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_focus-zone_js-086f7a27bac0.js"></script>
49<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-c76945c5961a.js"></script>
50<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_combobox-nav_dist_index_js-node_modules_github_markdown-toolbar-e-820fc0-bc8f02b96749.js"></script>
51<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-03fc21f4e80c.js"></script>
52<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-8a621df59e80.js"></script>
53<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_stacktrace-parser_dist_stack-443cd5-1ba4dbac454f.js"></script>
54<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b7d8f4-7dc906febe69.js"></script>
55<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-27181b-3509ed8075c4.js"></script>
56<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_onfocus_ts-ui_packages_trusted-types-policies_policy_ts-ui_packages-6fe316-30edc9da471c.js"></script>
57<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-34cbf079a4f4.js"></script>
58<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-8a1f7e4b0d25.js"></script>
59<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_catalyst_lib_index_js-node_modules_github_hydro-analytics-client_-4da1df-9de8d527f925.js"></script>
60<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-1acb1c-a745699a1cfa.js"></script>
61<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-5b376145beff.js"></script>
62<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_morphdom_dist_morphdom-esm_js-node_modules_github_memoize_dist_esm_index_js-05801f7ca718.js"></script>
63<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-c91f4ad18b62.js"></script>
64<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-a8ec7ed862cf.js"></script>
65<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_scroll-anchoring_dist_scroll-anchoring_esm_js-node_modules_github_detail-c9d0ba-387cde917623.js"></script>
66<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-72c9fbde5ad4.js"></script>
67<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_dimensions_js-node_modules_github_jtml_lib_index_js-95b84ee6bc34.js"></script>
68<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-84957b-7b4e472db160.js"></script>
69<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_alive_alive_ts-b956d50b9283.js"></script>
70<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_updatable-content_ts-ui_packages_hydro-analytics_hydro-analytics_ts-82813f-ebd80a289a23.js"></script>
71<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_onfocus_ts-app_ass-421cec-9de4213015af.js"></script>
72<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-94209c43e6af.js"></script>
73<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-2e2258-05fd80a7ea89.js"></script>
74<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-9285faa0e011.js"></script>
75<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-9f3d3577e544.js"></script>
76<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-06ff531-2ea61fcc9a71.js"></script>
77<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-6d6db5144cc3.js"></script>
78<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_repositories_get-repo-element_ts-d2345aaf09af.js"></script>
79<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-67595c3a6d0c.js"></script>
80
81 <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-1fbfc5be2c18.js"></script>
82<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_octicons-react_dist_index_esm_js-node_modules_primer_react_lib-es-541a38-6ce7d7c3f9ee.js"></script>
83<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Box_Box_js-8f8c5e2a2cbf.js"></script>
84<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_Button_js-95a7748e3c39.js"></script>
85<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_TooltipV2_Tooltip_js-70d5275ffcb7.js"></script>
86<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionList_index_js-b5c64c43d649.js"></script>
87<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Overlay_Overlay_js-node_modules_primer_react_lib-es-fa1130-829932cf63db.js"></script>
88<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Text_Text_js-node_modules_primer_react_lib-esm_Text-7845da-3aa4d914d36c.js"></script>
89<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_FormControl_FormControl_js-f17f2abffb7f.js"></script>
90<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ActionMenu_ActionMenu_js-eaf74522e470.js"></script>
91<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-router-dom_dist_index_js-3b41341d50fe.js"></script>
92<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Heading_Heading_js-node_modules_primer_react_lib-es-09461f-46d4f0de9a1d.js"></script>
93<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_ConfirmationDialog_ConfirmationDialog_js-8ab472e2f924.js"></script>
94<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Dialog_js-node_modules_primer_react_lib-esm_Spinner-12c50f-77391b895abb.js"></script>
95<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_TreeView_TreeView_js-4d087b8e0c8a.js"></script>
96<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_AvatarStack_AvatarStack_js-node_modules_primer_reac-36b6f3-1b3c8357c7d0.js"></script>
97<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_primer_react_lib-esm_Bre-b2e46d-c8ac19da4b57.js"></script>
98<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_react-core_create-browser-history_ts-ui_packages_safe-storage_safe-storage_ts-ui_-682c2c-bd8666de6779.js"></script>
99<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_react-core_register-app_ts-cf44949b1100.js"></script>
100<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-fd681d5019c9.js"></script>
101<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-dbbdef4348e2.js"></script>
102<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-c2bab3-0dc2488c22f3.js"></script>
103<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_react-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_ho-3e492a-81374112e700.js"></script>
104<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-app_assets_modules_github_filter-sort_ts-app_assets_-e50ab6-fd8396d2490b.js"></script>
105<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-bbada6b5ad0e.js"></script>
106
107
108 <title>sys/hm/discord/krisp-patcher.py at main · sersorrel/sys · GitHub</title>
109
110
111
112 <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
113 <meta name="route-controller" content="blob" data-turbo-transient>
114 <meta name="route-action" content="show" data-turbo-transient>
115
116
117 <meta name="current-catalog-service-hash" content="82c569b93da5c18ed649ebd4c2c79437db4611a6a1373e805a3cb001c64130b7">
118
119
120 <meta name="request-id" content="C7C6:1AE6E8:406936A:41638AD:661E1BD5" data-pjax-transient="true"/><meta name="html-safe-nonce" content="b7b6827f2468b63a8fdf35ab08833ba4e217a7309d8521a73622faa027853dd7" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDN0M2OjFBRTZFODo0MDY5MzZBOjQxNjM4QUQ6NjYxRTFCRDUiLCJ2aXNpdG9yX2lkIjoiODM0MDUxNDI3NjQ4NzYwMTEwOSIsInJlZ2lvbl9lZGdlIjoic2VhIiwicmVnaW9uX3JlbmRlciI6InNlYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="dc9fc5a74f53a1a7e23fb7fb134b83a49bcb5f64f2929130fe457a767cc52474" data-pjax-transient="true"/>
121
122
123 <meta name="hovercard-subject-tag" content="repository:579696260" data-turbo-transient>
124
125
126 <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" />
127
128
129 <meta name="selected-link" value="repo_source" data-turbo-transient>
130 <link rel="assets" href="https://github.githubassets.com/">
131
132 <meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY">
133 <meta name="google-site-verification" content="KT5gs8h0wvaagLKAVWq8bbeNwnZZK1r1XQysX3xurLU">
134 <meta name="google-site-verification" content="ZzhVyEFwb7w3e0-uOTltm8Jsck2F5StVihD0exw2fsA">
135 <meta name="google-site-verification" content="GXs5KoUUkNCoaAZn7wPN-t01Pywp9M3sEjnt_3_ZWPc">
136 <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I">
137
138<meta name="octolytics-url" content="https://collector.github.com/github/collect" />
139
140 <meta name="analytics-location" content="/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show" data-turbo-transient="true" />
141
142
143
144
145
146
147
148 <meta name="user-login" content="">
149
150
151
152 <meta name="viewport" content="width=device-width">
153
154 <meta name="description" content="dependency flake for my system configurations. Contribute to sersorrel/sys development by creating an account on GitHub.">
155 <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
156 <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub">
157 <meta property="fb:app_id" content="1401488693436528">
158 <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py" />
159 <meta name="twitter:image:src" content="https://opengraph.githubassets.com/a3ffc550c1bb330a8e0761e0c85bc21508d6152339cb9770d58d56eaf1432914/sersorrel/sys" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="sys/hm/discord/krisp-patcher.py at main · sersorrel/sys" /><meta name="twitter:description" content="dependency flake for my system configurations. Contribute to sersorrel/sys development by creating an account on GitHub." />
160 <meta property="og:image" content="https://opengraph.githubassets.com/a3ffc550c1bb330a8e0761e0c85bc21508d6152339cb9770d58d56eaf1432914/sersorrel/sys" /><meta property="og:image:alt" content="dependency flake for my system configurations. Contribute to sersorrel/sys development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="sys/hm/discord/krisp-patcher.py at main · sersorrel/sys" /><meta property="og:url" content="https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py" /><meta property="og:description" content="dependency flake for my system configurations. Contribute to sersorrel/sys development by creating an account on GitHub." />
161
162
163
164
165 <meta name="hostname" content="github.com">
166
167
168
169 <meta name="expected-hostname" content="github.com">
170
171
172 <meta http-equiv="x-pjax-version" content="091f4321327c1a987875199d0b390342bc072343067199c50305ab7b088600e5" data-turbo-track="reload">
173 <meta http-equiv="x-pjax-csp-version" content="f226bf37af9c33162063db3eb018fed7f088f86d0a20ca54c013fda96c7f2e05" data-turbo-track="reload">
174 <meta http-equiv="x-pjax-css-version" content="0d5a428483c0dafc37bb01ea323958d4eb303edc80d307a3e4898c6e22d6c12f" data-turbo-track="reload">
175 <meta http-equiv="x-pjax-js-version" content="de99bf0f0e943c061fef3036d3c7bc66abc4fd2189401eb703816c9205a15df6" data-turbo-track="reload">
176
177 <meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">
178
179 <meta name="turbo-cache-control" content="no-cache" data-turbo-transient>
180 <meta data-hydrostats="publish">
181 <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.959fb0b61e6a1de773e7.module.css" />
182
183 <meta name="go-import" content="github.com/sersorrel/sys git https://github.com/sersorrel/sys.git">
184
185 <meta name="octolytics-dimension-user_id" content="9433472" /><meta name="octolytics-dimension-user_login" content="sersorrel" /><meta name="octolytics-dimension-repository_id" content="579696260" /><meta name="octolytics-dimension-repository_nwo" content="sersorrel/sys" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="579696260" /><meta name="octolytics-dimension-repository_network_root_nwo" content="sersorrel/sys" />
186
187
188
189 <meta name="turbo-body-classes" content="logged-out env-production page-responsive">
190
191
192 <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats">
193
194 <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
195
196 <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
197 <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png">
198 <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg">
199
200<meta name="theme-color" content="#1e2327">
201<meta name="color-scheme" content="light dark" />
202
203
204 <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
205
206 </head>
207
208 <body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
209 <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;">
210
211
212
213 <div class="position-relative js-header-wrapper ">
214 <a href="#start-of-content" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a>
215 <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full">
216 <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
217</span>
218
219
220
221
222
223
224
225
226
227<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_react_lib-esm_Button_IconButton_js-node_modules_primer_react_lib--b964b4-807461b78d22.js"></script>
228
229<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-6078ecaa70b7.js"></script>
230
231<react-partial
232 partial-name="keyboard-shortcuts-dialog"
233 data-ssr="false"
234>
235
236 <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
237 <div data-target="react-partial.reactRoot"></div>
238</react-partial>
239
240
241
242
243
244
245
246
247<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-9f3636b94e7e.js"></script>
248<script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-79965e14c681.js"></script>
249<header class="Header-old header-logged-out js-details-container Details position-relative f4 py-3" role="banner" data-color-mode=light data-light-theme=light data-dark-theme=dark>
250 <button type="button" class="Header-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation">
251 <span class="d-none">Toggle navigation</span>
252 </button>
253
254 <div class=" d-flex flex-column flex-lg-row flex-items-center p-responsive height-full position-relative z-1">
255 <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto">
256 <a class="mr-lg-3 color-fg-inherit flex-order-2" href="https://github.com/" aria-label="Homepage" data-ga-click="(Logged out) Header, go to homepage, icon:logo-wordmark">
257 <svg height="32" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github">
258 <path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
259</svg>
260 </a>
261
262 <div class="flex-1">
263 <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fsersorrel%2Fsys%2Fblob%2Fmain%2Fhm%2Fdiscord%2Fkrisp-patcher.py"
264 class="d-inline-block d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit"
265 data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8b6f9034b1e1679e7f8d74258d88d5e5b7a3e8e2c88d56820d6541831aa2e13c"
266 data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
267 Sign in
268 </a>
269 </div>
270
271 <div class="flex-1 flex-order-2 text-right">
272 <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content">
273 <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div>
274 <div class="HeaderMenu-toggle-bar rounded my-1"></div>
275 <div class="HeaderMenu-toggle-bar rounded my-1"></div></span>
276 </span>
277</button>
278 </div>
279 </div>
280
281
282 <div class="HeaderMenu--logged-out p-responsive height-fit position-lg-relative d-lg-flex flex-column flex-auto pt-7 pb-4 top-0">
283 <div class="header-menu-wrapper d-flex flex-column flex-self-end flex-lg-row flex-justify-between flex-auto p-3 p-lg-0 rounded rounded-lg-0 mt-3 mt-lg-0">
284 <nav class="mt-0 px-3 px-lg-0 mb-3 mb-lg-0" aria-label="Global">
285 <ul class="d-lg-flex list-style-none">
286 <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
287 <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
288 Product
289 <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
290 <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
291</svg>
292 </button>
293 <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex dropdown-menu-wide">
294 <div class="px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7">
295 <ul class="list-style-none f5" >
296 <li>
297 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Actions&quot;,&quot;label&quot;:&quot;ref_cta:Actions;&quot;}" href="/features/actions">
298 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3">
299 <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path>
300</svg>
301 <div>
302 <div class="color-fg-default h4">Actions</div>
303 Automate any workflow
304 </div>
305
306
307</a></li>
308
309 <li>
310 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Packages&quot;,&quot;label&quot;:&quot;ref_cta:Packages;&quot;}" href="/features/packages">
311 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-package color-fg-subtle mr-3">
312 <path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"></path>
313</svg>
314 <div>
315 <div class="color-fg-default h4">Packages</div>
316 Host and manage packages
317 </div>
318
319
320</a></li>
321
322 <li>
323 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Security&quot;,&quot;label&quot;:&quot;ref_cta:Security;&quot;}" href="/features/security">
324 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3">
325 <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path>
326</svg>
327 <div>
328 <div class="color-fg-default h4">Security</div>
329 Find and fix vulnerabilities
330 </div>
331
332
333</a></li>
334
335 <li>
336 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Codespaces&quot;,&quot;label&quot;:&quot;ref_cta:Codespaces;&quot;}" href="/features/codespaces">
337 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3">
338 <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
339</svg>
340 <div>
341 <div class="color-fg-default h4">Codespaces</div>
342 Instant dev environments
343 </div>
344
345
346</a></li>
347
348 <li>
349 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Copilot&quot;,&quot;label&quot;:&quot;ref_cta:Copilot;&quot;}" href="/features/copilot">
350 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3">
351 <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path>
352</svg>
353 <div>
354 <div class="color-fg-default h4">Copilot</div>
355 Write better code with AI
356 </div>
357
358
359</a></li>
360
361 <li>
362 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Code review&quot;,&quot;label&quot;:&quot;ref_cta:Code review;&quot;}" href="/features/code-review">
363 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3">
364 <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path>
365</svg>
366 <div>
367 <div class="color-fg-default h4">Code review</div>
368 Manage code changes
369 </div>
370
371
372</a></li>
373
374 <li>
375 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center pb-lg-3" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Issues&quot;,&quot;label&quot;:&quot;ref_cta:Issues;&quot;}" href="/features/issues">
376 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3">
377 <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path>
378</svg>
379 <div>
380 <div class="color-fg-default h4">Issues</div>
381 Plan and track work
382 </div>
383
384
385</a></li>
386
387 <li>
388 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Discussions&quot;,&quot;label&quot;:&quot;ref_cta:Discussions;&quot;}" href="/features/discussions">
389 <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3">
390 <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path>
391</svg>
392 <div>
393 <div class="color-fg-default h4">Discussions</div>
394 Collaborate outside of code
395 </div>
396
397
398</a></li>
399
400 </ul>
401 </div>
402 <div class="px-lg-4">
403 <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span>
404 <ul class="list-style-none f5" aria-labelledby="product-explore-heading">
405 <li>
406 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to All features&quot;,&quot;label&quot;:&quot;ref_cta:All features;&quot;}" href="/features">
407 All features
408
409
410</a></li>
411
412 <li>
413 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Documentation&quot;,&quot;label&quot;:&quot;ref_cta:Documentation;&quot;}" href="https://docs.github.com">
414 Documentation
415
416 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
417 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
418</svg>
419</a></li>
420
421 <li>
422 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to GitHub Skills&quot;,&quot;label&quot;:&quot;ref_cta:GitHub Skills;&quot;}" href="https://skills.github.com/">
423 GitHub Skills
424
425 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
426 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
427</svg>
428</a></li>
429
430 <li>
431 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Product&quot;,&quot;action&quot;:&quot;click to go to Blog&quot;,&quot;label&quot;:&quot;ref_cta:Blog;&quot;}" href="https://github.blog">
432 Blog
433
434 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
435 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
436</svg>
437</a></li>
438
439 </ul>
440 </div>
441 </div>
442</li>
443
444
445 <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
446 <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
447 Solutions
448 <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
449 <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
450</svg>
451 </button>
452 <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4">
453 <div class="border-bottom pb-3 mb-3">
454 <span class="d-block h4 color-fg-default my-1" id="solutions-for-heading">For</span>
455 <ul class="list-style-none f5" aria-labelledby="solutions-for-heading">
456 <li>
457 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Enterprise&quot;,&quot;label&quot;:&quot;ref_cta:Enterprise;&quot;}" href="/enterprise">
458 Enterprise
459
460
461</a></li>
462
463 <li>
464 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Teams&quot;,&quot;label&quot;:&quot;ref_cta:Teams;&quot;}" href="/team">
465 Teams
466
467
468</a></li>
469
470 <li>
471 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Startups&quot;,&quot;label&quot;:&quot;ref_cta:Startups;&quot;}" href="/enterprise/startups">
472 Startups
473
474
475</a></li>
476
477 <li>
478 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Education&quot;,&quot;label&quot;:&quot;ref_cta:Education;&quot;}" href="https://education.github.com">
479 Education
480
481 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
482 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
483</svg>
484</a></li>
485
486 </ul>
487 </div>
488 <div class="border-bottom pb-3 mb-3">
489 <span class="d-block h4 color-fg-default my-1" id="solutions-by-solution-heading">By Solution</span>
490 <ul class="list-style-none f5" aria-labelledby="solutions-by-solution-heading">
491 <li>
492 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to CI/CD &amp;amp; Automation&quot;,&quot;label&quot;:&quot;ref_cta:CI/CD &amp;amp; Automation;&quot;}" href="/solutions/ci-cd/">
493 CI/CD &amp; Automation
494
495
496</a></li>
497
498 <li>
499 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to DevOps&quot;,&quot;label&quot;:&quot;ref_cta:DevOps;&quot;}" href="/solutions/devops/">
500 DevOps
501
502
503</a></li>
504
505 <li>
506 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to DevSecOps&quot;,&quot;label&quot;:&quot;ref_cta:DevSecOps;&quot;}" href="https://resources.github.com/devops/fundamentals/devsecops/">
507 DevSecOps
508
509 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
510 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
511</svg>
512</a></li>
513
514 </ul>
515 </div>
516 <div class="">
517 <span class="d-block h4 color-fg-default my-1" id="solutions-resources-heading">Resources</span>
518 <ul class="list-style-none f5" aria-labelledby="solutions-resources-heading">
519 <li>
520 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Learning Pathways&quot;,&quot;label&quot;:&quot;ref_cta:Learning Pathways;&quot;}" href="https://resources.github.com/learn/pathways/">
521 Learning Pathways
522
523 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
524 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
525</svg>
526</a></li>
527
528 <li>
529 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to White papers, Ebooks, Webinars&quot;,&quot;label&quot;:&quot;ref_cta:White papers, Ebooks, Webinars;&quot;}" href="https://resources.github.com/">
530 White papers, Ebooks, Webinars
531
532 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
533 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
534</svg>
535</a></li>
536
537 <li>
538 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Customer Stories&quot;,&quot;label&quot;:&quot;ref_cta:Customer Stories;&quot;}" href="/customer-stories">
539 Customer Stories
540
541
542</a></li>
543
544 <li>
545 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" target="_blank" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Solutions&quot;,&quot;action&quot;:&quot;click to go to Partners&quot;,&quot;label&quot;:&quot;ref_cta:Partners;&quot;}" href="https://partner.github.com/">
546 Partners
547
548 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle">
549 <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path>
550</svg>
551</a></li>
552
553 </ul>
554 </div>
555 </div>
556</li>
557
558
559 <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
560 <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-3 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false">
561 Open Source
562 <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1">
563 <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path>
564</svg>
565 </button>
566 <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 py-2 py-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 px-lg-4">
567 <div class="border-bottom pb-3 mb-3">
568 <ul class="list-style-none f5" >
569 <li>
570 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to GitHub Sponsors&quot;,&quot;label&quot;:&quot;ref_cta:GitHub Sponsors;&quot;}" href="/sponsors">
571
572 <div>
573 <div class="color-fg-default h4">GitHub Sponsors</div>
574 Fund open source developers
575 </div>
576
577
578</a></li>
579
580 </ul>
581 </div>
582 <div class="border-bottom pb-3 mb-3">
583 <ul class="list-style-none f5" >
584 <li>
585 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to The ReadME Project&quot;,&quot;label&quot;:&quot;ref_cta:The ReadME Project;&quot;}" href="/readme">
586
587 <div>
588 <div class="color-fg-default h4">The ReadME Project</div>
589 GitHub community articles
590 </div>
591
592
593</a></li>
594
595 </ul>
596 </div>
597 <div class="">
598 <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span>
599 <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading">
600 <li>
601 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Topics&quot;,&quot;label&quot;:&quot;ref_cta:Topics;&quot;}" href="/topics">
602 Topics
603
604
605</a></li>
606
607 <li>
608 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Trending&quot;,&quot;label&quot;:&quot;ref_cta:Trending;&quot;}" href="/trending">
609 Trending
610
611
612</a></li>
613
614 <li>
615 <a class="HeaderMenu-dropdown-link lh-condensed d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{&quot;category&quot;:&quot;Header dropdown (logged out), Open Source&quot;,&quot;action&quot;:&quot;click to go to Collections&quot;,&quot;label&quot;:&quot;ref_cta:Collections;&quot;}" href="/collections">
616 Collections
617
618
619</a></li>
620
621 </ul>
622 </div>
623 </div>
624</li>
625
626
627 <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item">
628 <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{&quot;category&quot;:&quot;Header menu top item (logged out)&quot;,&quot;action&quot;:&quot;click to go to Pricing&quot;,&quot;label&quot;:&quot;ref_cta:Pricing;&quot;}" href="/pricing">Pricing</a>
629</li>
630
631 </ul>
632 </nav>
633
634 <div class="d-lg-flex flex-items-center mb-3 mb-lg-0 text-center text-lg-left ml-3" style="">
635
636
637
638<qbsearch-input class="search-input" data-scope="repo:sersorrel/sys" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="Z8bwdFpd4b4ta7biENEDPt1ukD6VCcIWgn488-J3HXcb_1mftQvi2zTqBBofYJ-f1NaCKsvUc1ouIUX3AAzQIA" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="sersorrel/sys" data-current-org="" data-current-owner="sersorrel" data-logged-in="false" data-copilot-chat-enabled="false" data-blackbird-indexed-repo-csrf="<esi:include src=&quot;/_esi/rails_csrf_token_form_hidden?r=d6q0xKX7KLYZuuu%2BtxdDS%2Bi4x1ZjtISZG%2BVZF5xsZLaquZOIJMV7BITT1nKol6IGJPqbYIMYJVQ%2FS2r%2BIieqeeoZqheDwx8vBByE1ZfZw7TYDTLGxcbsP%2BlcRhXpr%2BaQZwB6DFifiOQ8g6eOHgnrvXE5qBSzASoP%2BApQGBVHKLu8A%2BmCm6%2BT2X5U8f4Yv8BoQSINhMKCLoaSoCJtVrJutFrdwgv47MAMPVwYO4XZZXXVxB3hPRJ6T%2BE6VywGWIQ15pEJni2ADYp8bq2aI2UOk6UwQPDRAXYAhkXw9dJTCF87qrj6OUOvTU6%2BSblRtIa1H8WtKAGAd7NnQJnP2z21OvzsUo%2FzFQBfp00khKtcTHRGy%2B3nI%2F%2BgjEYYschK%2BqMRfla5OpHMFcC28moCtSf1GZY%2BOAoEpK5Sjwcx7wob3EJyglfgbCqEvEiwXoUKiaZ7Ou1DInEamaP46rCL0RRZAbc%2FvN%2FFJDWFFDOQbwchoh1Z5jG8G5qztS9W0%2FbGmjmZCm%2FxE2VYXaBRQ4ns67dG%2Bj5guGX8TsbEWrI6JpTBjmSiSCMxgkxXIO849yBu8GW9aal1TTxszOPtKA%3D%3D--1zGgByP%2FmX4Ey5Ka--CqFLMcZ6ZhBNgCrPqp4Llg%3D%3D&quot; />">
639 <div
640 class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded"
641 data-action="click:qbsearch-input#searchInputContainerClicked"
642 >
643 <button
644 type="button"
645 class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none"
646 data-target="qbsearch-input.inputButton"
647 placeholder="Search or jump to..."
648 data-hotkey=s,/
649 autocapitalize="off"
650 data-action="click:qbsearch-input#handleExpand"
651 >
652 <div class="mr-2 color-fg-muted">
653 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
654 <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
655</svg>
656 </div>
657 <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span>
658 <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator">
659 <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg>
660
661 </div>
662 </button>
663
664 <input type="hidden" name="type" class="js-site-search-type-field">
665
666
667<div class="Overlay--hidden " data-modal-dialog-overlay>
668 <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto">
669 <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1>
670 <div class="Overlay-body Overlay-body--paddingNone">
671
672 <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container"
673 style="border-radius: 12px;"
674 data-target="qbsearch-input.queryBuilderContainer"
675 hidden
676 >
677 <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get">
678 <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder">
679 <div class="FormControl FormControl--fullWidth">
680 <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only">
681 Search
682 </label>
683 <div
684 class="QueryBuilder-StyledInput width-fit "
685 data-target="query-builder.styledInput"
686 >
687 <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap">
688 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual">
689 <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
690</svg>
691 </span>
692 <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer">
693 <div
694 aria-hidden="true"
695 class="QueryBuilder-StyledInputContent"
696 data-target="query-builder.styledInputContent"
697 ></div>
698 <div class="QueryBuilder-InputWrapper">
699 <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div>
700 <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-bc58eeb3-e462-4c5c-8cb2-ca6bbaa7b31e" data-target="query-builder.input" data-action="
701 input:query-builder#inputChange
702 blur:query-builder#inputBlur
703 keydown:query-builder#inputKeydown
704 focus:query-builder#inputFocus
705 " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" />
706 </div>
707 </div>
708 <span class="sr-only" id="query-builder-test-clear">Clear</span>
709 <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action="
710 click:query-builder#clear
711 focus:query-builder#clearButtonFocus
712 blur:query-builder#clearButtonBlur
713 " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual">
714 <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path>
715</svg>
716</button>
717
718 </div>
719 <template id="search-icon">
720 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search">
721 <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path>
722</svg>
723</template>
724
725<template id="code-icon">
726 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
727 <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
728</svg>
729</template>
730
731<template id="file-code-icon">
732 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code">
733 <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path>
734</svg>
735</template>
736
737<template id="history-icon">
738 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history">
739 <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path>
740</svg>
741</template>
742
743<template id="repo-icon">
744 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo">
745 <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
746</svg>
747</template>
748
749<template id="bookmark-icon">
750 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark">
751 <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path>
752</svg>
753</template>
754
755<template id="plus-circle-icon">
756 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle">
757 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path>
758</svg>
759</template>
760
761<template id="circle-icon">
762 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill">
763 <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path>
764</svg>
765</template>
766
767<template id="trash-icon">
768 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash">
769 <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path>
770</svg>
771</template>
772
773<template id="team-icon">
774 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people">
775 <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path>
776</svg>
777</template>
778
779<template id="project-icon">
780 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project">
781 <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path>
782</svg>
783</template>
784
785<template id="pencil-icon">
786 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil">
787 <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path>
788</svg>
789</template>
790
791<template id="copilot-icon">
792 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot">
793 <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path>
794</svg>
795</template>
796
797<template id="workflow-icon">
798 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow">
799 <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path>
800</svg>
801</template>
802
803<template id="book-icon">
804 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book">
805 <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path>
806</svg>
807</template>
808
809<template id="code-review-icon">
810 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review">
811 <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path>
812</svg>
813</template>
814
815<template id="codespaces-icon">
816 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces">
817 <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path>
818</svg>
819</template>
820
821<template id="comment-icon">
822 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment">
823 <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
824</svg>
825</template>
826
827<template id="comment-discussion-icon">
828 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion">
829 <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path>
830</svg>
831</template>
832
833<template id="organization-icon">
834 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization">
835 <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
836</svg>
837</template>
838
839<template id="rocket-icon">
840 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket">
841 <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
842</svg>
843</template>
844
845<template id="shield-check-icon">
846 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check">
847 <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
848</svg>
849</template>
850
851<template id="heart-icon">
852 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart">
853 <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path>
854</svg>
855</template>
856
857<template id="server-icon">
858 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server">
859 <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path>
860</svg>
861</template>
862
863<template id="globe-icon">
864 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe">
865 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path>
866</svg>
867</template>
868
869<template id="issue-opened-icon">
870 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
871 <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
872</svg>
873</template>
874
875<template id="device-mobile-icon">
876 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile">
877 <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path>
878</svg>
879</template>
880
881<template id="package-icon">
882 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package">
883 <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path>
884</svg>
885</template>
886
887<template id="credit-card-icon">
888 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card">
889 <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path>
890</svg>
891</template>
892
893<template id="play-icon">
894 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
895 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
896</svg>
897</template>
898
899<template id="gift-icon">
900 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift">
901 <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path>
902</svg>
903</template>
904
905<template id="code-square-icon">
906 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square">
907 <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
908</svg>
909</template>
910
911<template id="device-desktop-icon">
912 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop">
913 <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path>
914</svg>
915</template>
916
917 <div class="position-relative">
918 <ul
919 role="listbox"
920 class="ActionListWrap QueryBuilder-ListWrap"
921 aria-label="Suggestions"
922 data-action="
923 combobox-commit:query-builder#comboboxCommit
924 mousedown:query-builder#resultsMousedown
925 "
926 data-target="query-builder.resultsList"
927 data-persist-list=false
928 id="query-builder-test-results"
929 ></ul>
930 </div>
931 <div class="FormControl-inlineValidation" id="validation-bc58eeb3-e462-4c5c-8cb2-ca6bbaa7b31e" hidden="hidden">
932 <span class="FormControl-inlineValidation--visual">
933 <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
934 <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
935</svg>
936 </span>
937 <span></span>
938</div> </div>
939 <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div>
940</query-builder></form>
941 <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt">
942 <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">
943 Search syntax tips
944</a> <div class="d-flex flex-1"></div>
945 </div>
946 </div>
947</div>
948
949 </div>
950</modal-dialog></div>
951 </div>
952 <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div>
953 <div class="color-fg-default">
954
955<dialog-helper>
956 <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade">
957 <div data-view-component="true" class="Overlay-header">
958 <div class="Overlay-headerContentWrap">
959 <div class="Overlay-titleWrap">
960 <h1 class="Overlay-title " id="feedback-dialog-title">
961 Provide feedback
962 </h1>
963 </div>
964 <div class="Overlay-actionWrap">
965 <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
966 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
967</svg></button>
968 </div>
969 </div>
970</div>
971 <scrollable-region data-labelled-by="feedback-dialog-title">
972 <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="t44r2y2tR8qkO9f5EZJmavyWl6BjPjyv7HmaAM5IZxY2AtgxrPFnAARqEa+Qk9RtKjyHMp9Fp5/puC/V7HTCtA==" />
973 <p>We read every piece of feedback, and take your input very seriously.</p>
974 <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea>
975 <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox">
976 <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label>
977</form></div>
978 </scrollable-region>
979 <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel
980</button>
981 <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback
982</button>
983</div>
984</dialog></dialog-helper>
985
986 <custom-scopes data-target="qbsearch-input.customScopesManager">
987
988<dialog-helper>
989 <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade">
990 <div data-view-component="true" class="Overlay-header Overlay-header--divided">
991 <div class="Overlay-headerContentWrap">
992 <div class="Overlay-titleWrap">
993 <h1 class="Overlay-title " id="custom-scopes-dialog-title">
994 Saved searches
995 </h1>
996 <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2>
997 </div>
998 <div class="Overlay-actionWrap">
999 <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
1000 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1001</svg></button>
1002 </div>
1003 </div>
1004</div>
1005 <scrollable-region data-labelled-by="custom-scopes-dialog-title">
1006 <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
1007
1008 <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
1009 <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="XgrPIMPoGXx1oBdoce2uN/V5QYwWmYIn0OlEK8Zp2K93buwk1N8qgzlWq2cuiixjQidBJI80STvSOJK3TCkWkA==" />
1010 <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
1011
1012 <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
1013
1014 <div class="form-group">
1015 <label for="custom_scope_name">Name</label>
1016 <auto-check src="/search/custom_scopes/check_name" required>
1017 <input
1018 type="text"
1019 name="custom_scope_name"
1020 id="custom_scope_name"
1021 data-target="custom-scopes.customScopesNameField"
1022 class="form-control"
1023 autocomplete="off"
1024 placeholder="github-ruby"
1025 required
1026 maxlength="50">
1027 <input type="hidden" data-csrf="true" value="rFgXVSGEr7uK05/FBBqkYmOgBVIcXBd97Ipsvr+NWVEMFyTODFLVYxKCqgz5gdMwn4iGzTX8XU7RkfuW6PYBBg==" />
1028 </auto-check>
1029 </div>
1030
1031 <div class="form-group">
1032 <label for="custom_scope_query">Query</label>
1033 <input
1034 type="text"
1035 name="custom_scope_query"
1036 id="custom_scope_query"
1037 data-target="custom-scopes.customScopesQueryField"
1038 class="form-control"
1039 autocomplete="off"
1040 placeholder="(repo:mona/a OR repo:mona/b) AND lang:python"
1041 required
1042 maxlength="500">
1043 </div>
1044
1045 <p class="text-small color-fg-muted">
1046 To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>.
1047 </p>
1048</form> </div>
1049
1050 <div data-target="custom-scopes.manageCustomScopesForm">
1051 <div data-target="custom-scopes.list"></div>
1052 </div>
1053
1054</div>
1055 </scrollable-region>
1056 <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel
1057</button>
1058 <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search
1059</button>
1060</div>
1061</dialog></dialog-helper>
1062 </custom-scopes>
1063 </div>
1064</qbsearch-input><input type="hidden" data-csrf="true" class="js-data-jump-to-suggestions-path-csrf" value="YSoAbie0JrQHHHkRv1bRBjr2xSh19okHmWAb2WGU/TKyXeFuinIGaYtFBb7nKK7J+/6Kg1ygNEPaG51rt17c2g==" />
1065
1066
1067 <div class="position-relative mr-lg-3 d-lg-inline-block">
1068 <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Fsersorrel%2Fsys%2Fblob%2Fmain%2Fhm%2Fdiscord%2Fkrisp-patcher.py"
1069 class="HeaderMenu-link HeaderMenu-link--sign-in flex-shrink-0 no-underline d-block d-lg-inline-block border border-lg-0 rounded rounded-lg-0 p-2 p-lg-0"
1070 data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8b6f9034b1e1679e7f8d74258d88d5e5b7a3e8e2c88d56820d6541831aa2e13c"
1071 data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">
1072 Sign in
1073 </a>
1074 </div>
1075
1076 <a href="/signup?ref_cta=Sign+up&amp;ref_loc=header+logged+out&amp;ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&amp;source=header-repo&amp;source_repo=sersorrel%2Fsys"
1077 class="HeaderMenu-link HeaderMenu-link--sign-up flex-shrink-0 d-none d-lg-inline-block no-underline border color-border-default rounded px-2 py-1"
1078 data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;site header menu&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;SIGN_UP&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="8b6f9034b1e1679e7f8d74258d88d5e5b7a3e8e2c88d56820d6541831aa2e13c"
1079 data-analytics-event="{&quot;category&quot;:&quot;Sign up&quot;,&quot;action&quot;:&quot;click to sign up for account&quot;,&quot;label&quot;:&quot;ref_page:/&lt;user-name&gt;/&lt;repo-name&gt;/blob/show;ref_cta:Sign up;ref_loc:header logged out&quot;}"
1080 >
1081 Sign up
1082 </a>
1083 </div>
1084 </div>
1085 </div>
1086 </div>
1087</header>
1088
1089 <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full mb-3">
1090
1091 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
1092 <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
1093</svg>
1094 <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
1095 <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
1096 <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
1097
1098 <button id="icon-button-359469fd-68a1-4b8a-93dc-f2146a279da9" aria-labelledby="tooltip-8f73f0cb-ad68-4f37-b25b-b6e80b05c230" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
1099 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1100</svg>
1101</button><tool-tip id="tooltip-8f73f0cb-ad68-4f37-b25b-b6e80b05c230" for="icon-button-359469fd-68a1-4b8a-93dc-f2146a279da9" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>
1102
1103
1104
1105</div>
1106 </div>
1107
1108 <div id="start-of-content" class="show-on-focus"></div>
1109
1110
1111
1112
1113
1114
1115
1116
1117 <div id="js-flash-container" data-turbo-replace>
1118
1119
1120
1121
1122
1123 <template class="js-flash-template">
1124
1125<div class="flash flash-full {{ className }}">
1126 <div >
1127 <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message">
1128 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
1129 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1130</svg>
1131 </button>
1132 <div aria-atomic="true" role="alert" class="js-flash-alert">
1133
1134 <div>{{ message }}</div>
1135
1136 </div>
1137 </div>
1138</div>
1139 </template>
1140</div>
1141
1142
1143
1144 <include-fragment class="js-notification-shelf-include-fragment" data-base-src="https://github.com/notifications/beta/shelf"></include-fragment>
1145
1146
1147
1148
1149
1150 <div
1151 class="application-main "
1152 data-commit-hovercards-enabled
1153 data-discussion-hovercards-enabled
1154 data-issue-and-pr-hovercards-enabled
1155 >
1156 <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class="">
1157 <main id="js-repo-pjax-container" >
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167 <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace>
1168
1169 <div class="d-flex flex-wrap flex-justify-end mb-3 px-3 px-md-4 px-lg-5" style="gap: 1rem;">
1170
1171 <div class="flex-auto min-width-0 width-fit mr-3">
1172
1173 <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
1174 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2">
1175 <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path>
1176</svg>
1177
1178 <span class="author flex-self-stretch" itemprop="author">
1179 <a class="url fn" rel="author" data-hovercard-type="user" data-hovercard-url="/users/sersorrel/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/sersorrel">
1180 sersorrel
1181</a> </span>
1182 <span class="mx-1 flex-self-stretch color-fg-muted">/</span>
1183 <strong itemprop="name" class="mr-2 flex-self-stretch">
1184 <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/sersorrel/sys">sys</a>
1185 </strong>
1186
1187 <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span>
1188 </div>
1189
1190
1191 </div>
1192
1193 <div id="repository-details-container" data-turbo-replace>
1194 <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;">
1195
1196 <li>
1197 <include-fragment src="/sersorrel/sys/sponsor_button"></include-fragment>
1198 </li>
1199
1200
1201
1202 <li>
1203 <a href="/login?return_to=%2Fsersorrel%2Fsys" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;notification subscription menu watch&quot;,&quot;repository_id&quot;:null,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="fdef7ccaeb1f31f7345e6d83457addd6fedbe4774ef52d6e0943e9664c545632" aria-label="You must be signed in to change notification settings" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2">
1204 <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path>
1205</svg>Notifications
1206</a>
1207 </li>
1208
1209 <li>
1210 <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Fsersorrel%2Fsys" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;repo details fork button&quot;,&quot;repository_id&quot;:579696260,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="bb612562ca076d50ccdb6862f78b2a6f56ea556e0e8b94a8519da7e258187bae" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2">
1211 <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path>
1212</svg>Fork
1213 <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="0" data-view-component="true" class="Counter">0</span>
1214</a>
1215 </li>
1216
1217 <li>
1218 <div data-view-component="true" class="BtnGroup d-flex">
1219 <a href="/login?return_to=%2Fsersorrel%2Fsys" rel="nofollow" data-hydro-click="{&quot;event_type&quot;:&quot;authentication.click&quot;,&quot;payload&quot;:{&quot;location_in_page&quot;:&quot;star button&quot;,&quot;repository_id&quot;:579696260,&quot;auth_type&quot;:&quot;LOG_IN&quot;,&quot;originating_url&quot;:&quot;https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py&quot;,&quot;user_id&quot;:null}}" data-hydro-click-hmac="9580b7fd1432cc65c292878cce56ea108d9efa20667d255ad6716f66ac5f18cb" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-s btn-sm btn BtnGroup-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2">
1220 <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path>
1221</svg><span data-view-component="true" class="d-inline">
1222 Star
1223</span> <span id="repo-stars-counter-star" aria-label="2 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="2" data-view-component="true" class="Counter js-social-count">2</span>
1224</a> <button aria-label="You must be signed in to add this repository to a list" type="button" disabled="disabled" data-view-component="true" class="btn-sm btn BtnGroup-item px-2"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-triangle-down">
1225 <path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path>
1226</svg>
1227</button></div>
1228 </li>
1229
1230 <li>
1231
1232
1233 </li>
1234</ul>
1235
1236 </div>
1237 </div>
1238
1239 <div id="responsive-meta-container" data-turbo-replace>
1240</div>
1241
1242
1243 <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5">
1244
1245 <ul data-view-component="true" class="UnderlineNav-body list-style-none">
1246 <li data-view-component="true" class="d-inline-flex">
1247 <a id="code-tab" href="/sersorrel/sys" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /sersorrel/sys" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Code&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected">
1248
1249 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline">
1250 <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
1251</svg>
1252 <span data-content="Code">Code</span>
1253 <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
1254
1255
1256
1257</a></li>
1258 <li data-view-component="true" class="d-inline-flex">
1259 <a id="issues-tab" href="/sersorrel/sys/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /sersorrel/sys/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Issues&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1260
1261 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline">
1262 <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
1263</svg>
1264 <span data-content="Issues">Issues</span>
1265 <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
1266
1267
1268
1269</a></li>
1270 <li data-view-component="true" class="d-inline-flex">
1271 <a id="pull-requests-tab" href="/sersorrel/sys/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /sersorrel/sys/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Pull requests&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1272
1273 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline">
1274 <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
1275</svg>
1276 <span data-content="Pull requests">Pull requests</span>
1277 <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
1278
1279
1280
1281</a></li>
1282 <li data-view-component="true" class="d-inline-flex">
1283 <a id="actions-tab" href="/sersorrel/sys/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /sersorrel/sys/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Actions&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1284
1285 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline">
1286 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
1287</svg>
1288 <span data-content="Actions">Actions</span>
1289 <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
1290
1291
1292
1293</a></li>
1294 <li data-view-component="true" class="d-inline-flex">
1295 <a id="projects-tab" href="/sersorrel/sys/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /sersorrel/sys/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Projects&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1296
1297 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline">
1298 <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
1299</svg>
1300 <span data-content="Projects">Projects</span>
1301 <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span>
1302
1303
1304
1305</a></li>
1306 <li data-view-component="true" class="d-inline-flex">
1307 <a id="security-tab" href="/sersorrel/sys/security" data-tab-item="i5security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /sersorrel/sys/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Security&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1308
1309 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline">
1310 <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
1311</svg>
1312 <span data-content="Security">Security</span>
1313 <include-fragment src="/sersorrel/sys/security/overall-count" accept="text/fragment+html"></include-fragment>
1314
1315
1316</a></li>
1317 <li data-view-component="true" class="d-inline-flex">
1318 <a id="insights-tab" href="/sersorrel/sys/pulse" data-tab-item="i6insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /sersorrel/sys/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{&quot;category&quot;:&quot;Underline navbar&quot;,&quot;action&quot;:&quot;Click tab&quot;,&quot;label&quot;:&quot;Insights&quot;,&quot;target&quot;:&quot;UNDERLINE_NAV.TAB&quot;}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item">
1319
1320 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline">
1321 <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
1322</svg>
1323 <span data-content="Insights">Insights</span>
1324 <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span>
1325
1326
1327
1328</a></li>
1329</ul>
1330 <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true">
1331 <focus-group direction="vertical" mnemonics retain>
1332 <button id="action-menu-1d3cd225-7a23-4e62-a0d3-9cb632f8254d-button" popovertarget="action-menu-1d3cd225-7a23-4e62-a0d3-9cb632f8254d-overlay" aria-controls="action-menu-1d3cd225-7a23-4e62-a0d3-9cb632f8254d-list" aria-haspopup="true" aria-labelledby="tooltip-0592b4a2-a741-42c7-a7f4-ab22c18b3fc8" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual">
1333 <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path>
1334</svg>
1335</button><tool-tip id="tooltip-0592b4a2-a741-42c7-a7f4-ab22c18b3fc8" for="action-menu-1d3cd225-7a23-4e62-a0d3-9cb632f8254d-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip>
1336
1337
1338<anchored-position id="action-menu-1d3cd225-7a23-4e62-a0d3-9cb632f8254d-overlay" anchor="action-menu-1d3cd225-7a23-4e62-a0d3-9cb632f8254d-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true">
1339 <div data-view-component="true" class="Overlay Overlay--size-auto">
1340
1341 <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list>
1342 <div data-view-component="true">
1343 <ul aria-labelledby="action-menu-1d3cd225-7a23-4e62-a0d3-9cb632f8254d-button" id="action-menu-1d3cd225-7a23-4e62-a0d3-9cb632f8254d-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap">
1344 <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1345
1346 <a tabindex="-1" id="item-6798a5a0-8efc-439b-a879-3e57d2607cab" href="/sersorrel/sys" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1347 <span class="ActionListItem-visual ActionListItem-visual--leading">
1348 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code">
1349 <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path>
1350</svg>
1351 </span>
1352
1353 <span data-view-component="true" class="ActionListItem-label">
1354 Code
1355</span></a>
1356
1357
1358</li>
1359 <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1360
1361 <a tabindex="-1" id="item-e3d77715-0a06-43e5-89b8-cb4604bea6c8" href="/sersorrel/sys/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1362 <span class="ActionListItem-visual ActionListItem-visual--leading">
1363 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened">
1364 <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path>
1365</svg>
1366 </span>
1367
1368 <span data-view-component="true" class="ActionListItem-label">
1369 Issues
1370</span></a>
1371
1372
1373</li>
1374 <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1375
1376 <a tabindex="-1" id="item-c036cf9f-d6d2-40d2-9031-f8a6b72cc1fa" href="/sersorrel/sys/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1377 <span class="ActionListItem-visual ActionListItem-visual--leading">
1378 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request">
1379 <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path>
1380</svg>
1381 </span>
1382
1383 <span data-view-component="true" class="ActionListItem-label">
1384 Pull requests
1385</span></a>
1386
1387
1388</li>
1389 <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1390
1391 <a tabindex="-1" id="item-2cac8e91-5242-4472-9fbd-85f36d51bd62" href="/sersorrel/sys/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1392 <span class="ActionListItem-visual ActionListItem-visual--leading">
1393 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play">
1394 <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path>
1395</svg>
1396 </span>
1397
1398 <span data-view-component="true" class="ActionListItem-label">
1399 Actions
1400</span></a>
1401
1402
1403</li>
1404 <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1405
1406 <a tabindex="-1" id="item-52af872a-ed91-4446-a15f-d335a91334b2" href="/sersorrel/sys/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1407 <span class="ActionListItem-visual ActionListItem-visual--leading">
1408 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table">
1409 <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path>
1410</svg>
1411 </span>
1412
1413 <span data-view-component="true" class="ActionListItem-label">
1414 Projects
1415</span></a>
1416
1417
1418</li>
1419 <li hidden="hidden" data-menu-item="i5security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1420
1421 <a tabindex="-1" id="item-def67d2a-4d7f-47fd-9474-93b6fb05eecb" href="/sersorrel/sys/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1422 <span class="ActionListItem-visual ActionListItem-visual--leading">
1423 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield">
1424 <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
1425</svg>
1426 </span>
1427
1428 <span data-view-component="true" class="ActionListItem-label">
1429 Security
1430</span></a>
1431
1432
1433</li>
1434 <li hidden="hidden" data-menu-item="i6insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem">
1435
1436 <a tabindex="-1" id="item-08689a1f-2486-4b36-8e5e-83e94920662d" href="/sersorrel/sys/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16">
1437 <span class="ActionListItem-visual ActionListItem-visual--leading">
1438 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph">
1439 <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path>
1440</svg>
1441 </span>
1442
1443 <span data-view-component="true" class="ActionListItem-label">
1444 Insights
1445</span></a>
1446
1447
1448</li>
1449</ul>
1450</div></action-list>
1451
1452
1453</div>
1454
1455</div></anchored-position> </focus-group>
1456</action-menu></div>
1457</nav>
1458
1459 </div>
1460
1461
1462
1463
1464
1465<turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class="">
1466 <div id="repo-content-pjax-container" class="repository-content " >
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479<react-app
1480 app-name="react-code-view"
1481 initial-path="/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py"
1482 style="min-height: calc(100vh - 64px)"
1483 data-ssr="false"
1484 data-lazy="false"
1485 data-alternate="false"
1486>
1487
1488 <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"hm/discord":{"items":[{"name":"default.nix","path":"hm/discord/default.nix","contentType":"file"},{"name":"krisp-patcher.py","path":"hm/discord/krisp-patcher.py","contentType":"file"}],"totalCount":2},"hm":{"items":[{"name":"discord","path":"hm/discord","contentType":"directory"},{"name":"git-fast-forward-all","path":"hm/git-fast-forward-all","contentType":"directory"},{"name":"glimmer","path":"hm/glimmer","contentType":"directory"},{"name":"neovim","path":"hm/neovim","contentType":"directory"},{"name":"some","path":"hm/some","contentType":"directory"},{"name":"unified-inhibit","path":"hm/unified-inhibit","contentType":"directory"},{"name":"android-studio.nix","path":"hm/android-studio.nix","contentType":"file"},{"name":"any-nix-shell.nix","path":"hm/any-nix-shell.nix","contentType":"file"},{"name":"apktool.nix","path":"hm/apktool.nix","contentType":"file"},{"name":"bash.nix","path":"hm/bash.nix","contentType":"file"},{"name":"bat.nix","path":"hm/bat.nix","contentType":"file"},{"name":"binary-ninja.nix","path":"hm/binary-ninja.nix","contentType":"file"},{"name":"bintools.nix","path":"hm/bintools.nix","contentType":"file"},{"name":"calibre.nix","path":"hm/calibre.nix","contentType":"file"},{"name":"colordiff.nix","path":"hm/colordiff.nix","contentType":"file"},{"name":"comma.nix","path":"hm/comma.nix","contentType":"file"},{"name":"compose-key.nix","path":"hm/compose-key.nix","contentType":"file"},{"name":"dconf.nix","path":"hm/dconf.nix","contentType":"file"},{"name":"dig.nix","path":"hm/dig.nix","contentType":"file"},{"name":"dircolors.nix","path":"hm/dircolors.nix","contentType":"file"},{"name":"direnv.nix","path":"hm/direnv.nix","contentType":"file"},{"name":"dunst.nix","path":"hm/dunst.nix","contentType":"file"},{"name":"eiciel.nix","path":"hm/eiciel.nix","contentType":"file"},{"name":"empty-trash.nix","path":"hm/empty-trash.nix","contentType":"file"},{"name":"evince.nix","path":"hm/evince.nix","contentType":"file"},{"name":"exiftool.nix","path":"hm/exiftool.nix","contentType":"file"},{"name":"eza.nix","path":"hm/eza.nix","contentType":"file"},{"name":"fd.nix","path":"hm/fd.nix","contentType":"file"},{"name":"ffmpeg.nix","path":"hm/ffmpeg.nix","contentType":"file"},{"name":"fish.nix","path":"hm/fish.nix","contentType":"file"},{"name":"flac.nix","path":"hm/flac.nix","contentType":"file"},{"name":"flameshot.nix","path":"hm/flameshot.nix","contentType":"file"},{"name":"fonts.nix","path":"hm/fonts.nix","contentType":"file"},{"name":"fragments.nix","path":"hm/fragments.nix","contentType":"file"},{"name":"fusee-nano.nix","path":"hm/fusee-nano.nix","contentType":"file"},{"name":"fzf.nix","path":"hm/fzf.nix","contentType":"file"},{"name":"gammastep.nix","path":"hm/gammastep.nix","contentType":"file"},{"name":"gdb.nix","path":"hm/gdb.nix","contentType":"file"},{"name":"gh.nix","path":"hm/gh.nix","contentType":"file"},{"name":"git.nix","path":"hm/git.nix","contentType":"file"},{"name":"gnome-music.nix","path":"hm/gnome-music.nix","contentType":"file"},{"name":"gpg.nix","path":"hm/gpg.nix","contentType":"file"},{"name":"htop.nix","path":"hm/htop.nix","contentType":"file"},{"name":"httpie.nix","path":"hm/httpie.nix","contentType":"file"},{"name":"input-leap.nix","path":"hm/input-leap.nix","contentType":"file"},{"name":"jetbrains.nix","path":"hm/jetbrains.nix","contentType":"file"},{"name":"joystickwake.nix","path":"hm/joystickwake.nix","contentType":"file"},{"name":"just.nix","path":"hm/just.nix","contentType":"file"},{"name":"kdeconnect.nix","path":"hm/kdeconnect.nix","contentType":"file"},{"name":"keepassxc.nix","path":"hm/keepassxc.nix","contentType":"file"},{"name":"keychain.nix","path":"hm/keychain.nix","contentType":"file"},{"name":"kid3.nix","path":"hm/kid3.nix","contentType":"file"},{"name":"less.nix","path":"hm/less.nix","contentType":"file"},{"name":"libreoffice.nix","path":"hm/libreoffice.nix","contentType":"file"},{"name":"lorri.nix","path":"hm/lorri.nix","contentType":"file"},{"name":"lsof.nix","path":"hm/lsof.nix","contentType":"file"},{"name":"mpv.nix","path":"hm/mpv.nix","contentType":"file"},{"name":"ncdu.nix","path":"hm/ncdu.nix","contentType":"file"},{"name":"news.nix","path":"hm/news.nix","contentType":"file"},{"name":"nix-index.nix","path":"hm/nix-index.nix","contentType":"file"},{"name":"nix-tools.nix","path":"hm/nix-tools.nix","contentType":"file"},{"name":"nix.nix","path":"hm/nix.nix","contentType":"file"},{"name":"notify-send.nix","path":"hm/notify-send.nix","contentType":"file"},{"name":"obs.nix","path":"hm/obs.nix","contentType":"file"},{"name":"obsidian.nix","path":"hm/obsidian.nix","contentType":"file"},{"name":"picard.nix","path":"hm/picard.nix","contentType":"file"},{"name":"playerctl.nix","path":"hm/playerctl.nix","contentType":"file"},{"name":"readline.nix","path":"hm/readline.nix","contentType":"file"},{"name":"rink.nix","path":"hm/rink.nix","contentType":"file"},{"name":"ripgrep.nix","path":"hm/ripgrep.nix","contentType":"file"},{"name":"rustup.nix","path":"hm/rustup.nix","contentType":"file"},{"name":"signal.nix","path":"hm/signal.nix","contentType":"file"},{"name":"ssh.nix","path":"hm/ssh.nix","contentType":"file"},{"name":"starship.nix","path":"hm/starship.nix","contentType":"file"},{"name":"syncthing.nix","path":"hm/syncthing.nix","contentType":"file"},{"name":"systemd.nix","path":"hm/systemd.nix","contentType":"file"},{"name":"tenacity.nix","path":"hm/tenacity.nix","contentType":"file"},{"name":"thumbnailers.nix","path":"hm/thumbnailers.nix","contentType":"file"},{"name":"todoist.nix","path":"hm/todoist.nix","contentType":"file"},{"name":"unicode.nix","path":"hm/unicode.nix","contentType":"file"},{"name":"wine.nix","path":"hm/wine.nix","contentType":"file"},{"name":"wxhexeditor.nix","path":"hm/wxhexeditor.nix","contentType":"file"},{"name":"xclip.nix","path":"hm/xclip.nix","contentType":"file"},{"name":"xdg.nix","path":"hm/xdg.nix","contentType":"file"}],"totalCount":84},"":{"items":[{"name":"common","path":"common","contentType":"directory"},{"name":"darwin","path":"darwin","contentType":"directory"},{"name":"hm","path":"hm","contentType":"directory"},{"name":"nixos","path":"nixos","contentType":"directory"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"flake.nix","path":"flake.nix","contentType":"file"}],"totalCount":6}},"fileTreeProcessingTime":6.573734,"foldersToFetch":[],"repo":{"id":579696260,"defaultBranch":"main","name":"sys","ownerLogin":"sersorrel","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-12-18T15:21:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/9433472?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1671376866.681319","canEdit":false,"refType":"branch","currentOid":"f3c8e8b4812f8069279da492fd830025e08ef580"},"path":"hm/discord/krisp-patcher.py","currentUser":null,"blob":{"rawLines":["import sys","import shutil","","from elftools.elf.elffile import ELFFile","from capstone import *","from capstone.x86 import *","","if len(sys.argv) \u003c 2:"," print(f\"Usage: {sys.argv[0]} [path to discord_krisp.node]\")"," # \"Unix programs generally use 2 for command line syntax errors and 1 for all other kind of errors.\""," sys.exit(2)","","executable = sys.argv[1]","","elf = ELFFile(open(executable, \"rb\"))","symtab = elf.get_section_by_name('.symtab')","","krisp_initialize_address = symtab.get_symbol_by_name(\"_ZN7discord15KrispInitializeEv\")[0].entry.st_value","isSignedByDiscord_address = symtab.get_symbol_by_name(\"_ZN7discord4util17IsSignedByDiscordERKNSt4__Cr12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE\")[0].entry.st_value","","text = elf.get_section_by_name('.text')","text_start = text['sh_addr']","text_start_file = text['sh_offset']","# This seems to always be zero (.text starts at the right offset in the file). Do it just in case?","address_to_file = text_start_file - text_start","","# Done with the ELF now.","# elf.close()","","krisp_initialize_offset = krisp_initialize_address - address_to_file","isSignedByDiscord_offset = krisp_initialize_address - address_to_file","","f = open(executable, \"rb\")","f.seek(krisp_initialize_offset)","krisp_initialize = f.read(64)","f.close()","","# States","found_issigned_by_discord_call = False","found_issigned_by_discord_test = False","found_issigned_by_discord_je = False","found_already_patched = False","je_location = None","","# We are looking for a call to IsSignedByDiscord, followed by a test, followed by a je.","# Then we patch the je into a two byte nop.","","md = Cs(CS_ARCH_X86, CS_MODE_64)","md.detail = True","for i in md.disasm(krisp_initialize, krisp_initialize_address):"," if i.id == X86_INS_CALL:"," if i.operands[0].type == X86_OP_IMM:"," if i.operands[0].imm == isSignedByDiscord_address:"," found_issigned_by_discord_call = True",""," if i.id == X86_INS_TEST:"," if found_issigned_by_discord_call:"," found_issigned_by_discord_test = True",""," if i.id == X86_INS_JE:"," if found_issigned_by_discord_test:"," found_issigned_by_discord_je = True"," je_location = i.address"," break",""," if i.id == X86_INS_NOP:"," if found_issigned_by_discord_test:"," found_already_patched = True"," break","","if je_location:"," print(f\"Found patch location: 0x{je_location:x}\")",""," shutil.copyfile(executable, executable + \".orig\")"," f = open(executable, 'rb+')"," f.seek(je_location - address_to_file)"," f.write(b'\\x66\\x90') # Two byte NOP"," f.close()","else:"," if found_already_patched:"," print(\"Couldn't find patch location - already patched.\")"," else:"," print(\"Couldn't find patch location - review manually. Sorry.\")"],"stylingDirectives":[[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":10,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":13,"c":"pl-s1"}],[],[{"s":0,"e":4,"c":"pl-k"},{"s":5,"e":13,"c":"pl-s1"},{"s":14,"e":17,"c":"pl-s1"},{"s":18,"e":25,"c":"pl-s1"},{"s":26,"e":32,"c":"pl-k"},{"s":33,"e":40,"c":"pl-v"}],[{"s":0,"e":4,"c":"pl-k"},{"s":5,"e":13,"c":"pl-s1"},{"s":14,"e":20,"c":"pl-k"},{"s":21,"e":22,"c":"pl-c1"}],[{"s":0,"e":4,"c":"pl-k"},{"s":5,"e":13,"c":"pl-s1"},{"s":14,"e":17,"c":"pl-s1"},{"s":18,"e":24,"c":"pl-k"},{"s":25,"e":26,"c":"pl-c1"}],[],[{"s":0,"e":2,"c":"pl-k"},{"s":3,"e":6,"c":"pl-en"},{"s":7,"e":10,"c":"pl-s1"},{"s":11,"e":15,"c":"pl-s1"},{"s":17,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-c1"}],[{"s":4,"e":9,"c":"pl-en"},{"s":10,"e":62,"c":"pl-s"},{"s":19,"e":32,"c":"pl-s1"},{"s":19,"e":20,"c":"pl-kos"},{"s":20,"e":23,"c":"pl-s1"},{"s":24,"e":28,"c":"pl-s1"},{"s":29,"e":30,"c":"pl-c1"},{"s":31,"e":32,"c":"pl-kos"}],[{"s":4,"e":104,"c":"pl-c"}],[{"s":4,"e":7,"c":"pl-s1"},{"s":8,"e":12,"c":"pl-en"},{"s":13,"e":14,"c":"pl-c1"}],[],[{"s":0,"e":10,"c":"pl-s1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":16,"c":"pl-s1"},{"s":17,"e":21,"c":"pl-s1"},{"s":22,"e":23,"c":"pl-c1"}],[],[{"s":0,"e":3,"c":"pl-s1"},{"s":4,"e":5,"c":"pl-c1"},{"s":6,"e":13,"c":"pl-v"},{"s":14,"e":18,"c":"pl-en"},{"s":19,"e":29,"c":"pl-s1"},{"s":31,"e":35,"c":"pl-s"}],[{"s":0,"e":6,"c":"pl-s1"},{"s":7,"e":8,"c":"pl-c1"},{"s":9,"e":12,"c":"pl-s1"},{"s":13,"e":32,"c":"pl-en"},{"s":33,"e":42,"c":"pl-s"}],[],[{"s":0,"e":24,"c":"pl-s1"},{"s":25,"e":26,"c":"pl-c1"},{"s":27,"e":33,"c":"pl-s1"},{"s":34,"e":52,"c":"pl-en"},{"s":53,"e":85,"c":"pl-s"},{"s":87,"e":88,"c":"pl-c1"},{"s":90,"e":95,"c":"pl-s1"},{"s":96,"e":104,"c":"pl-s1"}],[{"s":0,"e":25,"c":"pl-s1"},{"s":26,"e":27,"c":"pl-c1"},{"s":28,"e":34,"c":"pl-s1"},{"s":35,"e":53,"c":"pl-en"},{"s":54,"e":159,"c":"pl-s"},{"s":161,"e":162,"c":"pl-c1"},{"s":164,"e":169,"c":"pl-s1"},{"s":170,"e":178,"c":"pl-s1"}],[],[{"s":0,"e":4,"c":"pl-s1"},{"s":5,"e":6,"c":"pl-c1"},{"s":7,"e":10,"c":"pl-s1"},{"s":11,"e":30,"c":"pl-en"},{"s":31,"e":38,"c":"pl-s"}],[{"s":0,"e":10,"c":"pl-s1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":17,"c":"pl-s1"},{"s":18,"e":27,"c":"pl-s"}],[{"s":0,"e":15,"c":"pl-s1"},{"s":16,"e":17,"c":"pl-c1"},{"s":18,"e":22,"c":"pl-s1"},{"s":23,"e":34,"c":"pl-s"}],[{"s":0,"e":98,"c":"pl-c"}],[{"s":0,"e":15,"c":"pl-s1"},{"s":16,"e":17,"c":"pl-c1"},{"s":18,"e":33,"c":"pl-s1"},{"s":34,"e":35,"c":"pl-c1"},{"s":36,"e":46,"c":"pl-s1"}],[],[{"s":0,"e":24,"c":"pl-c"}],[{"s":0,"e":13,"c":"pl-c"}],[],[{"s":0,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":26,"e":50,"c":"pl-s1"},{"s":51,"e":52,"c":"pl-c1"},{"s":53,"e":68,"c":"pl-s1"}],[{"s":0,"e":24,"c":"pl-s1"},{"s":25,"e":26,"c":"pl-c1"},{"s":27,"e":51,"c":"pl-s1"},{"s":52,"e":53,"c":"pl-c1"},{"s":54,"e":69,"c":"pl-s1"}],[],[{"s":0,"e":1,"c":"pl-s1"},{"s":2,"e":3,"c":"pl-c1"},{"s":4,"e":8,"c":"pl-en"},{"s":9,"e":19,"c":"pl-s1"},{"s":21,"e":25,"c":"pl-s"}],[{"s":0,"e":1,"c":"pl-s1"},{"s":2,"e":6,"c":"pl-en"},{"s":7,"e":30,"c":"pl-s1"}],[{"s":0,"e":16,"c":"pl-s1"},{"s":17,"e":18,"c":"pl-c1"},{"s":19,"e":20,"c":"pl-s1"},{"s":21,"e":25,"c":"pl-en"},{"s":26,"e":28,"c":"pl-c1"}],[{"s":0,"e":1,"c":"pl-s1"},{"s":2,"e":7,"c":"pl-en"}],[],[{"s":0,"e":8,"c":"pl-c"}],[{"s":0,"e":30,"c":"pl-s1"},{"s":31,"e":32,"c":"pl-c1"},{"s":33,"e":38,"c":"pl-c1"}],[{"s":0,"e":30,"c":"pl-s1"},{"s":31,"e":32,"c":"pl-c1"},{"s":33,"e":38,"c":"pl-c1"}],[{"s":0,"e":28,"c":"pl-s1"},{"s":29,"e":30,"c":"pl-c1"},{"s":31,"e":36,"c":"pl-c1"}],[{"s":0,"e":21,"c":"pl-s1"},{"s":22,"e":23,"c":"pl-c1"},{"s":24,"e":29,"c":"pl-c1"}],[{"s":0,"e":11,"c":"pl-s1"},{"s":12,"e":13,"c":"pl-c1"},{"s":14,"e":18,"c":"pl-c1"}],[],[{"s":0,"e":87,"c":"pl-c"}],[{"s":0,"e":43,"c":"pl-c"}],[],[{"s":0,"e":2,"c":"pl-s1"},{"s":3,"e":4,"c":"pl-c1"},{"s":5,"e":7,"c":"pl-v"},{"s":8,"e":19,"c":"pl-v"},{"s":21,"e":31,"c":"pl-v"}],[{"s":0,"e":2,"c":"pl-s1"},{"s":3,"e":9,"c":"pl-s1"},{"s":10,"e":11,"c":"pl-c1"},{"s":12,"e":16,"c":"pl-c1"}],[{"s":0,"e":3,"c":"pl-k"},{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":8,"c":"pl-c1"},{"s":9,"e":11,"c":"pl-s1"},{"s":12,"e":18,"c":"pl-en"},{"s":19,"e":35,"c":"pl-s1"},{"s":37,"e":61,"c":"pl-s1"}],[{"s":4,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":11,"c":"pl-s1"},{"s":12,"e":14,"c":"pl-c1"},{"s":15,"e":27,"c":"pl-v"}],[{"s":8,"e":10,"c":"pl-k"},{"s":11,"e":12,"c":"pl-s1"},{"s":13,"e":21,"c":"pl-s1"},{"s":22,"e":23,"c":"pl-c1"},{"s":25,"e":29,"c":"pl-s1"},{"s":30,"e":32,"c":"pl-c1"},{"s":33,"e":43,"c":"pl-v"}],[{"s":12,"e":14,"c":"pl-k"},{"s":15,"e":16,"c":"pl-s1"},{"s":17,"e":25,"c":"pl-s1"},{"s":26,"e":27,"c":"pl-c1"},{"s":29,"e":32,"c":"pl-s1"},{"s":33,"e":35,"c":"pl-c1"},{"s":36,"e":61,"c":"pl-s1"}],[{"s":16,"e":46,"c":"pl-s1"},{"s":47,"e":48,"c":"pl-c1"},{"s":49,"e":53,"c":"pl-c1"}],[],[{"s":4,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":11,"c":"pl-s1"},{"s":12,"e":14,"c":"pl-c1"},{"s":15,"e":27,"c":"pl-v"}],[{"s":8,"e":10,"c":"pl-k"},{"s":11,"e":41,"c":"pl-s1"}],[{"s":12,"e":42,"c":"pl-s1"},{"s":43,"e":44,"c":"pl-c1"},{"s":45,"e":49,"c":"pl-c1"}],[],[{"s":4,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":11,"c":"pl-s1"},{"s":12,"e":14,"c":"pl-c1"},{"s":15,"e":25,"c":"pl-v"}],[{"s":8,"e":10,"c":"pl-k"},{"s":11,"e":41,"c":"pl-s1"}],[{"s":12,"e":40,"c":"pl-s1"},{"s":41,"e":42,"c":"pl-c1"},{"s":43,"e":47,"c":"pl-c1"}],[{"s":12,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-s1"},{"s":28,"e":35,"c":"pl-s1"}],[{"s":12,"e":17,"c":"pl-k"}],[],[{"s":4,"e":6,"c":"pl-k"},{"s":7,"e":8,"c":"pl-s1"},{"s":9,"e":11,"c":"pl-s1"},{"s":12,"e":14,"c":"pl-c1"},{"s":15,"e":26,"c":"pl-v"}],[{"s":8,"e":10,"c":"pl-k"},{"s":11,"e":41,"c":"pl-s1"}],[{"s":12,"e":33,"c":"pl-s1"},{"s":34,"e":35,"c":"pl-c1"},{"s":36,"e":40,"c":"pl-c1"}],[{"s":12,"e":17,"c":"pl-k"}],[],[{"s":0,"e":2,"c":"pl-k"},{"s":3,"e":14,"c":"pl-s1"}],[{"s":4,"e":9,"c":"pl-en"},{"s":10,"e":52,"c":"pl-s"},{"s":36,"e":51,"c":"pl-s1"},{"s":36,"e":37,"c":"pl-kos"},{"s":37,"e":48,"c":"pl-s1"},{"s":50,"e":51,"c":"pl-kos"}],[],[{"s":4,"e":10,"c":"pl-s1"},{"s":11,"e":19,"c":"pl-en"},{"s":20,"e":30,"c":"pl-s1"},{"s":32,"e":42,"c":"pl-s1"},{"s":43,"e":44,"c":"pl-c1"},{"s":45,"e":52,"c":"pl-s"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":7,"c":"pl-c1"},{"s":8,"e":12,"c":"pl-en"},{"s":13,"e":23,"c":"pl-s1"},{"s":25,"e":30,"c":"pl-s"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":10,"c":"pl-en"},{"s":11,"e":22,"c":"pl-s1"},{"s":23,"e":24,"c":"pl-c1"},{"s":25,"e":40,"c":"pl-s1"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":11,"c":"pl-en"},{"s":12,"e":23,"c":"pl-s"},{"s":14,"e":18,"c":"pl-cce"},{"s":18,"e":22,"c":"pl-cce"},{"s":26,"e":40,"c":"pl-c"}],[{"s":4,"e":5,"c":"pl-s1"},{"s":6,"e":11,"c":"pl-en"}],[{"s":0,"e":4,"c":"pl-k"}],[{"s":4,"e":6,"c":"pl-k"},{"s":7,"e":28,"c":"pl-s1"}],[{"s":8,"e":13,"c":"pl-en"},{"s":14,"e":63,"c":"pl-s"}],[{"s":4,"e":8,"c":"pl-k"}],[{"s":8,"e":13,"c":"pl-en"},{"s":14,"e":70,"c":"pl-s"}]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/sersorrel/sys/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"krisp-patcher.py","displayUrl":"https://github.com/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py?raw=true","headerInfo":{"blobSize":"2.67 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"5597290","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fsersorrel%2Fsys%2Fblob%2Fmain%2Fhm%2Fdiscord%2Fkrisp-patcher.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"83","truncatedSloc":"66"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Python","languageID":303,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/sersorrel/sys/blob/main/hm/discord/krisp-patcher.py","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/sersorrel/sys/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/sersorrel/sys/raw/main/hm/discord/krisp-patcher.py","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":"/sersorrel/.github/blob/f8511c61b1c9aebfff0faf48f5be446faf602d2c/FUNDING.yml","showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"executable","kind":"constant","ident_start":326,"ident_end":336,"extent_start":326,"extent_end":350,"fully_qualified_name":"executable","ident_utf16":{"start":{"line_number":12,"utf16_col":0},"end":{"line_number":12,"utf16_col":10}},"extent_utf16":{"start":{"line_number":12,"utf16_col":0},"end":{"line_number":12,"utf16_col":24}}},{"name":"elf","kind":"constant","ident_start":352,"ident_end":355,"extent_start":352,"extent_end":389,"fully_qualified_name":"elf","ident_utf16":{"start":{"line_number":14,"utf16_col":0},"end":{"line_number":14,"utf16_col":3}},"extent_utf16":{"start":{"line_number":14,"utf16_col":0},"end":{"line_number":14,"utf16_col":37}}},{"name":"symtab","kind":"constant","ident_start":390,"ident_end":396,"extent_start":390,"extent_end":433,"fully_qualified_name":"symtab","ident_utf16":{"start":{"line_number":15,"utf16_col":0},"end":{"line_number":15,"utf16_col":6}},"extent_utf16":{"start":{"line_number":15,"utf16_col":0},"end":{"line_number":15,"utf16_col":43}}},{"name":"krisp_initialize_address","kind":"constant","ident_start":435,"ident_end":459,"extent_start":435,"extent_end":539,"fully_qualified_name":"krisp_initialize_address","ident_utf16":{"start":{"line_number":17,"utf16_col":0},"end":{"line_number":17,"utf16_col":24}},"extent_utf16":{"start":{"line_number":17,"utf16_col":0},"end":{"line_number":17,"utf16_col":104}}},{"name":"isSignedByDiscord_address","kind":"constant","ident_start":540,"ident_end":565,"extent_start":540,"extent_end":718,"fully_qualified_name":"isSignedByDiscord_address","ident_utf16":{"start":{"line_number":18,"utf16_col":0},"end":{"line_number":18,"utf16_col":25}},"extent_utf16":{"start":{"line_number":18,"utf16_col":0},"end":{"line_number":18,"utf16_col":178}}},{"name":"text","kind":"constant","ident_start":720,"ident_end":724,"extent_start":720,"extent_end":759,"fully_qualified_name":"text","ident_utf16":{"start":{"line_number":20,"utf16_col":0},"end":{"line_number":20,"utf16_col":4}},"extent_utf16":{"start":{"line_number":20,"utf16_col":0},"end":{"line_number":20,"utf16_col":39}}},{"name":"text_start","kind":"constant","ident_start":760,"ident_end":770,"extent_start":760,"extent_end":788,"fully_qualified_name":"text_start","ident_utf16":{"start":{"line_number":21,"utf16_col":0},"end":{"line_number":21,"utf16_col":10}},"extent_utf16":{"start":{"line_number":21,"utf16_col":0},"end":{"line_number":21,"utf16_col":28}}},{"name":"text_start_file","kind":"constant","ident_start":789,"ident_end":804,"extent_start":789,"extent_end":824,"fully_qualified_name":"text_start_file","ident_utf16":{"start":{"line_number":22,"utf16_col":0},"end":{"line_number":22,"utf16_col":15}},"extent_utf16":{"start":{"line_number":22,"utf16_col":0},"end":{"line_number":22,"utf16_col":35}}},{"name":"address_to_file","kind":"constant","ident_start":924,"ident_end":939,"extent_start":924,"extent_end":970,"fully_qualified_name":"address_to_file","ident_utf16":{"start":{"line_number":24,"utf16_col":0},"end":{"line_number":24,"utf16_col":15}},"extent_utf16":{"start":{"line_number":24,"utf16_col":0},"end":{"line_number":24,"utf16_col":46}}},{"name":"krisp_initialize_offset","kind":"constant","ident_start":1012,"ident_end":1035,"extent_start":1012,"extent_end":1080,"fully_qualified_name":"krisp_initialize_offset","ident_utf16":{"start":{"line_number":29,"utf16_col":0},"end":{"line_number":29,"utf16_col":23}},"extent_utf16":{"start":{"line_number":29,"utf16_col":0},"end":{"line_number":29,"utf16_col":68}}},{"name":"isSignedByDiscord_offset","kind":"constant","ident_start":1081,"ident_end":1105,"extent_start":1081,"extent_end":1150,"fully_qualified_name":"isSignedByDiscord_offset","ident_utf16":{"start":{"line_number":30,"utf16_col":0},"end":{"line_number":30,"utf16_col":24}},"extent_utf16":{"start":{"line_number":30,"utf16_col":0},"end":{"line_number":30,"utf16_col":69}}},{"name":"f","kind":"constant","ident_start":1152,"ident_end":1153,"extent_start":1152,"extent_end":1178,"fully_qualified_name":"f","ident_utf16":{"start":{"line_number":32,"utf16_col":0},"end":{"line_number":32,"utf16_col":1}},"extent_utf16":{"start":{"line_number":32,"utf16_col":0},"end":{"line_number":32,"utf16_col":26}}},{"name":"krisp_initialize","kind":"constant","ident_start":1211,"ident_end":1227,"extent_start":1211,"extent_end":1240,"fully_qualified_name":"krisp_initialize","ident_utf16":{"start":{"line_number":34,"utf16_col":0},"end":{"line_number":34,"utf16_col":16}},"extent_utf16":{"start":{"line_number":34,"utf16_col":0},"end":{"line_number":34,"utf16_col":29}}},{"name":"found_issigned_by_discord_call","kind":"constant","ident_start":1261,"ident_end":1291,"extent_start":1261,"extent_end":1299,"fully_qualified_name":"found_issigned_by_discord_call","ident_utf16":{"start":{"line_number":38,"utf16_col":0},"end":{"line_number":38,"utf16_col":30}},"extent_utf16":{"start":{"line_number":38,"utf16_col":0},"end":{"line_number":38,"utf16_col":38}}},{"name":"found_issigned_by_discord_test","kind":"constant","ident_start":1300,"ident_end":1330,"extent_start":1300,"extent_end":1338,"fully_qualified_name":"found_issigned_by_discord_test","ident_utf16":{"start":{"line_number":39,"utf16_col":0},"end":{"line_number":39,"utf16_col":30}},"extent_utf16":{"start":{"line_number":39,"utf16_col":0},"end":{"line_number":39,"utf16_col":38}}},{"name":"found_issigned_by_discord_je","kind":"constant","ident_start":1339,"ident_end":1367,"extent_start":1339,"extent_end":1375,"fully_qualified_name":"found_issigned_by_discord_je","ident_utf16":{"start":{"line_number":40,"utf16_col":0},"end":{"line_number":40,"utf16_col":28}},"extent_utf16":{"start":{"line_number":40,"utf16_col":0},"end":{"line_number":40,"utf16_col":36}}},{"name":"found_already_patched","kind":"constant","ident_start":1376,"ident_end":1397,"extent_start":1376,"extent_end":1405,"fully_qualified_name":"found_already_patched","ident_utf16":{"start":{"line_number":41,"utf16_col":0},"end":{"line_number":41,"utf16_col":21}},"extent_utf16":{"start":{"line_number":41,"utf16_col":0},"end":{"line_number":41,"utf16_col":29}}},{"name":"je_location","kind":"constant","ident_start":1406,"ident_end":1417,"extent_start":1406,"extent_end":1424,"fully_qualified_name":"je_location","ident_utf16":{"start":{"line_number":42,"utf16_col":0},"end":{"line_number":42,"utf16_col":11}},"extent_utf16":{"start":{"line_number":42,"utf16_col":0},"end":{"line_number":42,"utf16_col":18}}},{"name":"md","kind":"constant","ident_start":1559,"ident_end":1561,"extent_start":1559,"extent_end":1591,"fully_qualified_name":"md","ident_utf16":{"start":{"line_number":47,"utf16_col":0},"end":{"line_number":47,"utf16_col":2}},"extent_utf16":{"start":{"line_number":47,"utf16_col":0},"end":{"line_number":47,"utf16_col":32}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/sersorrel/sys/branches":{"post":"DQUBJDy8wnF4MhTC_EaS4q2JkAyA1OisvEObaXZ-dPRqd3zNpGvihilRUoFa9-A2wMzhLjiBkNTiDjSYQYfe-w"},"/repos/preferences":{"post":"wTJpK_5VDGggivV5THzCyfGWn3qjpAOmsHlhi-xN8cxMFrvO8KSz9bMB6W8zrDaHlBLcgBHqo2Ennv8fzNBHIQ"}}},"title":"sys/hm/discord/krisp-patcher.py at main · sersorrel/sys","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-a007d7f370d6.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-d0f0ff069004.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"copilot_conversational_ux":false,"react_blob_overlay":false,"copilot_conversational_ux_embedding_update":false,"copilot_popover_file_editor_header":false,"copilot_smell_icebreaker_ux":true,"copilot_workspace":false}}}</script>
1489 <div data-target="react-app.reactRoot"></div>
1490</react-app>
1491</turbo-frame>
1492
1493
1494
1495 </div>
1496
1497</turbo-frame>
1498
1499 </main>
1500 </div>
1501
1502 </div>
1503
1504 <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" >
1505 <h2 class='sr-only'>Footer</h2>
1506
1507
1508
1509
1510 <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap">
1511 <div class="d-flex flex-items-center flex-shrink-0 mx-2">
1512 <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com">
1513 <svg aria-hidden="true" height="24" viewBox="0 0 16 16" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github">
1514 <path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z"></path>
1515</svg>
1516</a>
1517 <span>
1518 &copy; 2024 GitHub,&nbsp;Inc.
1519 </span>
1520 </div>
1521
1522 <nav aria-label="Footer">
1523 <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3>
1524
1525 <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading">
1526
1527 <li class="mx-2">
1528 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to Terms&quot;,&quot;label&quot;:&quot;text:terms&quot;}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a>
1529 </li>
1530
1531 <li class="mx-2">
1532 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to privacy&quot;,&quot;label&quot;:&quot;text:privacy&quot;}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a>
1533 </li>
1534
1535 <li class="mx-2">
1536 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to security&quot;,&quot;label&quot;:&quot;text:security&quot;}" href="/security" data-view-component="true" class="Link--secondary Link">Security</a>
1537 </li>
1538
1539 <li class="mx-2">
1540 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to status&quot;,&quot;label&quot;:&quot;text:status&quot;}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a>
1541 </li>
1542
1543 <li class="mx-2">
1544 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to docs&quot;,&quot;label&quot;:&quot;text:docs&quot;}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a>
1545 </li>
1546
1547 <li class="mx-2">
1548 <a data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to contact&quot;,&quot;label&quot;:&quot;text:contact&quot;}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a>
1549 </li>
1550
1551 <li class="mr-3" >
1552 <cookie-consent-link>
1553 <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement">
1554 Manage cookies
1555 </button>
1556 </cookie-consent-link>
1557</li>
1558
1559<li class="mr-3">
1560 <cookie-consent-link>
1561 <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement">
1562 Do not share my personal information
1563 </button>
1564 </cookie-consent-link>
1565</li>
1566
1567 </ul>
1568 </nav>
1569 </div>
1570</footer>
1571
1572
1573
1574
1575 <cookie-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></cookie-consent>
1576
1577
1578 <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden>
1579 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert">
1580 <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path>
1581</svg>
1582 <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error">
1583 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
1584 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1585</svg>
1586 </button>
1587 You can’t perform that action at this time.
1588 </div>
1589
1590 <template id="site-details-dialog">
1591 <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
1592 <summary role="button" aria-label="Close dialog"></summary>
1593 <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal">
1594 <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog>
1595 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x">
1596 <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
1597</svg>
1598 </button>
1599 <div class="octocat-spinner my-6 js-details-dialog-spinner"></div>
1600 </details-dialog>
1601 </details>
1602</template>
1603
1604 <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;" tabindex="0">
1605 <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;">
1606 </div>
1607</div>
1608
1609 <template id="snippet-clipboard-copy-button">
1610 <div class="zeroclipboard-container position-absolute right-0 top-0">
1611 <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0 tooltipped-no-delay" data-copy-feedback="Copied!" data-tooltip-direction="w">
1612 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2">
1613 <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
1614</svg>
1615 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2">
1616 <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
1617</svg>
1618 </clipboard-copy>
1619 </div>
1620</template>
1621<template id="snippet-clipboard-copy-button-unpositioned">
1622 <div class="zeroclipboard-container">
1623 <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 tooltipped-no-delay d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w">
1624 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon">
1625 <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path>
1626</svg>
1627 <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none">
1628 <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path>
1629</svg>
1630 </clipboard-copy>
1631 </div>
1632</template>
1633
1634
1635
1636
1637 </div>
1638
1639 <div id="js-global-screen-reader-notice" class="sr-only" aria-live="polite" aria-atomic="true" ></div>
1640 <div id="js-global-screen-reader-notice-assertive" class="sr-only" aria-live="assertive" aria-atomic="true"></div>
1641 </body>
1642</html>
1643
flake.lock+569-8
......@@ -1,5 +1,219 @@
11{
22 "nodes": {
3 "base16": {
4 "inputs": {
5 "fromYaml": "fromYaml"
6 },
7 "locked": {
8 "lastModified": 1708890466,
9 "narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=",
10 "owner": "SenchoPens",
11 "repo": "base16.nix",
12 "rev": "665b3c6748534eb766c777298721cece9453fdae",
13 "type": "github"
14 },
15 "original": {
16 "owner": "SenchoPens",
17 "repo": "base16.nix",
18 "type": "github"
19 }
20 },
21 "base16-alacritty": {
22 "flake": false,
23 "locked": {
24 "lastModified": 1703982197,
25 "narHash": "sha256-TNxKbwdiUXGi4Z4chT72l3mt3GSvOcz6NZsUH8bQU/k=",
26 "owner": "aarowill",
27 "repo": "base16-alacritty",
28 "rev": "c95c200b3af739708455a03b5d185d3d2d263c6e",
29 "type": "github"
30 },
31 "original": {
32 "owner": "aarowill",
33 "repo": "base16-alacritty",
34 "type": "github"
35 }
36 },
37 "base16-alacritty-yaml": {
38 "flake": false,
39 "locked": {
40 "lastModified": 1674275109,
41 "narHash": "sha256-Adwx9yP70I6mJrjjODOgZJjt4OPPe8gJu7UuBboXO4M=",
42 "owner": "aarowill",
43 "repo": "base16-alacritty",
44 "rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7",
45 "type": "github"
46 },
47 "original": {
48 "owner": "aarowill",
49 "repo": "base16-alacritty",
50 "rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7",
51 "type": "github"
52 }
53 },
54 "base16-fish": {
55 "flake": false,
56 "locked": {
57 "lastModified": 1622559957,
58 "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
59 "owner": "tomyun",
60 "repo": "base16-fish",
61 "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
62 "type": "github"
63 },
64 "original": {
65 "owner": "tomyun",
66 "repo": "base16-fish",
67 "type": "github"
68 }
69 },
70 "base16-foot": {
71 "flake": false,
72 "locked": {
73 "lastModified": 1696725948,
74 "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
75 "owner": "tinted-theming",
76 "repo": "base16-foot",
77 "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
78 "type": "github"
79 },
80 "original": {
81 "owner": "tinted-theming",
82 "repo": "base16-foot",
83 "type": "github"
84 }
85 },
86 "base16-helix": {
87 "flake": false,
88 "locked": {
89 "lastModified": 1696727917,
90 "narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=",
91 "owner": "tinted-theming",
92 "repo": "base16-helix",
93 "rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb",
94 "type": "github"
95 },
96 "original": {
97 "owner": "tinted-theming",
98 "repo": "base16-helix",
99 "type": "github"
100 }
101 },
102 "base16-kitty": {
103 "flake": false,
104 "locked": {
105 "lastModified": 1665001328,
106 "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
107 "owner": "kdrag0n",
108 "repo": "base16-kitty",
109 "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
110 "type": "github"
111 },
112 "original": {
113 "owner": "kdrag0n",
114 "repo": "base16-kitty",
115 "type": "github"
116 }
117 },
118 "base16-tmux": {
119 "flake": false,
120 "locked": {
121 "lastModified": 1696725902,
122 "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
123 "owner": "tinted-theming",
124 "repo": "base16-tmux",
125 "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
126 "type": "github"
127 },
128 "original": {
129 "owner": "tinted-theming",
130 "repo": "base16-tmux",
131 "type": "github"
132 }
133 },
134 "base16-vim": {
135 "flake": false,
136 "locked": {
137 "lastModified": 1663659192,
138 "narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=",
139 "owner": "chriskempson",
140 "repo": "base16-vim",
141 "rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d",
142 "type": "github"
143 },
144 "original": {
145 "owner": "chriskempson",
146 "repo": "base16-vim",
147 "type": "github"
148 }
149 },
150 "blocklist-hosts": {
151 "inputs": {
152 "nixpkgs": "nixpkgs"
153 },
154 "locked": {
155 "lastModified": 1710515083,
156 "narHash": "sha256-3ve+IZzSpMigIIIW7x/WVSkm/5IyKb0ggFLcanbzskU=",
157 "owner": "StevenBlack",
158 "repo": "hosts",
159 "rev": "7c0ba20a0a205e3bf89a34d6fa5776980b3bec27",
160 "type": "github"
161 },
162 "original": {
163 "owner": "StevenBlack",
164 "repo": "hosts",
165 "type": "github"
166 }
167 },
168 "flake-compat": {
169 "flake": false,
170 "locked": {
171 "lastModified": 1673956053,
172 "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
173 "owner": "edolstra",
174 "repo": "flake-compat",
175 "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
176 "type": "github"
177 },
178 "original": {
179 "owner": "edolstra",
180 "repo": "flake-compat",
181 "type": "github"
182 }
183 },
184 "fromYaml": {
185 "flake": false,
186 "locked": {
187 "lastModified": 1689549921,
188 "narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
189 "owner": "SenchoPens",
190 "repo": "fromYaml",
191 "rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
192 "type": "github"
193 },
194 "original": {
195 "owner": "SenchoPens",
196 "repo": "fromYaml",
197 "type": "github"
198 }
199 },
200 "gnome-shell": {
201 "flake": false,
202 "locked": {
203 "lastModified": 1698794309,
204 "narHash": "sha256-/TIkZ8y5Wv3QHLFp79Poao9fINurKs5pa4z0CRe+F8s=",
205 "owner": "GNOME",
206 "repo": "gnome-shell",
207 "rev": "a7c169c6c29cf02a4c392fa0acbbc5f5072823e7",
208 "type": "github"
209 },
210 "original": {
211 "owner": "GNOME",
212 "ref": "45.1",
213 "repo": "gnome-shell",
214 "type": "github"
215 }
216 },
3217 "home-manager": {
4218 "inputs": {
5219 "nixpkgs": [
......@@ -7,27 +221,210 @@
7221 ]
8222 },
9223 "locked": {
10 "lastModified": 1703367386,
11 "narHash": "sha256-FMbm48UGrBfOWGt8+opuS+uLBLQlRfhiYXhHNcYMS5k=",
224 "lastModified": 1710532761,
225 "narHash": "sha256-SUXGZNrXX05YA9G6EmgupxhOr3swI1gcxLUeDMUhrEY=",
12226 "owner": "nix-community",
13227 "repo": "home-manager",
14 "rev": "d5824a76bc6bb93d1dce9ebbbcb09a9b6abcc224",
228 "rev": "206f457fffdb9a73596a4cb2211a471bd305243d",
15229 "type": "github"
16230 },
17231 "original": {
18232 "owner": "nix-community",
19 "ref": "release-23.11",
233 "ref": "master",
20234 "repo": "home-manager",
21235 "type": "github"
22236 }
23237 },
238 "home-manager_2": {
239 "inputs": {
240 "nixpkgs": [
241 "stylix",
242 "nixpkgs"
243 ]
244 },
245 "locked": {
246 "lastModified": 1706001011,
247 "narHash": "sha256-J7Bs9LHdZubgNHZ6+eE/7C18lZ1P6S5/zdJSdXFItI4=",
248 "owner": "nix-community",
249 "repo": "home-manager",
250 "rev": "3df2a80f3f85f91ea06e5e91071fa74ba92e5084",
251 "type": "github"
252 },
253 "original": {
254 "owner": "nix-community",
255 "repo": "home-manager",
256 "type": "github"
257 }
258 },
259 "hyprcursor": {
260 "inputs": {
261 "hyprlang": "hyprlang",
262 "nixpkgs": [
263 "hyprland",
264 "nixpkgs"
265 ],
266 "systems": [
267 "hyprland",
268 "systems"
269 ]
270 },
271 "locked": {
272 "lastModified": 1710257359,
273 "narHash": "sha256-43re5pzE/cswFAgw92/ugsB3+d5ufDaCcLtl9ztKfBo=",
274 "owner": "hyprwm",
275 "repo": "hyprcursor",
276 "rev": "1761f6cefd77f4fcd2039d930c88d6716ddc4974",
277 "type": "github"
278 },
279 "original": {
280 "owner": "hyprwm",
281 "repo": "hyprcursor",
282 "type": "github"
283 }
284 },
285 "hyprland": {
286 "inputs": {
287 "hyprcursor": "hyprcursor",
288 "hyprland-protocols": "hyprland-protocols",
289 "hyprlang": "hyprlang_2",
290 "nixpkgs": "nixpkgs_2",
291 "systems": "systems_2",
292 "wlroots": "wlroots",
293 "xdph": "xdph"
294 },
295 "locked": {
296 "lastModified": 1710547119,
297 "narHash": "sha256-xLxbGRsKs40j+4tKeHydW1VUpCPOizYcduYQvBUitoY=",
298 "owner": "hyprwm",
299 "repo": "Hyprland",
300 "rev": "19c90048d65a5660384d2fb865926a366696d6be",
301 "type": "github"
302 },
303 "original": {
304 "owner": "hyprwm",
305 "repo": "Hyprland",
306 "type": "github"
307 }
308 },
309 "hyprland-plugins": {
310 "inputs": {
311 "hyprland": [
312 "hyprland"
313 ],
314 "systems": [
315 "hyprland-plugins",
316 "hyprland",
317 "systems"
318 ]
319 },
320 "locked": {
321 "lastModified": 1710512163,
322 "narHash": "sha256-bj3waHL6vTBWPw4f+vUdJ1MC5I8UWv2mNX3v/FPHBKQ=",
323 "owner": "hyprwm",
324 "repo": "hyprland-plugins",
325 "rev": "50758aa0244372af3d6f058dce39970a8d96ce2d",
326 "type": "github"
327 },
328 "original": {
329 "owner": "hyprwm",
330 "repo": "hyprland-plugins",
331 "type": "github"
332 }
333 },
334 "hyprland-protocols": {
335 "inputs": {
336 "nixpkgs": [
337 "hyprland",
338 "nixpkgs"
339 ],
340 "systems": [
341 "hyprland",
342 "systems"
343 ]
344 },
345 "locked": {
346 "lastModified": 1691753796,
347 "narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
348 "owner": "hyprwm",
349 "repo": "hyprland-protocols",
350 "rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
351 "type": "github"
352 },
353 "original": {
354 "owner": "hyprwm",
355 "repo": "hyprland-protocols",
356 "type": "github"
357 }
358 },
359 "hyprlang": {
360 "inputs": {
361 "nixpkgs": [
362 "hyprland",
363 "hyprcursor",
364 "nixpkgs"
365 ],
366 "systems": "systems"
367 },
368 "locked": {
369 "lastModified": 1709914708,
370 "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
371 "owner": "hyprwm",
372 "repo": "hyprlang",
373 "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
374 "type": "github"
375 },
376 "original": {
377 "owner": "hyprwm",
378 "repo": "hyprlang",
379 "type": "github"
380 }
381 },
382 "hyprlang_2": {
383 "inputs": {
384 "nixpkgs": [
385 "hyprland",
386 "nixpkgs"
387 ],
388 "systems": [
389 "hyprland",
390 "systems"
391 ]
392 },
393 "locked": {
394 "lastModified": 1709914708,
395 "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
396 "owner": "hyprwm",
397 "repo": "hyprlang",
398 "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
399 "type": "github"
400 },
401 "original": {
402 "owner": "hyprwm",
403 "repo": "hyprlang",
404 "type": "github"
405 }
406 },
24407 "nixpkgs": {
25408 "locked": {
26 "lastModified": 1703467016,
27 "narHash": "sha256-/5A/dNPhbQx/Oa2d+Get174eNI3LERQ7u6WTWOlR1eQ=",
409 "lastModified": 1710534455,
410 "narHash": "sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI=",
411 "owner": "NixOS",
412 "repo": "nixpkgs",
413 "rev": "9af9c1c87ed3e3ed271934cb896e0cdd33dae212",
414 "type": "github"
415 },
416 "original": {
417 "id": "nixpkgs",
418 "type": "indirect"
419 }
420 },
421 "nixpkgs-stable": {
422 "locked": {
423 "lastModified": 1710420202,
424 "narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=",
28425 "owner": "NixOS",
29426 "repo": "nixpkgs",
30 "rev": "d02d818f22c777aa4e854efc3242ec451e5d462a",
427 "rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da",
31428 "type": "github"
32429 },
33430 "original": {
......@@ -36,10 +433,174 @@
36433 "type": "indirect"
37434 }
38435 },
436 "nixpkgs_2": {
437 "locked": {
438 "lastModified": 1710272261,
439 "narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
440 "owner": "NixOS",
441 "repo": "nixpkgs",
442 "rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2",
443 "type": "github"
444 },
445 "original": {
446 "owner": "NixOS",
447 "ref": "nixos-unstable",
448 "repo": "nixpkgs",
449 "type": "github"
450 }
451 },
452 "nixpkgs_3": {
453 "locked": {
454 "lastModified": 1710451336,
455 "narHash": "sha256-pP86Pcfu3BrAvRO7R64x7hs+GaQrjFes+mEPowCfkxY=",
456 "owner": "NixOS",
457 "repo": "nixpkgs",
458 "rev": "d691274a972b3165335d261cc4671335f5c67de9",
459 "type": "github"
460 },
461 "original": {
462 "id": "nixpkgs",
463 "ref": "nixos-unstable",
464 "type": "indirect"
465 }
466 },
467 "nixpkgs_4": {
468 "locked": {
469 "lastModified": 1700856099,
470 "narHash": "sha256-RnEA7iJ36Ay9jI0WwP+/y4zjEhmeN6Cjs9VOFBH7eVQ=",
471 "owner": "NixOS",
472 "repo": "nixpkgs",
473 "rev": "0bd59c54ef06bc34eca01e37d689f5e46b3fe2f1",
474 "type": "github"
475 },
476 "original": {
477 "owner": "NixOS",
478 "ref": "nixpkgs-unstable",
479 "repo": "nixpkgs",
480 "type": "github"
481 }
482 },
39483 "root": {
40484 "inputs": {
485 "blocklist-hosts": "blocklist-hosts",
41486 "home-manager": "home-manager",
42 "nixpkgs": "nixpkgs"
487 "hyprland": "hyprland",
488 "hyprland-plugins": "hyprland-plugins",
489 "nixpkgs": "nixpkgs_3",
490 "nixpkgs-stable": "nixpkgs-stable",
491 "stylix": "stylix"
492 }
493 },
494 "stylix": {
495 "inputs": {
496 "base16": "base16",
497 "base16-alacritty": "base16-alacritty",
498 "base16-alacritty-yaml": "base16-alacritty-yaml",
499 "base16-fish": "base16-fish",
500 "base16-foot": "base16-foot",
501 "base16-helix": "base16-helix",
502 "base16-kitty": "base16-kitty",
503 "base16-tmux": "base16-tmux",
504 "base16-vim": "base16-vim",
505 "flake-compat": "flake-compat",
506 "gnome-shell": "gnome-shell",
507 "home-manager": "home-manager_2",
508 "nixpkgs": "nixpkgs_4"
509 },
510 "locked": {
511 "lastModified": 1710420453,
512 "narHash": "sha256-F/JfpPRpIkFqvYEtt55lZyaFd+/vhn9SrcQrXIZCkOU=",
513 "owner": "danth",
514 "repo": "stylix",
515 "rev": "eb64377e66122de7a36ca7a611aa97ddf4c8e5e8",
516 "type": "github"
517 },
518 "original": {
519 "owner": "danth",
520 "repo": "stylix",
521 "type": "github"
522 }
523 },
524 "systems": {
525 "locked": {
526 "lastModified": 1689347949,
527 "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
528 "owner": "nix-systems",
529 "repo": "default-linux",
530 "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
531 "type": "github"
532 },
533 "original": {
534 "owner": "nix-systems",
535 "repo": "default-linux",
536 "type": "github"
537 }
538 },
539 "systems_2": {
540 "locked": {
541 "lastModified": 1689347949,
542 "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
543 "owner": "nix-systems",
544 "repo": "default-linux",
545 "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
546 "type": "github"
547 },
548 "original": {
549 "owner": "nix-systems",
550 "repo": "default-linux",
551 "type": "github"
552 }
553 },
554 "wlroots": {
555 "flake": false,
556 "locked": {
557 "host": "gitlab.freedesktop.org",
558 "lastModified": 1709983277,
559 "narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
560 "owner": "wlroots",
561 "repo": "wlroots",
562 "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
563 "type": "gitlab"
564 },
565 "original": {
566 "host": "gitlab.freedesktop.org",
567 "owner": "wlroots",
568 "repo": "wlroots",
569 "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
570 "type": "gitlab"
571 }
572 },
573 "xdph": {
574 "inputs": {
575 "hyprland-protocols": [
576 "hyprland",
577 "hyprland-protocols"
578 ],
579 "hyprlang": [
580 "hyprland",
581 "hyprlang"
582 ],
583 "nixpkgs": [
584 "hyprland",
585 "nixpkgs"
586 ],
587 "systems": [
588 "hyprland",
589 "systems"
590 ]
591 },
592 "locked": {
593 "lastModified": 1709299639,
594 "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
595 "owner": "hyprwm",
596 "repo": "xdg-desktop-portal-hyprland",
597 "rev": "2d2fb547178ec025da643db57d40a971507b82fe",
598 "type": "github"
599 },
600 "original": {
601 "owner": "hyprwm",
602 "repo": "xdg-desktop-portal-hyprland",
603 "type": "github"
43604 }
44605 }
45606 },
flake.nix+2-2
......@@ -88,7 +88,7 @@
8888 lib = nixpkgs.lib;
8989 in {
9090 homeConfigurations = {
91 user = home-manager.lib.homeManagerConfiguration {
91 nmarks = home-manager.lib.homeManagerConfiguration {
9292 inherit pkgs;
9393 modules = [./home.nix];
9494 extraSpecialArgs = {
......@@ -101,7 +101,7 @@
101101 };
102102 };
103103 nixosConfigurations = {
104 system = lib.nixosSystem {
104 nmarks = lib.nixosSystem {
105105 system = systemSettings.system;
106106 modules = [./configuration.nix];
107107 specialArgs = {
newconfig.nix created+88
......@@ -0,0 +1,88 @@
1{
2 config,
3 pkgs,
4 systemSettings,
5 ...
6}: {
7 imports = [./hardware-configuration.nix];
8 nix.settings.experimental-features = [
9 "nix-command"
10 "flakes"
11 ];
12
13 virtualisation.libvirtd.enable = true;
14
15 time.timeZone = systemSettings.timeZone;
16
17 systemd.targets = {
18 sleep.enable = false;
19 suspend.enable = false;
20 hibernate.enable = false;
21 hybrid-sleep.enable = false;
22 };
23
24 fonts.packages = with pkgs; [
25 (nerdfonts.override {fonts = ["FiraCode" "Iosevka"];})
26 ];
27
28 services = {
29 flatpak.enable = true;
30 tailscale.enable = true;
31 services.keyd = {
32 enable = true;
33 keyboards.default.settings.main.capslock = "escape";
34 };
35 xserver = {
36 enable = true;
37 videoDrivers = ["nvidia"];
38 displayManager.sddm.enable = true;
39 desktopManager.plasma6 = true;
40 };
41
42 };
43
44 programs = {
45 fish.enable = true;
46 virt-manager.enable = true;
47 };
48
49 hardware = {
50 opengl = {
51 enable = true;
52 driSupport = true;
53 driSupport32Bit = true;
54 };
55 nvidia = {
56 modesetting.enable = false;
57 powerManagement.finegrained = false;
58 open = false;
59 nvidiaSettings = true;
60
61 package = config.boot.kernelPackages.nvidiaPackages.stable;
62 };
63 pulseaudio.enable = true;
64 };
65
66 boot.loader = {
67 systemd-boot.enable = true;
68 efi = {
69 canTouchEfiVariables = true;
70 efiSysMountPoint = "/boot";
71 };
72 };
73
74 i18n = {
75 defaultLocale = "en_US.utf-8";
76 extraLocaleSettings = {
77 LC_ADDRESS = "en_US.UTF-8";
78 LC_IDENTIFICATION = "en_US.UTF-8";
79 LC_MEASUREMENT = "en_US.UTF-8";
80 LC_MONETARY = "en_US.UTF-8";
81 LC_NAME = "en_US.UTF-8";
82 LC_NUMERIC = "en_US.UTF-8";
83 LC_PAPER = "en_US.UTF-8";
84 LC_TELEPHONE = "en_US.UTF-8";
85 LC_TIME = "en_US.UTF-8";
86 };
87 };
88}