2024-12-24 20:19:41 +07:00
<!DOCTYPE html>
<html
lang = "en"
data-color-mode= "auto" data-light-theme= "light" data-dark-theme= "dark"
data-a11y-animated-images= "system" data-a11y-link-underlines= "true"
>
<head>
<meta charset = "utf-8" >
<link rel = "dns-prefetch" href = "https://github.githubassets.com" >
<link rel = "dns-prefetch" href = "https://avatars.githubusercontent.com" >
<link rel = "dns-prefetch" href = "https://github-cloud.s3.amazonaws.com" >
<link rel = "dns-prefetch" href = "https://user-images.githubusercontent.com/" >
<link rel = "preconnect" href = "https://github.githubassets.com" crossorigin>
<link rel = "preconnect" href = "https://avatars.githubusercontent.com" >
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/light-0cfd1fd8509e.css" /><link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/dark-d782f59290e2.css" /><link data-color-theme= "dark_dimmed" crossorigin = "anonymous" media = "all" rel = "stylesheet" data-href= "https://github.githubassets.com/assets/dark_dimmed-f9fbc4b99a77.css" /><link data-color-theme= "dark_high_contrast" crossorigin = "anonymous" media = "all" rel = "stylesheet" data-href= "https://github.githubassets.com/assets/dark_high_contrast-cff1c9b27b1a.css" /><link data-color-theme= "dark_colorblind" crossorigin = "anonymous" media = "all" rel = "stylesheet" data-href= "https://github.githubassets.com/assets/dark_colorblind-70097f75aec1.css" /><link data-color-theme= "light_colorblind" crossorigin = "anonymous" media = "all" rel = "stylesheet" data-href= "https://github.githubassets.com/assets/light_colorblind-c2f0d49bdcd9.css" /><link data-color-theme= "light_high_contrast" crossorigin = "anonymous" media = "all" rel = "stylesheet" data-href= "https://github.githubassets.com/assets/light_high_contrast-4747d7bc0bc4.css" /><link data-color-theme= "light_tritanopia" crossorigin = "anonymous" media = "all" rel = "stylesheet" data-href= "https://github.githubassets.com/assets/light_tritanopia-d3f6a61c91c8.css" /><link data-color-theme= "dark_tritanopia" crossorigin = "anonymous" media = "all" rel = "stylesheet" data-href= "https://github.githubassets.com/assets/dark_tritanopia-a188d53f44bb.css" />
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/primer-primitives-953961b66e63.css" />
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/primer-4430d3c2c150.css" />
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/global-47b8b2ca21ae.css" />
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/github-e72829f5538b.css" />
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/repository-d031bcc14e1b.css" />
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/code-9e1913b328be.css" />
<script type = "application/json" id = "client-env" >{ "locale" :"en" ,"featureFlags" :[ "alive_longer_retries" ,"bypass_copilot_indexing_quota" ,"copilot_new_references_ui" ,"copilot_beta_features_opt_in" ,"copilot_chat_retry_on_error" ,"copilot_chat_persist_submitted_input" ,"copilot_conversational_ux_history_refs" ,"copilot_editor_upsells" ,"copilot_free_limited_user" ,"copilot_implicit_context" ,"copilot_no_floating_button" ,"copilot_smell_icebreaker_ux" ,"experimentation_azure_variant_endpoint" ,"failbot_handle_non_errors" ,"geojson_azure_maps" ,"ghost_pilot_confidence_truncation_25" ,"ghost_pilot_confidence_truncation_40" ,"hovercard_accessibility" ,"issues_react_new_timeline" ,"issues_react_avatar_refactor" ,"issues_react_remove_placeholders" ,"issues_react_blur_item_picker_on_close" ,"issues_react_use_react_router_in_index" ,"marketing_pages_search_explore_provider" ,"react_keyboard_shortcuts_dialog" ,"remove_child_patch" ,"sample_network_conn_type" ,"site_metered_billing_update" ,"site_copilot_free" ,"lifecycle_label_name_updates" ] } </script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/wp-runtime-8fd927947b24.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-d7e6bc799724.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-c551691a8183.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/environment-7b93e0f0c8ff.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-ea2a5d75d580.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-f6da4b3fa34c.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a74b4e0a8a6b.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js" ></script>
<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-b5f1d7-a1760ffda83d.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js" ></script>
<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-c44a69-c6d035fa8dc8.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/github-elements-f991cfab5105.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/element-registry-d283cbab281e.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-bb80ec-7f43298e364b.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js" ></script>
<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_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-e3cbe28f1638.js" ></script>
<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-6cf3320416b8.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js" ></script>
<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_-69cfcc-833249ee3034.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-863ef5872a03.js" ></script>
<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_sso_ts-ui_packages-900dde-917d4bda1f1a.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-7cbef09a422c.js" ></script>
<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-d0d0a6-b41aeef03499.js" ></script>
<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-fb43816ab83c.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/behaviors-a6abce982f3f.js" ></script>
<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-f6223d90c7ba.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/notifications-global-cfcd9f4f0f23.js" ></script>
<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_github_catalyst_lib_inde-dbbea9-26cce2010167.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/code-menu-b5f092ec4b30.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/primer-react-753dc87b1e29.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/react-core-accb67f1350f.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/react-lib-2131e17288a8.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/octicons-react-45c3a19dd792.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryClient_js-e6f07a7e80b7.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-37e3d5-92730c05e718.js" ></script>
<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-e7dcdd-f7cc96ebae76.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_js-b89b98661809.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-10d8eea337ce.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_lodash-es__baseIsEqual_js-8929eb9718d5.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_github_hydro-analytics-client_dist_analytics-client_js-node_modules_gith-9002b0-881da98a8b00.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_promise-with-resolvers-polyfill_promise-with-r-014121-a7926fdcecf7.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_paths_index_ts-4e4d706da555.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-9445f4afb2bc.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_code-view-shared_utilities_web-worker_ts-ui_packages_code-view-shared_worker-jobs-cdcae1-f0dc8f3ae3e0.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-503c34-7dfba50d2c16.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_document-metadata_document-metadata_ts-ui_packages_repos-file-tree-view_repos-fil-5db355-d0627efd6544.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-ui_packages_code-nav_code-nav_ts-ui_packages_filter--8253c1-f38cdfca9137.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/react-code-view-46a8d3dce54e.js" ></script>
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/primer-react.797c8ec006b327590422.module.css" />
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/react-code-view.6b587a69b593e23c3657.module.css" />
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/primer-react-753dc87b1e29.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/react-core-accb67f1350f.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/react-lib-2131e17288a8.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/octicons-react-45c3a19dd792.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_tanstack_query-core_build_modern_queryClient_js-e6f07a7e80b7.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-37e3d5-92730c05e718.js" ></script>
<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-e7dcdd-f7cc96ebae76.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/notifications-subscriptions-menu-51601778bd8d.js" ></script>
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/primer-react.797c8ec006b327590422.module.css" />
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" />
<title>install-scripts/src/dotnet-install.sh at main · dotnet/install-scripts · GitHub</title>
<meta name = "route-pattern" content = "/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
<meta name = "route-controller" content = "blob" data-turbo-transient>
<meta name = "route-action" content = "show" data-turbo-transient>
<meta name = "current-catalog-service-hash" content = "f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb" >
<meta name = "request-id" content = "CB99:D7FA:12A274B:1DC504D:6769E0A4" data-pjax-transient= "true" /><meta name = "html-safe-nonce" content = "98622f942b80b287f257035ef4214c9ef00f8cf6575d154983954fa5ea345b67" data-pjax-transient= "true" /><meta name = "visitor-payload" content = "eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQjk5OkQ3RkE6MTJBMjc0QjoxREM1MDREOjY3NjlFMEE0IiwidmlzaXRvcl9pZCI6Ijc3NTc0NDE3MzU1ODYzNDEwMjgiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==" data-pjax-transient= "true" /><meta name = "visitor-hmac" content = "73020f6f28716ef8cb394fc3751d06350f186c26616860e76de00ea62832f110" data-pjax-transient= "true" />
<meta name = "hovercard-subject-tag" content = "repository:265272737" data-turbo-transient>
<meta name = "github-keyboard-shortcuts" content = "repository,source-code,file-tree,copilot" data-turbo-transient= "true" />
<meta name = "selected-link" value = "repo_source" data-turbo-transient>
<link rel = "assets" href = "https://github.githubassets.com/" >
<meta name = "google-site-verification" content = "Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I" >
<meta name = "octolytics-url" content = "https://collector.github.com/github/collect" />
<meta name = "analytics-location" content = "/<user-name>/<repo-name>/blob/show" data-turbo-transient= "true" />
<meta name = "user-login" content = "" >
<meta name = "viewport" content = "width=device-width" >
<meta name = "description" content = "Contribute to dotnet/install-scripts development by creating an account on GitHub." >
<link rel = "search" type = "application/opensearchdescription+xml" href = "/opensearch.xml" title = "GitHub" >
<link rel = "fluid-icon" href = "https://github.com/fluidicon.png" title = "GitHub" >
<meta property = "fb:app_id" content = "1401488693436528" >
<meta name = "apple-itunes-app" content = "app-id=1477376905, app-argument=https://github.com/dotnet/install-scripts/blob/main/src/dotnet-install.sh" />
<meta name = "twitter:image" content = "https://opengraph.githubassets.com/3cff52a1f0d52eaf67a2520004da937ef9c8b434ae6972552ecb92c70b50a870/dotnet/install-scripts" /><meta name = "twitter:site" content = "@github" /><meta name = "twitter:card" content = "summary_large_image" /><meta name = "twitter:title" content = "install-scripts/src/dotnet-install.sh at main · dotnet/install-scripts" /><meta name = "twitter:description" content = "Contribute to dotnet/install-scripts development by creating an account on GitHub." />
<meta property = "og:image" content = "https://opengraph.githubassets.com/3cff52a1f0d52eaf67a2520004da937ef9c8b434ae6972552ecb92c70b50a870/dotnet/install-scripts" /><meta property = "og:image:alt" content = "Contribute to dotnet/install-scripts 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 = "install-scripts/src/dotnet-install.sh at main · dotnet/install-scripts" /><meta property = "og:url" content = "https://github.com/dotnet/install-scripts/blob/main/src/dotnet-install.sh" /><meta property = "og:description" content = "Contribute to dotnet/install-scripts development by creating an account on GitHub." />
<meta name = "hostname" content = "github.com" >
<meta name = "expected-hostname" content = "github.com" >
<meta http-equiv= "x-pjax-version" content = "3c1eadc3d84284d239af1be35a327ecf19b858b907e57785826f9128d6118bc8" data-turbo-track= "reload" >
<meta http-equiv= "x-pjax-csp-version" content = "ace39c3b6632770952207593607e6e0be0db363435a8b877b1f96abe6430f345" data-turbo-track= "reload" >
<meta http-equiv= "x-pjax-css-version" content = "137747501b000c3c7ab6b8b92f1ded64f18d692f67bb1c163ffcea3636000502" data-turbo-track= "reload" >
<meta http-equiv= "x-pjax-js-version" content = "ebf47e19393f392c675be74b18396aab5d930da7c6b4254d3ba0daab91830199" data-turbo-track= "reload" >
<meta name = "turbo-cache-control" content = "no-preview" data-turbo-transient= "" >
<meta name = "turbo-cache-control" content = "no-cache" data-turbo-transient>
<meta data-hydrostats= "publish" >
<meta name = "go-import" content = "github.com/dotnet/install-scripts git https://github.com/dotnet/install-scripts.git" >
<meta name = "octolytics-dimension-user_id" content = "9141961" /><meta name = "octolytics-dimension-user_login" content = "dotnet" /><meta name = "octolytics-dimension-repository_id" content = "265272737" /><meta name = "octolytics-dimension-repository_nwo" content = "dotnet/install-scripts" /><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 = "265272737" /><meta name = "octolytics-dimension-repository_network_root_nwo" content = "dotnet/install-scripts" />
<meta name = "turbo-body-classes" content = "logged-out env-production page-responsive" >
<meta name = "browser-stats-url" content = "https://api.github.com/_private/browser/stats" >
<meta name = "browser-errors-url" content = "https://api.github.com/_private/browser/errors" >
<link rel = "mask-icon" href = "https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color = "#000000" >
<link rel = "alternate icon" class = "js-site-favicon" type = "image/png" href = "https://github.githubassets.com/favicons/favicon.png" >
<link rel = "icon" class = "js-site-favicon" type = "image/svg+xml" href = "https://github.githubassets.com/favicons/favicon.svg" data-base-href= "https://github.githubassets.com/favicons/favicon" >
<meta name = "theme-color" content = "#1e2327" >
<meta name = "color-scheme" content = "light dark" />
<link rel = "manifest" href = "/manifest.json" crossOrigin = "use-credentials" >
</head>
<body class = "logged-out env-production page-responsive" style = "word-wrap: break-word;" >
<div data-turbo-body class = "logged-out env-production page-responsive" style = "word-wrap: break-word;" >
<div class = "position-relative header-wrapper js-header-wrapper " >
<a href = "#start-of-content" data-skip-target-assigned= "false" class = "px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content" >Skip to content</a>
<span data-view-component= "true" class = "progress-pjax-loader Progress position-fixed width-full" >
<span style = "width: 0%;" data-view-component= "true" class = "Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis" ></span>
</span>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-df3b47d86af0.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/keyboard-shortcuts-dialog-958cae8ecd6c.js" ></script>
<link crossorigin = "anonymous" media = "all" rel = "stylesheet" href = "https://github.githubassets.com/assets/primer-react.797c8ec006b327590422.module.css" />
<react-partial
partial-name= "keyboard-shortcuts-dialog"
data-ssr= "false"
data-attempted-ssr= "false"
>
<script type = "application/json" data-target= "react-partial.embeddedData" >{ "props" :{ "docsUrl" :"https://docs.github.com/get-started/accessibility/keyboard-shortcuts" } } </script>
<div data-target= "react-partial.reactRoot" ></div>
</react-partial>
<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-73b675cf164a.js" ></script>
<script crossorigin = "anonymous" defer = "defer" type = "application/javascript" src = "https://github.githubassets.com/assets/sessions-5d6426bbf16a.js" ></script>
<header class = "HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role = "banner" data-is-top= "true" data-color-mode= light data-light-theme= light data-dark-theme= dark>
<h2 class = "sr-only" >Navigation Menu</h2>
<button type = "button" class = "HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label= "Toggle navigation" >
<span class = "d-none" >Toggle navigation</span>
</button>
<div class = "d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1" >
<div class = "d-flex flex-justify-between flex-items-center width-full width-lg-auto" >
<div class = "flex-1" >
<button aria-label= "Toggle navigation" aria-expanded= "false" type = "button" data-view-component= "true" class = "js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1" > <span class = "Button-content" >
<span class = "Button-label" ><div class = "HeaderMenu-toggle-bar rounded my-1" ></div>
<div class = "HeaderMenu-toggle-bar rounded my-1" ></div>
<div class = "HeaderMenu-toggle-bar rounded my-1" ></div></span>
</span>
</button>
</div>
<a class = "mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav"
href = "/"
aria-label= "Homepage"
data-analytics-event= "{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}" >
<svg height = "32" aria-hidden= "true" viewBox = "0 0 24 24" version = "1.1" width = "32" data-view-component= "true" class = "octicon octicon-mark-github" >
<path d = "M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z" ></path>
</svg>
</a>
<div class = "flex-1 flex-order-2 text-right" >
<a
href = "/login?return_to=https%3A%2F%2Fgithub.com%2Fdotnet%2Finstall-scripts%2Fblob%2Fmain%2Fsrc%2Fdotnet-install.sh"
class = "HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav"
data-hydro-click= "{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/dotnet/install-scripts/blob/main/src/dotnet-install.sh","user_id":null}}" data-hydro-click-hmac= "a8d43443ad820300473809f3575237b294fd33470087df0af09108bd4f4729fb"
data-analytics-event= "{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}"
>
Sign in
</a>
</div>
</div>
<div class = "HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0" >
<div class = "HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0" >
<nav class = "HeaderMenu-nav" aria-label= "Global" >
<ul class = "d-lg-flex list-style-none" >
<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" >
<button type = "button" class = "HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded= "false" >
Product
<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" >
<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>
</svg>
</button>
<div class = "HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide" >
<div class = "HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7" >
<div class = "border-bottom pb-3 pb-lg-0 border-lg-bottom-0" >
<ul class = "list-style-none f5" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}" href = "https://github.com/features/copilot" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >GitHub Copilot</div>
Write better code with AI
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"security","context":"product","tag":"link","label":"security_link_product_navbar"}" href = "https://github.com/features/security" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >Security</div>
Find and fix vulnerabilities
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}" href = "https://github.com/features/actions" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >Actions</div>
Automate any workflow
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}" href = "https://github.com/features/codespaces" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >Codespaces</div>
Instant dev environments
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}" href = "https://github.com/features/issues" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >Issues</div>
Plan and track work
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}" href = "https://github.com/features/code-review" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >Code Review</div>
Manage code changes
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}" href = "https://github.com/features/discussions" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >Discussions</div>
Collaborate outside of code
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event= "{"location":"navbar","action":"code_search","context":"product","tag":"link","label":"code_search_link_product_navbar"}" href = "https://github.com/features/code-search" >
<svg aria-hidden= "true" height = "24" viewBox = "0 0 24 24" version = "1.1" width = "24" data-view-component= "true" class = "octicon octicon-code-square color-fg-subtle mr-3" >
<path d = "M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.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 = "M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z" ></path>
</svg>
<div>
<div class = "color-fg-default h4" >Code Search</div>
Find more, search less
</div>
</a></li>
</ul>
</div>
</div>
<div class = "HeaderMenu-column px-lg-4" >
<div class = "border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0" >
<span class = "d-block h4 color-fg-default my-1" id = "product-explore-heading" >Explore</span>
<ul class = "list-style-none f5" aria-labelledby= "product-explore-heading" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}" href = "https://github.com/features" >
All features
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target = "_blank" data-analytics-event= "{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}" href = "https://docs.github.com" >
Documentation
<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" >
<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>
</svg>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target = "_blank" data-analytics-event= "{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}" href = "https://skills.github.com" >
GitHub Skills
<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" >
<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>
</svg>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target = "_blank" data-analytics-event= "{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}" href = "https://github.blog" >
Blog
<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" >
<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>
</svg>
</a></li>
</ul>
</div>
</div>
</div>
</li>
<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" >
<button type = "button" class = "HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded= "false" >
Solutions
<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" >
<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>
</svg>
</button>
<div class = "HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide" >
<div class = "HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7" >
<div class = "border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0" >
<span class = "d-block h4 color-fg-default my-1" id = "solutions-by-company-size-heading" >By company size</span>
<ul class = "list-style-none f5" aria-labelledby= "solutions-by-company-size-heading" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"enterprises","context":"solutions","tag":"link","label":"enterprises_link_solutions_navbar"}" href = "https://github.com/enterprise" >
Enterprises
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"small_and_medium_teams","context":"solutions","tag":"link","label":"small_and_medium_teams_link_solutions_navbar"}" href = "https://github.com/team" >
Small and medium teams
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}" href = "https://github.com/enterprise/startups" >
Startups
</a></li>
</ul>
</div>
<div class = "border-bottom pb-3 pb-lg-0 border-lg-bottom-0" >
<span class = "d-block h4 color-fg-default my-1" id = "solutions-by-use-case-heading" >By use case </span>
<ul class = "list-style-none f5" aria-labelledby= "solutions-by-use-case-heading" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}" href = "/solutions/use-case/devsecops" >
DevSecOps
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}" href = "/solutions/use-case/devops" >
DevOps
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"ci_cd","context":"solutions","tag":"link","label":"ci_cd_link_solutions_navbar"}" href = "/solutions/use-case/ci-cd" >
CI/CD
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"view_all_use_cases","context":"solutions","tag":"link","label":"view_all_use_cases_link_solutions_navbar"}" href = "/solutions/use-case" >
View all use cases
</a></li>
</ul>
</div>
</div>
<div class = "HeaderMenu-column px-lg-4" >
<div class = "border-bottom pb-3 pb-lg-0 border-lg-bottom-0" >
<span class = "d-block h4 color-fg-default my-1" id = "solutions-by-industry-heading" >By industry</span>
<ul class = "list-style-none f5" aria-labelledby= "solutions-by-industry-heading" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}" href = "/solutions/industry/healthcare" >
Healthcare
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}" href = "/solutions/industry/financial-services" >
Financial services
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}" href = "/solutions/industry/manufacturing" >
Manufacturing
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"government","context":"solutions","tag":"link","label":"government_link_solutions_navbar"}" href = "/solutions/industry/government" >
Government
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"view_all_industries","context":"solutions","tag":"link","label":"view_all_industries_link_solutions_navbar"}" href = "/solutions/industry" >
View all industries
</a></li>
</ul>
</div>
</div>
<div class = "HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold" >
<a href = "/solutions" >
View all solutions
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-chevron-right HeaderMenu-trailing-link-icon" >
<path d = "M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z" ></path>
</svg>
</a> </div>
</div>
</li>
<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" >
<button type = "button" class = "HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded= "false" >
Resources
<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" >
<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>
</svg>
</button>
<div class = "HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide" >
<div class = "HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7" >
<div class = "border-bottom pb-3 pb-lg-0 border-lg-bottom-0" >
<span class = "d-block h4 color-fg-default my-1" id = "resources-topics-heading" >Topics</span>
<ul class = "list-style-none f5" aria-labelledby= "resources-topics-heading" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}" href = "/resources/articles/ai" >
AI
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}" href = "/resources/articles/devops" >
DevOps
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}" href = "/resources/articles/security" >
Security
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}" href = "/resources/articles/software-development" >
Software Development
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}" href = "/resources/articles" >
View all
</a></li>
</ul>
</div>
</div>
<div class = "HeaderMenu-column px-lg-4" >
<div class = "border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0" >
<span class = "d-block h4 color-fg-default my-1" id = "resources-explore-heading" >Explore</span>
<ul class = "list-style-none f5" aria-labelledby= "resources-explore-heading" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target = "_blank" data-analytics-event= "{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}" href = "https://resources.github.com/learn/pathways" >
Learning Pathways
<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" >
<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>
</svg>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target = "_blank" data-analytics-event= "{"location":"navbar","action":"white_papers_ebooks_webinars","context":"resources","tag":"link","label":"white_papers_ebooks_webinars_link_resources_navbar"}" href = "https://resources.github.com" >
White papers, Ebooks, Webinars
<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" >
<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>
</svg>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}" href = "https://github.com/customer-stories" >
Customer Stories
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target = "_blank" data-analytics-event= "{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}" href = "https://partner.github.com" >
Partners
<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" >
<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>
</svg>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"executive_insights","context":"resources","tag":"link","label":"executive_insights_link_resources_navbar"}" href = "https://github.com/solutions/executive-insights" >
Executive Insights
</a></li>
</ul>
</div>
</div>
</div>
</li>
<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" >
<button type = "button" class = "HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded= "false" >
Open Source
<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" >
<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>
</svg>
</button>
<div class = "HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4" >
<div class = "HeaderMenu-column" >
<div class = "border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3" >
<ul class = "list-style-none f5" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event= "{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}" href = "/sponsors" >
<div>
<div class = "color-fg-default h4" >GitHub Sponsors</div>
Fund open source developers
</div>
</a></li>
</ul>
</div>
<div class = "border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3" >
<ul class = "list-style-none f5" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event= "{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}" href = "https://github.com/readme" >
<div>
<div class = "color-fg-default h4" >The ReadME Project</div>
GitHub community articles
</div>
</a></li>
</ul>
</div>
<div class = "border-bottom pb-3 pb-lg-0 border-bottom-0" >
<span class = "d-block h4 color-fg-default my-1" id = "open-source-repositories-heading" >Repositories</span>
<ul class = "list-style-none f5" aria-labelledby= "open-source-repositories-heading" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}" href = "https://github.com/topics" >
Topics
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}" href = "https://github.com/trending" >
Trending
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event= "{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}" href = "https://github.com/collections" >
Collections
</a></li>
</ul>
</div>
</div>
</div>
</li>
<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" >
<button type = "button" class = "HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded= "false" >
Enterprise
<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" >
<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>
</svg>
</button>
<div class = "HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4" >
<div class = "HeaderMenu-column" >
<div class = "border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3" >
<ul class = "list-style-none f5" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event= "{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}" href = "/enterprise" >
<svg aria-hidden= "true" height = "24" viewBox = "0 0 24 24" version = "1.1" width = "24" data-view-component= "true" class = "octicon octicon-stack color-fg-subtle mr-3" >
<path d = "M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z" ></path><path d = "M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z" ></path><path d = "M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z" ></path>
</svg>
<div>
<div class = "color-fg-default h4" >Enterprise platform</div>
AI-powered developer platform
</div>
</a></li>
</ul>
</div>
<div class = "border-bottom pb-3 pb-lg-0 border-bottom-0" >
<span class = "d-block h4 color-fg-default my-1" id = "enterprise-available-add-ons-heading" >Available add-ons</span>
<ul class = "list-style-none f5" aria-labelledby= "enterprise-available-add-ons-heading" >
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"advanced_security","context":"enterprise","tag":"link","label":"advanced_security_link_enterprise_navbar"}" href = "https://github.com/enterprise/advanced-security" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >Advanced Security</div>
Enterprise-grade security features
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event= "{"location":"navbar","action":"github_copilot","context":"enterprise","tag":"link","label":"github_copilot_link_enterprise_navbar"}" href = "/features/copilot#enterprise" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >GitHub Copilot</div>
Enterprise-grade AI features
</div>
</a></li>
<li>
<a class = "HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event= "{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}" href = "/premium-support" >
<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" >
<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>
</svg>
<div>
<div class = "color-fg-default h4" >Premium Support</div>
Enterprise-grade 24/7 support
</div>
</a></li>
</ul>
</div>
</div>
</div>
</li>
<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" >
<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= "{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}" href = "https://github.com/pricing" >Pricing</a>
</li>
</ul>
</nav>
<div class = "d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3" >
<qbsearch-input class = "search-input" data-scope= "repo:dotnet/install-scripts" data-custom-scopes-path= "/search/custom_scopes" data-delete-custom-scopes-csrf= "jpr5QiS8jXgCVEgTIn_I0eLdtxQ8sCkJOsg2hOHacpqg8SP0T1yenCdJBp7TGEB067HVb5eB0e1ddBUnprIVug" 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= "dotnet/install-scripts" data-current-org= "dotnet" data-current-owner= "" data-logged-in= "false" data-copilot-chat-enabled= "false" data-nl-search-enabled= "false" data-retain-scroll-position= "true" >
<div
class = "search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded"
data-action= "click:qbsearch-input#searchInputContainerClicked"
>
<button
type = "button"
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"
data-target= "qbsearch-input.inputButton"
aria-label= "Search or jump to…"
aria-haspopup= "dialog"
placeholder = "Search or jump to..."
data-hotkey= s,/
autocapitalize = "off"
data-analytics-event= "{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}"
data-action= "click:qbsearch-input#handleExpand"
>
<div class = "mr-2 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-search" >
<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>
</svg>
</div>
<span class = "flex-1" data-target= "qbsearch-input.inputButtonText" >Search or jump to...</span>
<div class = "d-flex" data-target= "qbsearch-input.hotkeyIndicator" >
<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>
</div>
</button>
<input type = "hidden" name = "type" class = "js-site-search-type-field" >
<div class = "Overlay--hidden " data-modal-dialog-overlay>
<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" >
<h1 id = "search-suggestions-dialog-header" class = "sr-only" >Search code, repositories, users, issues, pull requests...</h1>
<div class = "Overlay-body Overlay-body--paddingNone" >
<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"
style = "border-radius: 12px;"
data-target= "qbsearch-input.queryBuilderContainer"
hidden
>
<!-- ' "` --><!-- </textarea></xmp> --></option></form><form id=" query-builder-test-form" action=" " accept-charset=" UTF-8" method=" get" >
<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" >
<div class = "FormControl FormControl--fullWidth" >
<label id = "query-builder-test-label" for = "query-builder-test" class = "FormControl-label sr-only" >
Search
</label>
<div
class = "QueryBuilder-StyledInput width-fit "
data-target= "query-builder.styledInput"
>
<span id = "query-builder-test-leadingvisual-wrap" class = "FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap" >
<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" >
<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>
</svg>
</span>
<div data-target= "query-builder.styledInputContainer" class = "QueryBuilder-StyledInputContainer" >
<div
aria-hidden= "true"
class = "QueryBuilder-StyledInputContent"
data-target= "query-builder.styledInputContent"
></div>
<div class = "QueryBuilder-InputWrapper" >
<div aria-hidden= "true" class = "QueryBuilder-Sizer" data-target= "query-builder.sizer" ></div>
<input id = "query-builder-test" name = "query-builder-test" value = "" autocomplete = "off" type = "text" role = "combobox" spellcheck = "false" aria-expanded= "false" aria-describedby= "validation-da59f19e-631c-462d-a876-bcda15df1812" data-target= "query-builder.input" data-action= "
input:query-builder#inputChange
blur:query-builder#inputBlur
keydown:query-builder#inputKeydown
focus:query-builder#inputFocus
" data-view-component=" true" class=" FormControl-input QueryBuilder-Input FormControl-medium" />
</div>
</div>
<span class = "sr-only" id = "query-builder-test-clear" >Clear</span>
<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= "
click:query-builder#clear
focus:query-builder#clearButtonFocus
blur:query-builder#clearButtonBlur
" 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" >
<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>
</svg>
</button>
</div>
<template id = "search-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-search" >
<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>
</svg>
</template>
<template id = "code-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-code" >
<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>
</svg>
</template>
<template id = "file-code-icon" >
<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" >
<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>
</svg>
</template>
<template id = "history-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-history" >
<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>
</svg>
</template>
<template id = "repo-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-repo" >
<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>
</svg>
</template>
<template id = "bookmark-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-bookmark" >
<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>
</svg>
</template>
<template id = "plus-circle-icon" >
<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" >
<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>
</svg>
</template>
<template id = "circle-icon" >
<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" >
<path d = "M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z" ></path>
</svg>
</template>
<template id = "trash-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-trash" >
<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>
</svg>
</template>
<template id = "team-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-people" >
<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>
</svg>
</template>
<template id = "project-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-project" >
<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>
</svg>
</template>
<template id = "pencil-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-pencil" >
<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>
</svg>
</template>
<template id = "copilot-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-copilot" >
<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>
</svg>
</template>
<template id = "copilot-error-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-copilot-error" >
<path d = "M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 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.095Zm-5.083-8.707c-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-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-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-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z" ></path>
</svg>
</template>
<template id = "workflow-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-workflow" >
<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>
</svg>
</template>
<template id = "book-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-book" >
<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>
</svg>
</template>
<template id = "code-review-icon" >
<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" >
<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>
</svg>
</template>
<template id = "codespaces-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-codespaces" >
<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>
</svg>
</template>
<template id = "comment-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-comment" >
<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>
</svg>
</template>
<template id = "comment-discussion-icon" >
<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" >
<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>
</svg>
</template>
<template id = "organization-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-organization" >
<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>
</svg>
</template>
<template id = "rocket-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-rocket" >
<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>
</svg>
</template>
<template id = "shield-check-icon" >
<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" >
<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>
</svg>
</template>
<template id = "heart-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-heart" >
<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>
</svg>
</template>
<template id = "server-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-server" >
<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>
</svg>
</template>
<template id = "globe-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-globe" >
<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>
</svg>
</template>
<template id = "issue-opened-icon" >
<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" >
<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>
</svg>
</template>
<template id = "device-mobile-icon" >
<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" >
<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>
</svg>
</template>
<template id = "package-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-package" >
<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>
</svg>
</template>
<template id = "credit-card-icon" >
<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" >
<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>
</svg>
</template>
<template id = "play-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-play" >
<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>
</svg>
</template>
<template id = "gift-icon" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-gift" >
<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>
</svg>
</template>
<template id = "code-square-icon" >
<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" >
<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>
</svg>
</template>
<template id = "device-desktop-icon" >
<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" >
<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>
</svg>
</template>
<div class = "position-relative" >
<ul
role = "listbox"
class = "ActionListWrap QueryBuilder-ListWrap"
aria-label= "Suggestions"
data-action= "
combobox-commit:query-builder#comboboxCommit
mousedown:query-builder#resultsMousedown
"
data-target= "query-builder.resultsList"
data-persist-list= false
id = "query-builder-test-results"
></ul>
</div>
<div class = "FormControl-inlineValidation" id = "validation-da59f19e-631c-462d-a876-bcda15df1812" hidden = "hidden" >
<span class = "FormControl-inlineValidation--visual" >
<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" >
<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>
</svg>
</span>
<span></span>
</div> </div>
<div data-target= "query-builder.screenReaderFeedback" aria-live= "polite" aria-atomic= "true" class = "sr-only" ></div>
</query-builder></form>
<div class = "d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt" >
<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" >Search syntax tips</a> <div class = "d-flex flex-1" ></div>
</div>
</div>
</div>
</div>
</modal-dialog></div>
</div>
<div data-action= "click:qbsearch-input#retract" class = "dark-backdrop position-fixed" hidden data-target= "qbsearch-input.darkBackdrop" ></div>
<div class = "color-fg-default" >
<dialog-helper>
<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 Overlay--disableScroll" >
<div data-view-component= "true" class = "Overlay-header" >
<div class = "Overlay-headerContentWrap" >
<div class = "Overlay-titleWrap" >
<h1 class = "Overlay-title " id = "feedback-dialog-title" >
Provide feedback
</h1>
</div>
<div class = "Overlay-actionWrap" >
<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" >
<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>
</svg></button>
</div>
</div>
</div>
<scrollable-region data-labelled-by= "feedback-dialog-title" >
<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=" G5Wq7Gz0PmoItkY1YtiS4paQtWv0ocpHUw9ugLa71oK3LtI40T8ZumYwxzb12GlUuXRgf2l+NxqVfh1WyLJQaw= = " />
<p>We read every piece of feedback, and take your input very seriously.</p>
<textarea name = "feedback" class = "form-control width-full mb-2" style = "height: 120px" id = "feedback" ></textarea>
<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" >
<label for = "include_email" style = "font-weight: normal" >Include my email address so I can be contacted</label>
</form></div>
</scrollable-region>
<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
</button>
<button form = "code-search-feedback-form" data-action= "click:qbsearch-input#submitFeedback" type = "submit" data-view-component= "true" class = "btn-primary btn" > Submit feedback
</button>
</div>
</dialog></dialog-helper>
<custom-scopes data-target= "qbsearch-input.customScopesManager" >
<dialog-helper>
<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 Overlay--disableScroll" >
<div data-view-component= "true" class = "Overlay-header Overlay-header--divided" >
<div class = "Overlay-headerContentWrap" >
<div class = "Overlay-titleWrap" >
<h1 class = "Overlay-title " id = "custom-scopes-dialog-title" >
Saved searches
</h1>
<h2 id = "custom-scopes-dialog-description" class = "Overlay-description" >Use saved searches to filter your results more quickly</h2>
</div>
<div class = "Overlay-actionWrap" >
<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" >
<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>
</svg></button>
</div>
</div>
</div>
<scrollable-region data-labelled-by= "custom-scopes-dialog-title" >
<div data-view-component= "true" class = "Overlay-body" > <div data-target= "custom-scopes.customScopesModalDialogFlash" ></div>
<div hidden class = "create-custom-scope-form" data-target= "custom-scopes.createCustomScopeForm" >
<!-- ' "` --><!-- </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=" AN+ONuwtFwK7JfegD1w622qM+Jmufzwgq55C6rZE1T9sJ8x1aC1aZ6tX4204Z3fwefRWBrQQcOYE+JMHK7NBLA= = " />
<div data-target= "custom-scopes.customScopesModalDialogFlash" ></div>
<input type = "hidden" id = "custom_scope_id" name = "custom_scope_id" data-target= "custom-scopes.customScopesIdField" >
<div class = "form-group" >
<label for = "custom_scope_name" >Name</label>
<auto-check src = "/search/custom_scopes/check_name" required>
<input
type = "text"
name = "custom_scope_name"
id = "custom_scope_name"
data-target= "custom-scopes.customScopesNameField"
class = "form-control"
autocomplete = "off"
placeholder = "github-ruby"
required
maxlength = "50" >
<input type = "hidden" data-csrf= "true" value = "jZq+/MtCNYE9yxZe0CsBmqWeXJs3fB4dAIINhTe1WyPoroU4tn5ambjWO5Ph96+ZY4N6q+qnWvaDhVbh9RqotA==" />
</auto-check>
</div>
<div class = "form-group" >
<label for = "custom_scope_query" >Query</label>
<input
type = "text"
name = "custom_scope_query"
id = "custom_scope_query"
data-target= "custom-scopes.customScopesQueryField"
class = "form-control"
autocomplete = "off"
placeholder = "(repo:mona/a OR repo:mona/b) AND lang:python"
required
maxlength = "500" >
</div>
<p class = "text-small color-fg-muted" >
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>.
</p>
</form> </div>
<div data-target= "custom-scopes.manageCustomScopesForm" >
<div data-target= "custom-scopes.list" ></div>
</div>
</div>
</scrollable-region>
<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
</button>
<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
</button>
</div>
</dialog></dialog-helper>
</custom-scopes>
</div>
</qbsearch-input>
<div class = "position-relative HeaderMenu-link-wrap d-lg-inline-block" >
<a
href = "/login?return_to=https%3A%2F%2Fgithub.com%2Fdotnet%2Finstall-scripts%2Fblob%2Fmain%2Fsrc%2Fdotnet-install.sh"
class = "HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1"
style = "margin-left: 12px;"
data-hydro-click= "{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/dotnet/install-scripts/blob/main/src/dotnet-install.sh","user_id":null}}" data-hydro-click-hmac= "a8d43443ad820300473809f3575237b294fd33470087df0af09108bd4f4729fb"
data-analytics-event= "{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}"
>
Sign in
</a>
</div>
<a href = "/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo&source_repo=dotnet%2Finstall-scripts"
class = "HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1"
data-hydro-click= "{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/dotnet/install-scripts/blob/main/src/dotnet-install.sh","user_id":null}}" data-hydro-click-hmac= "a8d43443ad820300473809f3575237b294fd33470087df0af09108bd4f4729fb"
data-analytics-event= "{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/blob/show;ref_cta:Sign up;ref_loc:header logged out"}"
>
Sign up
</a>
<button type = "button" class = "sr-only js-header-menu-focus-trap d-block d-lg-none" >Reseting focus</button>
</div>
</div>
</div>
</div>
</header>
<div hidden = "hidden" data-view-component= "true" class = "js-stale-session-flash stale-session-flash flash flash-warn flash-full" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-alert" >
<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>
</svg>
<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>
<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>
<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>
<button id = "icon-button-be23fbae-373e-4d8d-a1bb-11c3fd8f27e0" aria-labelledby= "tooltip-cf303228-5f3f-4ab0-8d6d-27ce7efc649e" 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" >
<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>
</svg>
</button><tool-tip id = "tooltip-cf303228-5f3f-4ab0-8d6d-27ce7efc649e" for = "icon-button-be23fbae-373e-4d8d-a1bb-11c3fd8f27e0" popover = "manual" data-direction= "s" data-type= "label" data-view-component= "true" class = "sr-only position-absolute" >Dismiss alert</tool-tip>
</div>
</div>
<div id = "start-of-content" class = "show-on-focus" ></div>
<div id = "js-flash-container" class = "flash-container" data-turbo-replace>
<template class = "js-flash-template" >
<div class = "flash flash-full {{ className }}" >
<div >
<button autofocus class = "flash-close js-flash-close" type = "button" aria-label= "Dismiss this message" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-x" >
<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>
</svg>
</button>
<div aria-atomic= "true" role = "alert" class = "js-flash-alert" >
<div>{ { message } } </div>
</div>
</div>
</div>
</template>
</div>
<div
class = "application-main "
data-commit-hovercards-enabled
data-discussion-hovercards-enabled
data-issue-and-pr-hovercards-enabled
data-project-hovercards-enabled
>
<div itemscope itemtype = "http://schema.org/SoftwareSourceCode" class = "" >
<main id = "js-repo-pjax-container" >
<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>
<div class = "d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style = "gap: 1rem;" >
<div class = "flex-auto min-width-0 width-fit" >
<div class = " d-flex flex-wrap flex-items-center wb-break-word f3 text-normal" >
<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" >
<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>
</svg>
<span class = "author flex-self-stretch" itemprop = "author" >
<a class = "url fn" rel = "author" data-hovercard-type= "organization" data-hovercard-url= "/orgs/dotnet/hovercard" data-octo-click= "hovercard-link-click" data-octo-dimensions= "link_type:self" href = "/dotnet" >
dotnet
</a> </span>
<span class = "mx-1 flex-self-stretch color-fg-muted" >/</span>
<strong itemprop = "name" class = "mr-2 flex-self-stretch" >
<a data-pjax= "#repo-content-pjax-container" data-turbo-frame= "repo-content-turbo-frame" href = "/dotnet/install-scripts" >install-scripts</a>
</strong>
<span></span><span class = "Label Label--secondary v-align-middle mr-1" >Public</span>
</div>
</div>
<div id = "repository-details-container" class = "flex-shrink-0" data-turbo-replace style = "max-width: 70%;" >
<ul class = "pagehead-actions flex-shrink-0 d-none d-md-inline" style = "padding: 2px 0;" >
<li>
<a href = "/login?return_to=%2Fdotnet%2Finstall-scripts" rel = "nofollow" id = "repository-details-watch-button" data-hydro-click= "{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/dotnet/install-scripts/blob/main/src/dotnet-install.sh","user_id":null}}" data-hydro-click-hmac= "f09fbf414c8f7ce940077eef88697daad290a6a7618409d8e48826d680b7d646" aria-label= "You must be signed in to change notification settings" 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-bell mr-2" >
<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>
</svg>Notifications
</a> <tool-tip id = "tooltip-3727229f-8f69-4761-ba0a-9dc6d5f9f963" for = "repository-details-watch-button" popover = "manual" data-direction= "s" data-type= "description" data-view-component= "true" class = "sr-only position-absolute" >You must be signed in to change notification settings</tool-tip>
</li>
<li>
<a icon = "repo-forked" id = "fork-button" href = "/login?return_to=%2Fdotnet%2Finstall-scripts" rel = "nofollow" data-hydro-click= "{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":265272737,"auth_type":"LOG_IN","originating_url":"https://github.com/dotnet/install-scripts/blob/main/src/dotnet-install.sh","user_id":null}}" data-hydro-click-hmac= "9426ecdbf0907c4dd3b1c4eac33dc9bd753763900896d30e3540b6b4109b3817" 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" >
<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>
</svg>Fork
<span id = "repo-network-counter" data-pjax-replace= "true" data-turbo-replace= "true" title = "76" data-view-component= "true" class = "Counter" >76</span>
</a>
</li>
<li>
<div data-view-component= "true" class = "BtnGroup d-flex" >
<a href = "/login?return_to=%2Fdotnet%2Finstall-scripts" rel = "nofollow" data-hydro-click= "{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":265272737,"auth_type":"LOG_IN","originating_url":"https://github.com/dotnet/install-scripts/blob/main/src/dotnet-install.sh","user_id":null}}" data-hydro-click-hmac= "2c4f219cb013426fbd3544aa34ca275ecb75bd40c78d05143b682e7c442c5d80" aria-label= "You must be signed in to star a repository" data-view-component= "true" class = "tooltipped tooltipped-sw 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-star v-align-text-bottom d-inline-block mr-2" >
<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>
</svg><span data-view-component= "true" class = "d-inline" >
Star
</span> <span id = "repo-stars-counter-star" aria-label= "147 users starred this repository" data-singular-suffix= "user starred this repository" data-plural-suffix= "users starred this repository" data-turbo-replace= "true" title = "147" data-view-component= "true" class = "Counter js-social-count" >147</span>
</a></div>
</li>
</ul>
</div>
</div>
<div id = "responsive-meta-container" data-turbo-replace>
</div>
<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" >
<ul data-view-component= "true" class = "UnderlineNav-body list-style-none" >
<li data-view-component= "true" class = "d-inline-flex" >
<a id = "code-tab" href = "/dotnet/install-scripts" 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 /dotnet/install-scripts" data-pjax= "#repo-content-pjax-container" data-turbo-frame= "repo-content-turbo-frame" data-hotkey= "g c" data-analytics-event= "{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" aria-current= "page" data-view-component= "true" class = "UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected" >
<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" >
<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>
</svg>
<span data-content= "Code" >Code</span>
<span id = "code-repo-tab-count" data-pjax-replace= "" data-turbo-replace= "" title = "Not available" data-view-component= "true" class = "Counter" ></span>
</a></li>
<li data-view-component= "true" class = "d-inline-flex" >
<a id = "issues-tab" href = "/dotnet/install-scripts/issues" data-tab-item= "i1issues-tab" data-selected-links= "repo_issues repo_labels repo_milestones /dotnet/install-scripts/issues" data-pjax= "#repo-content-pjax-container" data-turbo-frame= "repo-content-turbo-frame" data-hotkey= "g i" data-analytics-event= "{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" data-view-component= "true" class = "UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item" >
<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" >
<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>
</svg>
<span data-content= "Issues" >Issues</span>
<span id = "issues-repo-tab-count" data-pjax-replace= "" data-turbo-replace= "" title = "10" data-view-component= "true" class = "Counter" >10</span>
</a></li>
<li data-view-component= "true" class = "d-inline-flex" >
<a id = "pull-requests-tab" href = "/dotnet/install-scripts/pulls" data-tab-item= "i2pull-requests-tab" data-selected-links= "repo_pulls checks /dotnet/install-scripts/pulls" data-pjax= "#repo-content-pjax-container" data-turbo-frame= "repo-content-turbo-frame" data-hotkey= "g p" data-analytics-event= "{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" data-view-component= "true" class = "UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item" >
<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" >
<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>
</svg>
<span data-content= "Pull requests" >Pull requests</span>
<span id = "pull-requests-repo-tab-count" data-pjax-replace= "" data-turbo-replace= "" title = "2" data-view-component= "true" class = "Counter" >2</span>
</a></li>
<li data-view-component= "true" class = "d-inline-flex" >
<a id = "projects-tab" href = "/dotnet/install-scripts/projects" data-tab-item= "i3projects-tab" data-selected-links= "repo_projects new_repo_project repo_project /dotnet/install-scripts/projects" data-pjax= "#repo-content-pjax-container" data-turbo-frame= "repo-content-turbo-frame" data-hotkey= "g b" data-analytics-event= "{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component= "true" class = "UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item" >
<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" >
<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>
</svg>
<span data-content= "Projects" >Projects</span>
<span id = "projects-repo-tab-count" data-pjax-replace= "" data-turbo-replace= "" title = "0" hidden = "hidden" data-view-component= "true" class = "Counter" >0</span>
</a></li>
<li data-view-component= "true" class = "d-inline-flex" >
<a id = "security-tab" href = "/dotnet/install-scripts/security" data-tab-item= "i4security-tab" data-selected-links= "security overview alerts policy token_scanning code_scanning /dotnet/install-scripts/security" data-pjax= "#repo-content-pjax-container" data-turbo-frame= "repo-content-turbo-frame" data-hotkey= "g s" data-analytics-event= "{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component= "true" class = "UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item" >
<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" >
<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>
</svg>
<span data-content= "Security" >Security</span>
<include-fragment src = "/dotnet/install-scripts/security/overall-count" accept = "text/fragment+html" ></include-fragment>
</a></li>
<li data-view-component= "true" class = "d-inline-flex" >
<a id = "insights-tab" href = "/dotnet/install-scripts/pulse" data-tab-item= "i5insights-tab" data-selected-links= "repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /dotnet/install-scripts/pulse" data-pjax= "#repo-content-pjax-container" data-turbo-frame= "repo-content-turbo-frame" data-analytics-event= "{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component= "true" class = "UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item" >
<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" >
<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>
</svg>
<span data-content= "Insights" >Insights</span>
<span id = "insights-repo-tab-count" data-pjax-replace= "" data-turbo-replace= "" title = "Not available" data-view-component= "true" class = "Counter" ></span>
</a></li>
</ul>
<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" >
<focus-group direction = "vertical" mnemonics retain>
<button id = "action-menu-d3c91ff4-cfe4-4011-9382-f454026afb4a-button" popovertarget = "action-menu-d3c91ff4-cfe4-4011-9382-f454026afb4a-overlay" aria-controls= "action-menu-d3c91ff4-cfe4-4011-9382-f454026afb4a-list" aria-haspopup= "true" aria-labelledby= "tooltip-0ad59549-97e1-441b-a04a-161e559f1edc" 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" >
<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>
</svg>
</button><tool-tip id = "tooltip-0ad59549-97e1-441b-a04a-161e559f1edc" for = "action-menu-d3c91ff4-cfe4-4011-9382-f454026afb4a-button" popover = "manual" data-direction= "s" data-type= "label" data-view-component= "true" class = "sr-only position-absolute" >Additional navigation options</tool-tip>
<anchored-position data-target= "action-menu.overlay" id = "action-menu-d3c91ff4-cfe4-4011-9382-f454026afb4a-overlay" anchor = "action-menu-d3c91ff4-cfe4-4011-9382-f454026afb4a-button" align = "start" side = "outside-bottom" anchor-offset= "normal" popover = "auto" data-view-component= "true" >
<div data-view-component= "true" class = "Overlay Overlay--size-auto" >
<div data-view-component= "true" class = "Overlay-body Overlay-body--paddingNone" > <action-list>
<div data-view-component= "true" >
<ul aria-labelledby= "action-menu-d3c91ff4-cfe4-4011-9382-f454026afb4a-button" id = "action-menu-d3c91ff4-cfe4-4011-9382-f454026afb4a-list" role = "menu" data-view-component= "true" class = "ActionListWrap--inset ActionListWrap" >
<li hidden = "hidden" data-menu-item= "i0code-tab" data-targets= "action-list.items" role = "none" data-view-component= "true" class = "ActionListItem" >
<a tabindex = "-1" id = "item-ef9082ad-bada-47e7-bad4-8ebe5b2f932d" href = "/dotnet/install-scripts" role = "menuitem" data-view-component= "true" class = "ActionListContent ActionListContent--visual16" >
<span class = "ActionListItem-visual ActionListItem-visual--leading" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-code" >
<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>
</svg>
</span>
<span data-view-component= "true" class = "ActionListItem-label" >
Code
</span>
</a>
</li>
<li hidden = "hidden" data-menu-item= "i1issues-tab" data-targets= "action-list.items" role = "none" data-view-component= "true" class = "ActionListItem" >
<a tabindex = "-1" id = "item-ca87a0c2-98cb-46ab-ad9f-328616c58f4a" href = "/dotnet/install-scripts/issues" role = "menuitem" data-view-component= "true" class = "ActionListContent ActionListContent--visual16" >
<span class = "ActionListItem-visual ActionListItem-visual--leading" >
<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" >
<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>
</svg>
</span>
<span data-view-component= "true" class = "ActionListItem-label" >
Issues
</span>
</a>
</li>
<li hidden = "hidden" data-menu-item= "i2pull-requests-tab" data-targets= "action-list.items" role = "none" data-view-component= "true" class = "ActionListItem" >
<a tabindex = "-1" id = "item-420d4d90-6b3e-46fb-852c-5bd7ff49c8b7" href = "/dotnet/install-scripts/pulls" role = "menuitem" data-view-component= "true" class = "ActionListContent ActionListContent--visual16" >
<span class = "ActionListItem-visual ActionListItem-visual--leading" >
<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" >
<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>
</svg>
</span>
<span data-view-component= "true" class = "ActionListItem-label" >
Pull requests
</span>
</a>
</li>
<li hidden = "hidden" data-menu-item= "i3projects-tab" data-targets= "action-list.items" role = "none" data-view-component= "true" class = "ActionListItem" >
<a tabindex = "-1" id = "item-41d2de95-e132-46c7-a696-6ba25b3e219f" href = "/dotnet/install-scripts/projects" role = "menuitem" data-view-component= "true" class = "ActionListContent ActionListContent--visual16" >
<span class = "ActionListItem-visual ActionListItem-visual--leading" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-table" >
<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>
</svg>
</span>
<span data-view-component= "true" class = "ActionListItem-label" >
Projects
</span>
</a>
</li>
<li hidden = "hidden" data-menu-item= "i4security-tab" data-targets= "action-list.items" role = "none" data-view-component= "true" class = "ActionListItem" >
<a tabindex = "-1" id = "item-41a05aa9-3089-4aa9-968c-db1816aa6222" href = "/dotnet/install-scripts/security" role = "menuitem" data-view-component= "true" class = "ActionListContent ActionListContent--visual16" >
<span class = "ActionListItem-visual ActionListItem-visual--leading" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-shield" >
<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>
</svg>
</span>
<span data-view-component= "true" class = "ActionListItem-label" >
Security
</span>
</a>
</li>
<li hidden = "hidden" data-menu-item= "i5insights-tab" data-targets= "action-list.items" role = "none" data-view-component= "true" class = "ActionListItem" >
<a tabindex = "-1" id = "item-7f9b139c-2a2e-4aa3-bbc8-e503eab07ee3" href = "/dotnet/install-scripts/pulse" role = "menuitem" data-view-component= "true" class = "ActionListContent ActionListContent--visual16" >
<span class = "ActionListItem-visual ActionListItem-visual--leading" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-graph" >
<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>
</svg>
</span>
<span data-view-component= "true" class = "ActionListItem-label" >
Insights
</span>
</a>
</li>
</ul>
</div></action-list>
</div>
</div></anchored-position> </focus-group>
</action-menu></div>
</nav>
</div>
<turbo-frame id = "repo-content-turbo-frame" target = "_top" data-turbo-action= "advance" class = "" >
<div id = "repo-content-pjax-container" class = "repository-content " >
<react-app
app-name= "react-code-view"
initial-path= "/dotnet/install-scripts/blob/main/src/dotnet-install.sh"
style = "display: block; min-height: calc(100vh - 64px);"
data-attempted-ssr= "true"
data-ssr= "true"
data-lazy= "false"
data-alternate= "false"
>
<script type = "application/json" data-target= "react-app.embeddedData" >{ "payload" :{ "allShortcutsEnabled" :false,"fileTree" :{ "src" :{ "items" :[ { "name" :".vscode" ,"path" :"src/.vscode" ,"contentType" :"directory" } ,{ "name" :"Signing" ,"path" :"src/Signing" ,"contentType" :"directory" } ,{ "name" :"dotnet-install.ps1" ,"path" :"src/dotnet-install.ps1" ,"contentType" :"file" } ,{ "name" :"dotnet-install.sh" ,"path" :"src/dotnet-install.sh" ,"contentType" :"file" } ,{ "name" :"install-dotnet-preview.sh" ,"path" :"src/install-dotnet-preview.sh" ,"contentType" :"file" } ] ,"totalCount" :5} ,"" :{ "items" :[ { "name" :".config" ,"path" :".config" ,"contentType" :"directory" } ,{ "name" :"docs" ,"path" :"docs" ,"contentType" :"directory" } ,{ "name" :"eng" ,"path" :"eng" ,"contentType" :"directory" } ,{ "name" :"src" ,"path" :"src" ,"contentType" :"directory" } ,{ "name" :"tests" ,"path" :"tests" ,"contentType" :"directory" } ,{ "name" :".editorconfig" ,"path" :".editorconfig" ,"contentType" :"file" } ,{ "name" :".gitattributes" ,"path" :".gitattributes" ,"contentType" :"file" } ,{ "name" :".gitignore" ,"path" :".gitignore" ,"contentType" :"file" } ,{ "name" :"Build.cmd" ,"path" :"Build.cmd" ,"contentType" :"file" } ,{ "name" :"CODE-OF-CONDUCT.md" ,"path" :"CODE-OF-CONDUCT.md" ,"contentType" :"file" } ,{ "name" :"Directory.Build.props" ,"path" :"Directory.Build.props" ,"contentType" :"file" } ,{ "name" :"Directory.Build.targets" ,"path" :"Directory.Build.targets" ,"contentType" :"file" } ,{ "name" :"Install-Scripts.sln" ,"path" :"Install-Scripts.sln" ,"contentType" :"file" } ,{ "name" :"LICENSE.TXT" ,"path" :"LICENSE.TXT" ,"contentType" :"file" } ,{ "name" :"NuGet.config" ,"path" :"NuGet.config" ,"contentType" :"file" } ,{ "name" :"THIRD-PARTY-NOTICES.TXT" ,"path" :"THIRD-PARTY-NOTICES.TXT" ,"contentType" :"file" } ,{ "name" :"azure-pipelines-PR.yml" ,"path" :"azure-pipelines-PR.yml" ,"contentType" :"file" } ,{ "name" :"azure-pipelines-official.yml" ,"path" :"azure-pipelines-official.yml" ,"contentType" :"file" } ,{ "name" :"build.sh" ,"path" :"build.sh" ,"contentType" :"file" } ,{ "name" :"dotnet-install.asc" ,"path" :"dotnet-install.asc" ,"contentType" :"file" } ,{ "name" :"global.json" ,"path" :"global.json" ,"contentType" :"file" } ,{ "name" :"testEnvironments.json" ,"path" :"testEnvironments.json" ,"contentType" :"file" } ] ,"totalCount" :22} } ,"fileTreeProcessingTime" :5.62274,"foldersToFetch" :[ ] ,"repo" :{ "id" :265272737,"defaultBranch" :"main" ,"name" :"install-scripts" ,"ownerLogin" :"dotnet" ,"currentUserCanPush" :false,"isFork" :false,"isEmpty" :false,"createdAt" :"2020-05-19T14:37:14.000Z" ,"ownerAvatar" :"https://avatars.githubusercontent.com/u/9141961?v=4" ,"public" :true,"private" :false,"isOrgOwned" :true} ,"codeLineWrapEnabled" :false,"symbolsExpanded" :false,"treeExpanded" :true,"refInfo" :{ "name" :"main" ,"listCacheKey" :"v0:1734887902.0" ,"canEdit" :false,"refType" :"branch" ,"currentOid" :"6cbf2c9ff4615b468f39dfbd2e536e2f6fbe2f95" } ,"path" :"src/dotnet-install.sh" ,"currentUser" :null,"blob" :{ "rawLines" :[ "#!/usr/bin/env bash" ,"# Copyright (c) .NET Foundation and contributors. All rights reserved." ,"# Licensed under the MIT license. See LICENSE file in the project root for full license information." ,"#" ,"" ,"# Stop script on NZEC" ,"set -e" ," # Stop script if unbound variable found (use ${ var :- } if intentional) " ,"set -u" ,"# By default cmd1 | cmd2 returns exit code of cmd2 regardless of cmd1 success" ,"# This is causing it to fail" ,"set -o pipefail" ,"" ," # Use in the the functions: eval $invocation " ," invocation='say_verbose \"Calling: ${ yellow :- } ${ FUNCNAME [0] } ${ green :- } $* ${ normal :- } \"' " ,"" ,"# standard output may be used as a return value in the functions" ,"# we need a way to write text on the screen in the functions so that" ,"# it won't interfere with the return value." ,"# Exposing stream 3 as a pipe to standard output of the script itself" ,"exec 3\u003e\u00261" ,"" ,"# Setup some colors to use. These need to work in fairly limited shells, like the Ubuntu Docker container where there are only 8 colors." ,"# See if stdout is a terminal" ,"if [ -t 1 ] \u0026\u0026 command -v tput \u003e /dev/null; then" ," # see if it supports colors" ," ncolors= $( tput colors || echo 0) " ," if [ -n \" $ncolors \" ] \u0026\u0026 [ $ncolors -ge 8 ]; then " ," bold=\" $( tput bold ||
<div data-target= "react-app.reactRoot" ><style data-styled= "true" data-styled-version= "5.3.11" >.hOfjFo{ padding:0; } /*!sc*/
.oDGAe{ max-width:100%; margin-left:auto; margin-right:auto; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap; } /*!sc*/
.kowOcT{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex:1 1 100%; -ms-flex:1 1 100%; flex:1 1 100%; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap; max-width:100%; } /*!sc*/
.gISSDQ{ width:100%; } /*!sc*/
@media screen and ( min-width:544px) { .gISSDQ{ width:100%; } } /*!sc*/
@media screen and ( min-width:768px) { .gISSDQ{ width:auto; } } /*!sc*/
.cEmWSE{ display:none; -webkit-order:1; -ms-flex-order:1; order:1; width:100%; margin-left:0; margin-right:0; -webkit-flex-direction:column-reverse; -ms-flex-direction:column-reverse; flex-direction:column-reverse; margin-bottom:0; min-width:0; } /*!sc*/
@media screen and ( min-width:768px) { .cEmWSE{ width:auto; margin-top:0 !important; margin-bottom:0 !important; position:-webkit-sticky; position:sticky; top:0px; max-height:100vh !important; -webkit-flex-direction:row; -ms-flex-direction:row; flex-direction:row; margin-right:0; height:100vh; } } /*!sc*/
@media print,screen and ( max-width:1011px) and ( min-width:768px) { .cEmWSE{ display:none; } } /*!sc*/
.hPvFuC{ margin-left:0; margin-right:0; display:none; margin-top:0; } /*!sc*/
@media screen and ( min-width:768px) { .hPvFuC{ margin-left:0 !important; margin-right:0 !important; } } /*!sc*/
.fFSoPl{ --pane-min-width:256px; --pane-max-width-diff:511px; --pane-max-width:calc( 100vw - var( --pane-max-width-diff) ) ; width:100%; padding:0; } /*!sc*/
@media screen and ( min-width:544px) { } /*!sc*/
@media screen and ( min-width:768px) { .fFSoPl{ width:clamp( var( --pane-min-width) ,var( --pane-width) ,var( --pane-max-width) ) ; overflow:auto; } } /*!sc*/
@media screen and ( min-width:1280px) { .fFSoPl{ --pane-max-width-diff:959px; } } /*!sc*/
.bTBnTW{ height:100%; position:relative; display:none; margin-left:0; } /*!sc*/
.bHLmSv{ position:absolute; inset:0 -2px; cursor:col-resize; background-color:transparent; -webkit-transition-delay:0.1s; transition-delay:0.1s; } /*!sc*/
.bHLmSv:hover{ background-color:var( --bgColor-neutral-muted,var( --color-neutral-muted,rgba( 175,184,193,0.2) ) ) ; } /*!sc*/
.iKqMNA{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; -webkit-order:2; -ms-flex-order:2; order:2; -webkit-flex-basis:0; -ms-flex-preferred-size:0; flex-basis:0; -webkit-box-flex:1; -webkit-flex-grow:1; -ms-flex-positive:1; flex-grow:1; -webkit-flex-shrink:1; -ms-flex-negative:1; flex-shrink:1; min-width:1px; margin-right:auto; } /*!sc*/
@media print{ .iKqMNA{ display:-webkit-box !important; display:-webkit-flex !important; display:-ms-flexbox !important; display:flex !important; } } /*!sc*/
.FxAyp{ width:100%; max-width:100%; margin-left:auto; margin-right:auto; -webkit-box-flex:1; -webkit-flex-grow:1; -ms-flex-positive:1; flex-grow:1; padding:0; } /*!sc*/
.leYMvG{ margin-left:auto; margin-right:auto; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; padding-bottom:40px; max-width:100%; margin-top:0; } /*!sc*/
.KMPzq{ display:inherit; } /*!sc*/
.hfKjHv{ width:100%; } /*!sc*/
.gZWyZE{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; gap:8px; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; width:100%; } /*!sc*/
.dwYKDk{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-align-items:start; -webkit-box-align:start; -ms-flex-align:start; align-items:start; -webkit-box-pack:justify; -webkit-justify-content:space-between; -ms-flex-pack:justify; justify-content:space-between; gap:8px; } /*!sc*/
.ibcGmb{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-align-items:start; -webkit-box-align:start; -ms-flex-align:start; align-items:start; min-width:0; } /*!sc*/
.hKaEJF{ display:block; margin-right:8px; } /*!sc*/
@media screen and ( min-width:1360px) { .hKaEJF{ display:block; } } /*!sc*/
.XosP{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; font-size:14px; } /*!sc*/
.bCKfWo[ data-size= "medium" ] { color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; padding-left:8px; padding-right:8px; display:none; } /*!sc*/
@media screen and ( max-width:768px) { .bCKfWo[ data-size= "medium" ] { display:block; } } /*!sc*/
.gUkoLg{ -webkit-box-pack:center; -webkit-justify-content:center; -ms-flex-pack:center; justify-content:center; } /*!sc*/
.dmxRgG[ data-size= "medium" ] { display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; } /*!sc*/
.dmxRgG[ data-size= "medium" ] svg{ color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; } /*!sc*/
.dmxRgG[ data-size= "medium" ] > span{ width:inherit; } /*!sc*/
.bZBlpz{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; width:100%; } /*!sc*/
.lhTYNA{ margin-right:4px; color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; } /*!sc*/
.dbrgmi{ font-size:14px; min-width:0; max-width:125px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } /*!sc*/
.dHJiml{ -webkit-align-self:center; -ms-flex-item-align:center; align-self:center; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; padding-left:8px; padding-right:8px; min-width:0; } /*!sc*/
.cEytCf{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-direction:row; -ms-flex-direction:row; flex-direction:row; font-size:16px; min-width:0; -webkit-flex-shrink:1; -ms-flex-negative:1; flex-shrink:1; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap; max-width:100%; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; } /*!sc*/
.fzFXnm{ max-width:100%; } /*!sc*/
.iMnkmv{ max-width:100%; list-style:none; display:inline-block; } /*!sc*/
.ghzDag{ display:inline-block; max-width:100%; } /*!sc*/
.kHuKdh{ font-weight:600; } /*!sc*/
.kgiVEz{ font-weight:400; } /*!sc*/
.jGhzSQ{ font-weight:600; display:inline-block; max-width:100%; font-size:16px; } /*!sc*/
.faNtbn{ min-height:32px; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-align-items:start; -webkit-box-align:start; -ms-flex-align:start; align-items:start; } /*!sc*/
.fmQaBv{ margin-left:4px; margin-right:4px; } /*!sc*/
.dwNhzn[ data-size= "medium" ] [ data-no-visuals] { border-top-left-radius:0; border-bottom-left-radius:0; display:none; } /*!sc*/
.fGwBZA[ data-size= "medium" ] [ data-no-visuals] { color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; } /*!sc*/
.dJxjrT{ margin-left:16px; margin-right:16px; } /*!sc*/
.eFxKDQ{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; } /*!sc*/
.dzCJzi{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-direction:row; -ms-flex-direction:row; flex-direction:row; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap; -webkit-box-pack:justify; -webkit-justify-content:space-between; -ms-flex-pack:justify; justify-content:space-between; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; gap:8px; min-width:273px; padding:8px; } /*!sc*/
@media screen and ( min-width:544px) { .dzCJzi{ -webkit-flex-wrap:nowrap; -ms-flex-wrap:nowrap; flex-wrap:nowrap; } } /*!sc*/
.ldRxiI{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-direction:row; -ms-flex-direction:row; flex-direction:row; } /*!sc*/
.fVkfyA{ width:100%; height:-webkit-fit-content; height:-moz-fit-content; height:fit-content; min-width:0; margin-right:0; } /*!sc*/
.gNAmSV{ height:40px; padding-left:4px; padding-bottom:16px; } /*!sc*/
.jNEwzY{ -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; } /*!sc*/
.bsDwxw{ font-size:12px; -webkit-flex:auto; -ms-flex:auto; flex:auto; padding-right:16px; color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; min-width:0; } /*!sc*/
.jdLMhu{ top:0px; z-index:4; background:var( --bgColor-default,var( --color-canvas-default) ) ; position:-webkit-sticky; position:sticky; } /*!sc*/
.tOISc{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; width:100%; position:absolute; } /*!sc*/
.hqwSEx{ display:none; min-width:0; padding-top:8px; padding-bottom:8px; } /*!sc*/
.bDVoEr{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; overflow:hidden; margin-left:8px; margin-right:8px; -webkit-flex-direction:row; -ms-flex-direction:row; flex-direction:row; -webkit-box-pack:justify; -webkit-justify-content:space-between; -ms-flex-pack:justify; justify-content:space-between; width:100%; } /*!sc*/
.kYLlPM{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; } /*!sc*/
.gYjEmn{ margin-left:4px; margin-right:8px; } /*!sc*/
.kGqOLL{ text-overflow:ellipsis; overflow:hidden; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; } /*!sc*/
.fHind{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex-direction:row; -ms-flex-direction:row; flex-direction:row; font-size:14px; min-width:0; -webkit-flex-shrink:1; -ms-flex-negative:1; flex-shrink:1; -webkit-flex-wrap:wrap; -ms-flex-wrap:wrap; flex-wrap:wrap; max-width:100%; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; } /*!sc*/
.dnZoUW{ font-weight:600; display:inline-block; max-width:100%; font-size:14px; } /*!sc*/
.jRZWlf[ data-size= "small" ] { color:var( --fgColor-default,var( --color-fg-default,#1F2328) ) ; margin-left:8px; } /*!sc*/
.kTvpNk{ padding-left:8px; padding-top:8px; padding-bottom:8px; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex:1; -ms-flex:1; flex:1; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; -webkit-box-pack:justify; -webkit-justify-content:space-between; -ms-flex-pack:justify; justify-content:space-between; background-color:var( --bgColor-muted,var( --color-canvas-subtle,#f6f8fa) ) ; border:1px solid var( --borderColor-default,var( --color-border-default) ) ; border-radius:6px 6px 0px 0px; } /*!sc*/
.iNMjfP{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; gap:8px; min-width:0; } /*!sc*/
.fefCSX{ display:block; position:relative; -webkit-box-flex:1; -webkit-flex-grow:1; -ms-flex-positive:1; flex-grow:1; margin-top:-1px; margin-bottom:-1px; --separator-color:transparent; } /*!sc*/
.fefCSX:not( :last-child) { margin-right:1px; } /*!sc*/
.fefCSX:not( :last-child) :after{ background-color:var( --separator-color) ; content:"" ; position:absolute; right:-2px; top:8px; bottom:8px; width:1px; } /*!sc*/
.fefCSX:focus-within:has( :focus-visible) { --separator-color:transparent; } /*!sc*/
.fefCSX:first-child{ margin-left:-1px; } /*!sc*/
.fefCSX:last-child{ margin-right:-1px; } /*!sc*/
.idgUkN{ display:block; position:relative; -webkit-box-flex:1; -webkit-flex-grow:1; -ms-flex-positive:1; flex-grow:1; margin-top:-1px; margin-bottom:-1px; --separator-color:var( --borderColor-default,var( --color-border-default,#d0d7de) ) ; } /*!sc*/
.idgUkN:not( :last-child) { margin-right:1px; } /*!sc*/
.idgUkN:not( :last-child) :after{ background-color:var( --separator-color) ; content:"" ; position:absolute; right:-2px; top:8px; bottom:8px; width:1px; } /*!sc*/
.idgUkN:focus-within:has( :focus-visible) { --separator-color:transparent; } /*!sc*/
.idgUkN:first-child{ margin-left:-1px; } /*!sc*/
.idgUkN:last-child{ margin-right:-1px; } /*!sc*/
.kcLCKF{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; gap:8px; margin-right:8px; } /*!sc*/
.kVWtTz{ gap:8px; } /*!sc*/
.gWqxTd{ padding-left:8px; padding-right:8px; } /*!sc*/
.gWqxTd linkButtonSx:hover:not( [ disabled] ) { -webkit-text-decoration:none; text-decoration:none; } /*!sc*/
.gWqxTd linkButtonSx:focus:not( [ disabled] ) { -webkit-text-decoration:none; text-decoration:none; } /*!sc*/
.gWqxTd linkButtonSx:active:not( [ disabled] ) { -webkit-text-decoration:none; text-decoration:none; } /*!sc*/
.ivobqY[ data-size= "small" ] [ data-no-visuals] { border-top-left-radius:0; border-bottom-left-radius:0; } /*!sc*/
.heuRGy[ data-size= "small" ] [ data-no-visuals] { color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; position:relative; } /*!sc*/
.ffkqe[ data-size= "small" ] [ data-no-visuals] { color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; } /*!sc*/
.hGyMdv{ border:1px solid; border-top:none; border-color:var( --borderColor-default,var( --color-border-default,#d0d7de) ) ; border-radius:0px 0px 6px 6px; min-width:273px; } /*!sc*/
.dceWRL{ background-color:var( --bgColor-default,var( --color-canvas-default) ) ; border:0px; border-width:0; border-radius:0px 0px 6px 6px; padding:0; min-width:0; margin-top:46px; } /*!sc*/
.dGXHv{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-flex:1; -ms-flex:1; flex:1; padding-top:8px; padding-bottom:8px; -webkit-flex-direction:column; -ms-flex-direction:column; flex-direction:column; -webkit-box-pack:justify; -webkit-justify-content:space-between; -ms-flex-pack:justify; justify-content:space-between; min-width:0; position:relative; } /*!sc*/
.bpDFns{ position:relative; } /*!sc*/
.iJOeCH{ -webkit-flex:1; -ms-flex:1; flex:1; position:relative; min-width:0; } /*!sc*/
.jewUnv{ tab-size:8; isolation:isolate; position:relative; overflow:auto; max-width:unset; } /*!sc*/
.cJGaMs{ margin:1px 8px; position:absolute; z-index:1; } /*!sc*/
.iGLarr{ position:absolute; } /*!sc*/
.gkZUDI{ -webkit-box-pack:center; -webkit-justify-content:center; -ms-flex-pack:center; justify-content:center; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; } /*!sc*/
.cCoXib{ position:fixed; top:0; right:0; height:100%; width:15px; -webkit-transition:-webkit-transform 0.3s; -webkit-transition:transform 0.3s; transition:transform 0.3s; z-index:1; } /*!sc*/
.cCoXib:hover{ -webkit-transform:scaleX( 1.5) ; -ms-transform:scaleX( 1.5) ; transform:scaleX( 1.5) ; } /*!sc*/
data-styled.g1[ id = "Box-sc-g0xbh4-0" ] { content:"hOfjFo,oDGAe,kowOcT,gISSDQ,cEmWSE,hPvFuC,fFSoPl,bTBnTW,bHLmSv,iKqMNA,FxAyp,leYMvG,KMPzq,hfKjHv,gZWyZE,dwYKDk,ibcGmb,hKaEJF,XosP,bCKfWo,gUkoLg,dmxRgG,bZBlpz,lhTYNA,dbrgmi,dHJiml,cEytCf,fzFXnm,iMnkmv,ghzDag,kHuKdh,kgiVEz,jGhzSQ,faNtbn,fmQaBv,dwNhzn,fGwBZA,dJxjrT,eFxKDQ,dzCJzi,ldRxiI,fVkfyA,gNAmSV,jNEwzY,bsDwxw,jdLMhu,tOISc,hqwSEx,bDVoEr,kYLlPM,gYjEmn,kGqOLL,fHind,dnZoUW,jRZWlf,kTvpNk,iNMjfP,fefCSX,idgUkN,kcLCKF,kVWtTz,gWqxTd,ivobqY,heuRGy,ffkqe,hGyMdv,dceWRL,dGXHv,bpDFns,iJOeCH,jewUnv,cJGaMs,iGLarr,gkZUDI,cCoXib," } /*!sc*/
.eMMFM{ min-width:0; } /*!sc*/
.eMMFM:where( [ data-size= 'small' ] ) { font-size:var( --text-body-size-small,0.75rem) ; line-height:var( --text-body-lineHeight-small,1.6666) ; } /*!sc*/
.eMMFM:where( [ data-size= 'medium' ] ) { font-size:var( --text-body-size-medium,0.875rem) ; line-height:var( --text-body-lineHeight-medium,1.4285) ; } /*!sc*/
.eMMFM:where( [ data-size= 'large' ] ) { font-size:var( --text-body-size-large,1rem) ; line-height:var( --text-body-lineHeight-large,1.5) ; } /*!sc*/
.eMMFM:where( [ data-weight= 'light' ] ) { font-weight:var( --base-text-weight-light,300) ; } /*!sc*/
.eMMFM:where( [ data-weight= 'normal' ] ) { font-weight:var( --base-text-weight-normal,400) ; } /*!sc*/
.eMMFM:where( [ data-weight= 'medium' ] ) { font-weight:var( --base-text-weight-medium,500) ; } /*!sc*/
.eMMFM:where( [ data-weight= 'semibold' ] ) { font-weight:var( --base-text-weight-semibold,600) ; } /*!sc*/
.HlHVj{ padding-left:4px; padding-right:4px; font-weight:400; color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; font-size:16px; } /*!sc*/
.HlHVj:where( [ data-size= 'small' ] ) { font-size:var( --text-body-size-small,0.75rem) ; line-height:var( --text-body-lineHeight-small,1.6666) ; } /*!sc*/
.HlHVj:where( [ data-size= 'medium' ] ) { font-size:var( --text-body-size-medium,0.875rem) ; line-height:var( --text-body-lineHeight-medium,1.4285) ; } /*!sc*/
.HlHVj:where( [ data-size= 'large' ] ) { font-size:var( --text-body-size-large,1rem) ; line-height:var( --text-body-lineHeight-large,1.5) ; } /*!sc*/
.HlHVj:where( [ data-weight= 'light' ] ) { font-weight:var( --base-text-weight-light,300) ; } /*!sc*/
.HlHVj:where( [ data-weight= 'normal' ] ) { font-weight:var( --base-text-weight-normal,400) ; } /*!sc*/
.HlHVj:where( [ data-weight= 'medium' ] ) { font-weight:var( --base-text-weight-medium,500) ; } /*!sc*/
.HlHVj:where( [ data-weight= 'semibold' ] ) { font-weight:var( --base-text-weight-semibold,600) ; } /*!sc*/
.lauzFl{ padding-left:4px; padding-right:4px; font-weight:400; color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; font-size:14px; } /*!sc*/
.lauzFl:where( [ data-size= 'small' ] ) { font-size:var( --text-body-size-small,0.75rem) ; line-height:var( --text-body-lineHeight-small,1.6666) ; } /*!sc*/
.lauzFl:where( [ data-size= 'medium' ] ) { font-size:var( --text-body-size-medium,0.875rem) ; line-height:var( --text-body-lineHeight-medium,1.4285) ; } /*!sc*/
.lauzFl:where( [ data-size= 'large' ] ) { font-size:var( --text-body-size-large,1rem) ; line-height:var( --text-body-lineHeight-large,1.5) ; } /*!sc*/
.lauzFl:where( [ data-weight= 'light' ] ) { font-weight:var( --base-text-weight-light,300) ; } /*!sc*/
.lauzFl:where( [ data-weight= 'normal' ] ) { font-weight:var( --base-text-weight-normal,400) ; } /*!sc*/
.lauzFl:where( [ data-weight= 'medium' ] ) { font-weight:var( --base-text-weight-medium,500) ; } /*!sc*/
.lauzFl:where( [ data-weight= 'semibold' ] ) { font-weight:var( --base-text-weight-semibold,600) ; } /*!sc*/
data-styled.g3[ id = "Text__StyledText-sc-17v1xeu-0" ] { content:"eMMFM,HlHVj,lauzFl," } /*!sc*/
.jkNcAv{ border:0; font-size:inherit; font-family:inherit; background-color:transparent; -webkit-appearance:none; color:inherit; width:100%; } /*!sc*/
.jkNcAv:focus{ outline:0; } /*!sc*/
data-styled.g14[ id = "UnstyledTextInput__ToggledUnstyledTextInput-sc-14ypya-0" ] { content:"jkNcAv," } /*!sc*/
.hLzFvi{ font-size:14px; line-height:var( --base-size-20) ; color:var( --fgColor-default,var( --color-fg-default,#1F2328) ) ; vertical-align:middle; background-color:var( --bgColor-default,var( --color-canvas-default,#ffffff) ) ; border:1px solid var( --control-borderColor-rest,var( --borderColor-default,var( --color-border-default,#d0d7de) ) ) ; border-radius:6px; outline:none; box-shadow:var( --shadow-inset,var( --color-primer-shadow-inset,inset 0 1px 0 rgba( 208,215,222,0.2) ) ) ; display:-webkit-inline-box; display:-webkit-inline-flex; display:-ms-inline-flexbox; display:inline-flex; -webkit-align-items:stretch; -webkit-box-align:stretch; -ms-flex-align:stretch; align-items:stretch; min-height:var( --base-size-32) ; overflow:hidden; --inner-action-size:var( --base-size-24) ; } /*!sc*/
.hLzFvi input,.hLzFvi textarea{ cursor:text; } /*!sc*/
.hLzFvi select { cursor:pointer; } /*!sc*/
.hLzFvi input::-webkit-input-placeholder,.hLzFvi textarea::-webkit-input-placeholder,.hLzFvi select ::-webkit-input-placeholder{ color:var( ---control-fgColor-placeholder,var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ) ; } /*!sc*/
.hLzFvi input::-moz-placeholder,.hLzFvi textarea::-moz-placeholder,.hLzFvi select ::-moz-placeholder{ color:var( ---control-fgColor-placeholder,var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ) ; } /*!sc*/
.hLzFvi input:-ms-input-placeholder,.hLzFvi textarea:-ms-input-placeholder,.hLzFvi select :-ms-input-placeholder{ color:var( ---control-fgColor-placeholder,var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ) ; } /*!sc*/
.hLzFvi input::placeholder,.hLzFvi textarea::placeholder,.hLzFvi select ::placeholder{ color:var( ---control-fgColor-placeholder,var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ) ; } /*!sc*/
.hLzFvi:where( [ data-trailing-action] [ data-focused] ) ,.hLzFvi:where( :not( [ data-trailing-action] ) :focus-within) { border-color:var( --fgColor-accent,var( --color-accent-fg,#0969da) ) ; outline:2px solid var( --fgColor-accent,var( --color-accent-fg,#0969da) ) ; outline-offset:-1px; } /*!sc*/
.hLzFvi > textarea{ padding:var( --base-size-12) ; } /*!sc*/
.hLzFvi:where( [ data-contrast] ) { background-color:var( --bgColor-inset,var( --color-canvas-inset,#f6f8fa) ) ; } /*!sc*/
.hLzFvi:where( [ data-disabled] ) { color:var( --fgColor-disabled,var( --color-primer-fg-disabled,#8c959f) ) ; background-color:var( --control-bgColor-disabled,var( --color-input-disabled-bg,rgba( 175,184,193,0.2) ) ) ; box-shadow:none; border-color:var( --control-borderColor-disabled,var( --borderColor-default,var( --color-border-default,#d0d7de) ) ) ; } /*!sc*/
.hLzFvi:where( [ data-disabled] ) input,.hLzFvi:where( [ data-disabled] ) textarea,.hLzFvi:where( [ data-disabled] ) select { cursor:not-allowed; } /*!sc*/
.hLzFvi:where( [ data-monospace] ) { font-family:var( --fontStack-monospace,SFMono-Regular,Consolas,"Liberation Mono" ,Menlo,Courier,monospace) ; } /*!sc*/
.hLzFvi:where( [ data-validation= 'error' ] ) { border-color:var( --borderColor-danger-emphasis,var( --color-danger-emphasis,#cf222e) ) ; } /*!sc*/
.hLzFvi:where( [ data-validation= 'error' ] ) :where( [ data-trailing-action] [ data-focused] ) ,.hLzFvi:where( [ data-validation= 'error' ] ) :where( :not( [ data-trailing-action] ) ) :focus-within{ border-color:var( --fgColor-accent,var( --color-accent-fg,#0969da) ) ; outline:2px solid var( --fgColor-accent,var( --color-accent-fg,#0969da) ) ; outline-offset:-1px; } /*!sc*/
.hLzFvi:where( [ data-validation= 'success' ] ) { border-color:var( --bgColor-success-emphasis,var( --color-success-emphasis,#1f883d) ) ; } /*!sc*/
.hLzFvi:where( [ data-block] ) { width:100%; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; -webkit-align-self:stretch; -ms-flex-item-align:stretch; align-self:stretch; } /*!sc*/
@media ( min-width:768px) { .hLzFvi{ font-size:var( --text-body-size-medium) ; } } /*!sc*/
.hLzFvi:where( [ data-size= 'small' ] ) { --inner-action-size:var( --base-size-20) ; min-height:var( --base-size-28) ; padding-top:3px; padding-right:var( --base-size-8) ; padding-bottom:3px; padding-left:var( --base-size-8) ; font-size:var( --text-body-size-small) ; line-height:var( --base-size-20) ; } /*!sc*/
.hLzFvi:where( [ data-size= 'large' ] ) { --inner-action-size:var( --base-size-28) ; height:var( --base-size-40) ; padding-top:10px; padding-right:var( --base-size-8) ; padding-bottom:10px; padding-left:var( --base-size-8) ; } /*!sc*/
.hLzFvi:where( [ data-variant= 'small' ] ) { min-height:28px; padding-top:3px; padding-right:var( --base-size-8) ; padding-bottom:3px; padding-left:var( --base-size-8) ; font-size:( --text-body-size-small) ; line-height:var( --base-size-20) ; } /*!sc*/
.hLzFvi:where( [ data-variant= 'large' ] ) { padding-top:10px; padding-right:var( --base-size-8) ; padding-bottom:10px; padding-left:var( --base-size-8) ; font-size:var( --text-title-size-medium) ; } /*!sc*/
.hLzFvi{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; min-width:160px; } /*!sc*/
data-styled.g15[ id = "TextInputWrapper__StyledTextInputBaseWrapper-sc-1mqhpbi-0" ] { content:"hLzFvi," } /*!sc*/
.iHYdQq{ background-repeat:no-repeat; background-position:right 8px center; padding-right:0; padding-left:0; } /*!sc*/
.iHYdQq > :not( :last-child) { margin-right:8px; } /*!sc*/
.iHYdQq .TextInput-icon,.iHYdQq .TextInput-action{ -webkit-align-self:center; -ms-flex-item-align:center; align-self:center; color:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; -webkit-flex-shrink:0; -ms-flex-negative:0; flex-shrink:0; } /*!sc*/
.iHYdQq > input,.iHYdQq > select { padding-right:0; padding-left:0; } /*!sc*/
.iHYdQq:where( [ data-leading-visual] ) { padding-left:var( --base-size-12) ; } /*!sc*/
.iHYdQq:where( [ data-trailing-visual] :not( [ data-trailing-action] ) ) { padding-right:var( --base-size-12) ; } /*!sc*/
.iHYdQq:where( :not( [ data-leading-visual] ) ) > input,.iHYdQq:where( :not( [ data-leading-visual] ) ) > select { padding-left:var( --base-size-12) ; } /*!sc*/
.iHYdQq:where( :not( [ data-trailing-visual] ) :not( [ data-trailing-action] ) ) > input,.iHYdQq:where( :not( [ data-trailing-visual] ) :not( [ data-trailing-action] ) ) > select { padding-right:var( --base-size-12) ; } /*!sc*/
.iHYdQq{ display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; min-width:160px; } /*!sc*/
data-styled.g16[ id = "TextInputWrapper__StyledTextInputWrapper-sc-1mqhpbi-1" ] { content:"iHYdQq," } /*!sc*/
.hWlpPn{ position:relative; display:inline-block; } /*!sc*/
.hWlpPn::after{ position:absolute; z-index:1000000; display:none; padding:0.5em 0.75em; font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI" ,"Noto Sans" ,Helvetica,Arial,sans-serif,"Apple Color Emoji" ,"Segoe UI Emoji" ; -webkit-font-smoothing:subpixel-antialiased; color:var( --tooltip-fgColor,var( --fgColor-onEmphasis,var( --color-fg-on-emphasis,#ffffff) ) ) ; text-align:center; -webkit-text-decoration:none; text-decoration:none; text-shadow:none; text-transform:none; -webkit-letter-spacing:normal; -moz-letter-spacing:normal; -ms-letter-spacing:normal; letter-spacing:normal; word-wrap:break-word; white-space:pre; pointer-events:none; content:attr( aria-label) ; background:var( --tooltip-bgColor,var( --bgColor-emphasis,var( --color-neutral-emphasis-plus,#24292f) ) ) ; border-radius:6px; opacity:0; } /*!sc*/
@-webkit-keyframes tooltip-appear{ from{ opacity:0; } to{ opacity:1; } } /*!sc*/
@keyframes tooltip-appear{ from{ opacity:0; } to{ opacity:1; } } /*!sc*/
.hWlpPn:hover::after,.hWlpPn:active::after,.hWlpPn:focus::after,.hWlpPn:focus-within::after{ display:inline-block; -webkit-text-decoration:none; text-decoration:none; -webkit-animation-name:tooltip-appear; animation-name:tooltip-appear; -webkit-animation-duration:0.1s; animation-duration:0.1s; -webkit-animation-fill-mode:forwards; animation-fill-mode:forwards; -webkit-animation-timing-function:ease-in; animation-timing-function:ease-in; -webkit-animation-delay:0s; animation-delay:0s; } /*!sc*/
.hWlpPn.tooltipped-no-delay:hover::after,.hWlpPn.tooltipped-no-delay:active::after,.hWlpPn.tooltipped-no-delay:focus::after,.hWlpPn.tooltipped-no-delay:focus-within::after{ -webkit-animation-delay:0s; animation-delay:0s; } /*!sc*/
.hWlpPn.tooltipped-multiline:hover::after,.hWlpPn.tooltipped-multiline:active::after,.hWlpPn.tooltipped-multiline:focus::after,.hWlpPn.tooltipped-multiline:focus-within::after{ display:table-cell; } /*!sc*/
.hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-se::after,.hWlpPn.tooltipped-sw::after{ top:100%; right:50%; margin-top:6px; } /*!sc*/
.hWlpPn.tooltipped-se::after{ right:auto; left:50%; margin-left:-16px; } /*!sc*/
.hWlpPn.tooltipped-sw::after{ margin-right:-16px; } /*!sc*/
.hWlpPn.tooltipped-n::after,.hWlpPn.tooltipped-ne::after,.hWlpPn.tooltipped-nw::after{ right:50%; bottom:100%; margin-bottom:6px; } /*!sc*/
.hWlpPn.tooltipped-ne::after{ right:auto; left:50%; margin-left:-16px; } /*!sc*/
.hWlpPn.tooltipped-nw::after{ margin-right:-16px; } /*!sc*/
.hWlpPn.tooltipped-s::after,.hWlpPn.tooltipped-n::after{ -webkit-transform:translateX( 50%) ; -ms-transform:translateX( 50%) ; transform:translateX( 50%) ; } /*!sc*/
.hWlpPn.tooltipped-w::after{ right:100%; bottom:50%; margin-right:6px; -webkit-transform:translateY( 50%) ; -ms-transform:translateY( 50%) ; transform:translateY( 50%) ; } /*!sc*/
.hWlpPn.tooltipped-e::after{ bottom:50%; left:100%; margin-left:6px; -webkit-transform:translateY( 50%) ; -ms-transform:translateY( 50%) ; transform:translateY( 50%) ; } /*!sc*/
.hWlpPn.tooltipped-multiline::after{ width:-webkit-max-content; width:-moz-max-content; width:max-content; max-width:250px; word-wrap:break-word; white-space:pre-line; border-collapse:separate; } /*!sc*/
.hWlpPn.tooltipped-multiline.tooltipped-s::after,.hWlpPn.tooltipped-multiline.tooltipped-n::after{ right:auto; left:50%; -webkit-transform:translateX( -50%) ; -ms-transform:translateX( -50%) ; transform:translateX( -50%) ; } /*!sc*/
.hWlpPn.tooltipped-multiline.tooltipped-w::after,.hWlpPn.tooltipped-multiline.tooltipped-e::after{ right:100%; } /*!sc*/
.hWlpPn.tooltipped-align-right-2::after{ right:0; margin-right:0; } /*!sc*/
.hWlpPn.tooltipped-align-left-2::after{ left:0; margin-left:0; } /*!sc*/
data-styled.g18[ id = "Tooltip__TooltipBase-sc-17tf59c-0" ] { content:"hWlpPn," } /*!sc*/
.eAtkQz{ display:inline-block; overflow:hidden; text-overflow:ellipsis; vertical-align:top; white-space:nowrap; max-width:125px; max-width:100%; } /*!sc*/
data-styled.g20[ id = "Truncate__StyledTruncate-sc-23o1d2-0" ] { content:"eAtkQz," } /*!sc*/
body[ data-page-layout-dragging= "true" ] { cursor:col-resize; } /*!sc*/
body[ data-page-layout-dragging= "true" ] *{ -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; } /*!sc*/
data-styled.g102[ id = "sc-global-gbKrvU1" ] { content:"sc-global-gbKrvU1," } /*!sc*/
.lirRhW{ display:-webkit-inline-box; display:-webkit-inline-flex; display:-ms-inline-flexbox; display:inline-flex; vertical-align:middle; isolation:isolate; } /*!sc*/
.lirRhW.lirRhW > *:not( [ data-loading-wrapper] ) { margin-inline-end:-1px; position:relative; border-radius:0; } /*!sc*/
.lirRhW.lirRhW > *:not( [ data-loading-wrapper] ) :first-child{ border-top-left-radius:6px; border-bottom-left-radius:6px; } /*!sc*/
.lirRhW.lirRhW > *:not( [ data-loading-wrapper] ) :last-child{ border-top-right-radius:6px; border-bottom-right-radius:6px; } /*!sc*/
.lirRhW.lirRhW > *:not( [ data-loading-wrapper] ) :focus,.lirRhW.lirRhW > *:not( [ data-loading-wrapper] ) :active,.lirRhW.lirRhW > *:not( [ data-loading-wrapper] ) :hover{ z-index:1; } /*!sc*/
.lirRhW [ data-loading-wrapper] :first-child button,.lirRhW [ data-loading-wrapper] :first-child a{ border-top-left-radius:6px; border-bottom-left-radius:6px; } /*!sc*/
.lirRhW [ data-loading-wrapper] :last-child button,.lirRhW [ data-loading-wrapper] :last-child a{ border-top-right-radius:6px; border-bottom-right-radius:6px; } /*!sc*/
.lirRhW [ data-loading-wrapper] > *{ margin-inline-end:-1px; position:relative; border-radius:0; } /*!sc*/
.lirRhW [ data-loading-wrapper] > *:focus,.lirRhW [ data-loading-wrapper] > *:active,.lirRhW [ data-loading-wrapper] > *:hover{ z-index:1; } /*!sc*/
data-styled.g107[ id = "ButtonGroup__StyledButtonGroup-sc-1gxhls1-0" ] { content:"lirRhW," } /*!sc*/
.dbGjOi{ --segmented-control-button-inner-padding:12px; --segmented-control-button-bg-inset:4px; --segmented-control-outer-radius:6px; background-color:transparent; border-color:transparent; border-radius:var( --segmented-control-outer-radius) ; border-width:0; color:currentColor; cursor:pointer; font-family:inherit; font-size:inherit; font-weight:600; padding:0; height:100%; width:100%; } /*!sc*/
.dbGjOi:focus:not( :disabled) { box-shadow:none; outline:2px solid var( --fgColor-accent,var( --color-accent-fg,#0969da) ) ; outline-offset:-1px; } /*!sc*/
.dbGjOi:focus:not( :disabled) :not( :focus-visible) { outline:solid 1px transparent; } /*!sc*/
.dbGjOi:focus-visible:not( :disabled) { box-shadow:none; outline:2px solid var( --fgColor-accent,var( --color-accent-fg,#0969da) ) ; outline-offset:-1px; } /*!sc*/
.dbGjOi .segmentedControl-content{ -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; background-color:var( --controlKnob-bgColor-rest,var( --color-segmented-control-button-bg,#ffffff) ) ; border-color:var( --controlKnob-borderColor-rest,var( --color-segmented-control-button-hover-active-selected-border,#8c959f) ) ; border-style:solid; border-width:1px; border-radius:var( --segmented-control-outer-radius) ; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; height:100%; -webkit-box-pack:center; -webkit-justify-content:center; -ms-flex-pack:center; justify-content:center; padding-left:var( --segmented-control-button-inner-padding) ; padding-right:var( --segmented-control-button-inner-padding) ; } /*!sc*/
.dbGjOi svg{ fill:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; } /*!sc*/
.dbGjOi:focus:focus-visible:not( :last-child) :after{ width:0; } /*!sc*/
.dbGjOi .segmentedControl-text:after{ content:"Code" ; display:block; font-weight:600; height:0; overflow:hidden; pointer-events:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; visibility:hidden; } /*!sc*/
@media ( pointer:coarse) { .dbGjOi:before{ content:"" ; position:absolute; left:0; right:0; -webkit-transform:translateY( -50%) ; -ms-transform:translateY( -50%) ; transform:translateY( -50%) ; top:50%; min-height:44px; } } /*!sc*/
.bHmvop{ --segmented-control-button-inner-padding:12px; --segmented-control-button-bg-inset:4px; --segmented-control-outer-radius:6px; background-color:transparent; border-color:transparent; border-radius:var( --segmented-control-outer-radius) ; border-width:0; color:currentColor; cursor:pointer; font-family:inherit; font-size:inherit; font-weight:400; padding:var( --segmented-control-button-bg-inset) ; height:100%; width:100%; } /*!sc*/
.bHmvop:focus:not( :disabled) { box-shadow:none; outline:2px solid var( --fgColor-accent,var( --color-accent-fg,#0969da) ) ; outline-offset:-1px; } /*!sc*/
.bHmvop:focus:not( :disabled) :not( :focus-visible) { outline:solid 1px transparent; } /*!sc*/
.bHmvop:focus-visible:not( :disabled) { box-shadow:none; outline:2px solid var( --fgColor-accent,var( --color-accent-fg,#0969da) ) ; outline-offset:-1px; } /*!sc*/
.bHmvop .segmentedControl-content{ -webkit-align-items:center; -webkit-box-align:center; -ms-flex-align:center; align-items:center; background-color:transparent; border-color:transparent; border-style:solid; border-width:1px; border-radius:calc( var( --segmented-control-outer-radius) - var( --segmented-control-button-bg-inset) / 2) ; display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex; height:100%; -webkit-box-pack:center; -webkit-justify-content:center; -ms-flex-pack:center; justify-content:center; padding-left:calc( var( --segmented-control-button-inner-padding) - var( --segmented-control-button-bg-inset) ) ; padding-right:calc( var( --segmented-control-button-inner-padding) - var( --segmented-control-button-bg-inset) ) ; } /*!sc*/
.bHmvop svg{ fill:var( --fgColor-muted,var( --color-fg-muted,#656d76) ) ; } /*!sc*/
.bHmvop:hover .segmentedControl-content{ background-color:var( --controlTrack-bgColor-hover,var( --color-segmented-control-button-hover-bg,rgba( 175,184,193,0.2) ) ) ; } /*!sc*/
.bHmvop:active .segmentedControl-content{ background-color:var( --controlTrack-bgColor-active,var( --color-segmented-control-button-hover-active-bg,rgba( 175,184,193,0.4) ) ) ; } /*!sc*/
.bHmvop:focus:focus-visible:not( :last-child) :after{ width:0; } /*!sc*/
.bHmvop .segmentedControl-text:after{ content:"Blame" ; display:block; font-weight:600; height:0; overflow:hidden; pointer-events:none; -webkit-user-select:none; -moz-user-select:none; -ms-user-select:none; user-select:none; visibility:hidden; } /*!sc*/
@media ( pointer:coarse) { .bHmvop:before{ content:"" ; position:absolute; left:0; right:0; -webkit-transform:translateY( -50%) ; -ms-transform:translateY( -50%) ; transform:translateY( -50%) ; top:50%; min-height:44px; } } /*!sc*/
data-styled.g109[ id = "SegmentedControlButton__SegmentedControlButtonStyled-sc-8lkgxl-0" ] { content:"dbGjOi,bHmvop," } /*!sc*/
.lawgDG{ background-color:var( --controlTrack-bgColor-rest,var( --color-segmented-control-bg,#eaeef2) ) ; border-radius:6px; border:1px solid; border-color:var( --controlTrack-borderColor-rest,transparent) ; display:-webkit-inline-box; display:-webkit-inline-flex; display:-ms-inline-flexbox; display:inline-flex; font-size:14px; height:28px; margin:0; padding:0; } /*!sc*/
data-styled.g111[ id = "SegmentedControl__SegmentedControlList-sc-1rzig82-0" ] { content:"lawgDG," } /*!sc*/
</style><meta data-hydrostats= "publish" /> <!-- --> <!-- --> <button hidden = "" data-testid= "header-permalink-button" data-hotkey-scope= "read-only-cursor-text-area" ></button><button hidden = "" ></button><div><div style = "--sticky-pane-height:100vh;--spacing:var(--spacing-none)" class = "Box-sc-g0xbh4-0 hOfjFo" ><div class = "Box-sc-g0xbh4-0 oDGAe" ><div class = "Box-sc-g0xbh4-0 kowOcT" ><div tabindex = "0" class = "Box-sc-g0xbh4-0 gISSDQ" ><div class = "Box-sc-g0xbh4-0 cEmWSE" ><div class = "Box-sc-g0xbh4-0 hPvFuC" ></div><div style = "--pane-width:320px" class = "Box-sc-g0xbh4-0 fFSoPl" ></div><div class = "Box-sc-g0xbh4-0 bTBnTW" ><div role = "slider" aria-label= "Draggable pane splitter" aria-valuemin= "0" aria-valuemax= "0" aria-valuenow= "0" aria-valuetext= "Pane width 0 pixels" tabindex = "0" class = "Box-sc-g0xbh4-0 bHLmSv" ></div></div></div></div><div class = "Box-sc-g0xbh4-0 iKqMNA" ><div class = "Box-sc-g0xbh4-0" ></div><div class = "Box-sc-g0xbh4-0 FxAyp" ><div data-selector= "repos-split-pane-content" tabindex = "0" class = "Box-sc-g0xbh4-0 leYMvG" ><div class = "Box-sc-g0xbh4-0 KMPzq" ><div class = "Box-sc-g0xbh4-0 hfKjHv container" ><div class = "px-3 pt-3 pb-0" id = "StickyHeader" ><div class = "Box-sc-g0xbh4-0 gZWyZE" ><div class = "Box-sc-g0xbh4-0 dwYKDk" ><div class = "Box-sc-g0xbh4-0 ibcGmb react-code-view-header-wrap--narrow" ><div class = "Box-sc-g0xbh4-0 hKaEJF" ><h2 class = "Box-sc-g0xbh4-0 XosP prc-Heading-Heading-6CmGO" ><button style = "--button-color:fg.muted" type = "button" aria-label= "Expand file tree" data-testid= "expand-file-tree-button-mobile" class = "Box-sc-g0xbh4-0 bCKfWo prc-Button-ButtonBase-c50BI" data-loading= "false" data-size= "medium" data-variant= "invisible" aria-describedby= ":Rld9lab:-loading-announcement" ><span data-component= "buttonContent" class = "Box-sc-g0xbh4-0 gUkoLg prc-Button-ButtonContent-HKbr-" ><span data-component= "leadingVisual" class = "prc-Button-Visual-2epfX prc-Button-VisualWrap-Db-eB" ><svg aria-hidden= "true" focusable = "false" class = "octicon octicon-arrow-left" viewBox = "0 0 16 16" width = "16" height = "16" fill = "currentColor" style = "display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible" ><path d = "M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z" ></path></svg></span><span data-component= "text" class = "prc-Button-Label-pTQ3x" >Files</span></span></button><span role = "tooltip" aria-label= "Expand file tree" id = "expand-button-file-tree-button" class = "Tooltip__TooltipBase-sc-17tf59c-0 hWlpPn tooltipped-se" ><button data-component= "IconButton" type = "button" data-testid= "expand-file-tree-button" aria-controls= "repos-file-tree" class = "prc-Button-ButtonBase-c50BI position-relative ExpandFileTreeButton-module__expandButton--gL4is ExpandFileTreeButton-module__filesButtonBreakpoint--WfX9t fgColor-muted prc-Button-IconButton-szpyj" data-loading= "false" data-no-visuals= "true" data-size= "medium" data-variant= "invisible" aria-describedby= ":R35d9lab:-loading-announcement" aria-labelledby= "expand-button-file-tree-button" ><svg aria-hidden= "true" focusable = "false" class = "octicon octicon-sidebar-collapse" viewBox = "0 0 16 16" width = "16" height = "16" fill = "currentColor" style = "display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible" ><path d = "M6.823 7.823a.25.25 0 0 1 0 .354l-2.396 2.396A.25.25 0 0 1 4 10.396V5.604a.25.25 0 0 1 .427-.177Z" ></path><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.25H9.5v-13H1.75a.25.25 0 0 0-.25.25ZM11 14.5h3.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H11Z" ></path></svg></button></span><button hidden = "" data-testid= "" data-hotkey-scope= "read-only-cursor-text-area" ></button></h2></div><div class = "react-code-view-header-mb--narrow mr-2" ><button type = "button" aria-haspopup= "true" aria-expanded= "false" tabindex = "0" aria-label= "main branch" data-testid= "anchor-button" class = "Box-sc-g0xbh4-0 dmxRgG prc-Button-ButtonBase-c50BI ref-selector-class" data-loa
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC6" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "6" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> Stop script on NZEC</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC7" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "7" style = "position:relative" ><span class = "pl-c1" >set</span> -e</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC8" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "8" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> Stop script if unbound variable found ( use ${ var :- } if intentional) </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC9" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "9" style = "position:relative" ><span class = "pl-c1" >set</span> -u</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC10" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "10" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> By default cmd1 | cmd2 returns exit code of cmd2 regardless of cmd1 success</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC11" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "11" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> This is causing it to fail</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC12" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "12" style = "position:relative" ><span class = "pl-c1" >set</span> -o pipefail</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC13" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "13" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC14" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "14" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> Use in the the functions: eval $invocation </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC15" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "15" style = "position:relative" >invocation= <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>say_verbose "Calling: ${yellow:-}${FUNCNAME[0]} ${green:-}$*${normal:-}"<span class="pl-pds">'</span></span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC16" class="react-file-line html-div" data-testid="code-cell" data-line-number="16" style="position:relative">
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC17" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "17" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> standard output may be used as a return value in the functions</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC18" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "18" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> we need a way to write text on the screen in the functions so that</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC19" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "19" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> it won& #039;t interfere with the return value.</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC20" class="react-file-line html-div" data-testid="code-cell" data-line-number="20" style="position:relative"><span class="pl-c"><span class="pl-c">#</span> Exposing stream 3 as a pipe to standard output of the script itself</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC21" class="react-file-line html-div" data-testid="code-cell" data-line-number="21" style="position:relative"><span class="pl-c1">exec</span> <span class="pl-k">3>&1</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC22" class="react-file-line html-div" data-testid="code-cell" data-line-number="22" style="position:relative">
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC23" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "23" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> Setup some colors to use. These need to work in fairly limited shells, like the Ubuntu Docker container where there are only 8 colors.</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC24" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "24" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> See if stdout is a terminal</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC25" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "25" style = "position:relative" ><span class = "pl-k" >if</span> [ <span class = "pl-k" >-t</span> 1 ] <span class = "pl-k" >& amp; & amp; </span> <span class = "pl-c1" >command</span> -v tput <span class = "pl-k" >& gt; </span> /dev/null<span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC26" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "26" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> see if it supports colors</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC27" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "27" style = "position:relative" > ncolors = <span class = "pl-s" ><span class = "pl-pds" >$( </span>tput colors <span class = "pl-k" >|| </span> <span class = "pl-c1" >echo</span> 0<span class = "pl-pds" >) </span></span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC28" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "28" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-n</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$ncolors </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >& amp; & amp; </span> [ <span class = "pl-smi" >$ncolors </span> <span class = "pl-k" >-ge</span> 8 ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC29" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "29" style = "position:relative" > bold = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>tput bold <span class = "pl-k" >|| </span> echo<span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC30" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "30" style = "position:relative" > normal = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>tput sgr0 <span class = "pl-k" >|| </span> echo<span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC31" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "31" style = "position:relative" > black = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>tput setaf 0 <span class = "pl-k" >|| </span> echo<span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC32" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "32" style = "position:relative" > red = <span class = "pl-s" ><s
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC42" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "42" style = "position:relative" ><span class = "pl-en" >say_warning</span>( ) { </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC43" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "43" style = "position:relative" > <span class = "pl-c1" >printf</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>%b\n <span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ yellow <span class= "pl-k" > :- </span> } </span>dotnet_install: Warning: <span class = "pl-smi" >$1 </span><span class = "pl-smi" >${ normal <span class= "pl-k" > :- </span> } </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >& gt; & amp; 3</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC44" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "44" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC45" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "45" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC46" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "46" style = "position:relative" ><span class = "pl-en" >say_err</span>( ) { </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC47" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "47" style = "position:relative" > <span class = "pl-c1" >printf</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>%b\n <span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ red <span class= "pl-k" > :- </span> } </span>dotnet_install: Error: <span class = "pl-smi" >$1 </span><span class = "pl-smi" >${ normal <span class= "pl-k" > :- </span> } </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >& gt; & amp; 2</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC48" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "48" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC49" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "49" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC50" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "50" style = "position:relative" ><span class = "pl-en" >say</span>( ) { </div></div></div><div class = "child-of-line-49 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC51" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "51" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> using stream 3 ( defined in the beginning) to not interfere with stdout of functions</span></div></div></div><div class = "child-of-line-49 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC52" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "52" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> which may be used as return value</span></div></div></div><div class = "child-of-line-49 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC53" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "53" style = "position:relative" > <span class = "pl-c1" >printf</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>%b\n <span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ cyan <span class= "pl-k" > :- </span> } </span>dotnet-install:<span class = "pl-smi" >${ normal <span class= "pl-k" > :- </span> } </span> <span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >& gt; & amp; 3</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC54" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "54" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC55" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "55" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC56" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "56" style = "position:relative" ><span class = "pl-en" >say_verbose</span>( ) { </div></div></div><div class = "child-of-line-55 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC57" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "57" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$verbose </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-c1" >true</span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-55 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC58" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "58" style = "position:relative" > say <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-55 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC59" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "59" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC60" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "60" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC61" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "61" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC62" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "62" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> This platform list is finite - if the SDK/Runtime has supported Linux distribution-specific assets,</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC63" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "63" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> then and only then should the Linux distribution appear in this list.</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC64" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "64" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> Adding a Linux distribution to this list does not imply distribution-specific support.</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC65" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "65" style = "position:relative" ><span class = "pl-en" >get_legacy_os_name_from_platform</span>( ) { </div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC66" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "66" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC67" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "67" style = "position:relative" >
</div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC68" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "68" style = "position:relative" > platform = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC69" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "69" style = "position:relative" > <span class = "pl-k" >case</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$platform </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >in</span></div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC70" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "70" style = "position:relative" > <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>centos.7<span class = "pl-pds" >& quot; </span></span>) </div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC71" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "71" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>centos<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC72" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "72" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC73" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "73" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC74" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "74" style = "position:relative" > <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>debian.8<span class = "pl-pds" >& quot; </span></span>) </div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC75" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "75" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>debian<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC76" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "76" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC77" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "77" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC78" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "78" style = "position:relative" > <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>debian.9<span class = "pl-pds" >& quot; </span></span>) </div></div></div><div class = "child-of-line-64 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC79" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "79" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>debian.9<span class = "pl-pds" >& quot; </span></span></div></
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC138" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "138" style = "position:relative" ><span class = "pl-en" >get_legacy_os_name</span>( ) { </div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC139" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "139" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC140" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "140" style = "position:relative" >
</div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC141" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "141" style = "position:relative" > <span class = "pl-k" >local</span> uname = <span class = "pl-s" ><span class = "pl-pds" >$( </span>uname<span class = "pl-pds" >) </span></span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC142" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "142" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$uname </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Darwin<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC143" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "143" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>osx<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC144" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "144" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC145" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "145" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-k" >-n</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime_id </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC146" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "146" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >$( </span>get_legacy_os_name_from_platform <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ runtime_id <span class= "pl-k" >%</span>-<span class= "pl-k" >*</span> } </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >|| </span> <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ runtime_id <span class= "pl-k" >%</span>-<span class= "pl-k" >*</span> } </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC147" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "147" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC148" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "148" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC149" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "149" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-e</span> /etc/os-release ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC150" class = "react-file-line html-div" data-te
</div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC159" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "159" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Distribution specific OS name and version could not be detected: UName = <span class = "pl-smi" >$uname </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-137 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC160" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "160" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC161" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "161" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC162" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "162" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC163" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "163" style = "position:relative" ><span class = "pl-en" >get_linux_platform_name</span>( ) { </div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC164" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "164" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC165" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "165" style = "position:relative" >
</div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC166" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "166" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-n</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime_id </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC167" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "167" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ runtime_id <span class= "pl-k" >%</span>-<span class= "pl-k" >*</span> } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC168" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "168" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC169" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "169" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC170" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "170" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-e</span> /etc/os-release ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC171" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "171" style = "position:relative" > <span class = "pl-c1" >.</span> /etc/os-release</div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC172" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "172" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$ID </span><span class = "pl-smi" >${ VERSION_ID <span class= "pl-k" > : </span>+.<span class= "pl-smi" > ${ VERSION_ID } </span> } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC173" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "173" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC174" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "174" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-k" >-e</span> /etc/redhat-release ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC175" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "175" style = "position:relative" > <span class = "pl-k" >local</span> redhatRelease = <span class = "pl-s" ><span class = "pl-pds" >$( </span><span class = "pl-k" >& lt; </span>/etc/redhat-release<span class = "pl-pds" >) </span></span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC176" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "176" style = "position:relative" >
</div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC183" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "183" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Linux specific platform name and version could not be detected: UName = <span class = "pl-smi" >$uname </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-162 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC184" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "184" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC185" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "185" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC186" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "186" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC187" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "187" style = "position:relative" ><span class = "pl-en" >is_musl_based_distro</span>( ) { </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC188" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "188" style = "position:relative" > ( ldd --version <span class = "pl-k" >2& gt; & amp; 1</span> <span class = "pl-k" >|| </span> true ) <span class = "pl-k" >| </span> grep -q musl</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC189" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "189" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC190" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "190" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC191" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "191" style = "position:relative" ><span class = "pl-en" >get_current_os_name</span>( ) { </div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC192" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "192" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC193" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "193" style = "position:relative" >
</div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC194" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "194" style = "position:relative" > <span class = "pl-k" >local</span> uname = <span class = "pl-s" ><span class = "pl-pds" >$( </span>uname<span class = "pl-pds" >) </span></span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC195" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "195" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$uname </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Darwin<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC196" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "196" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>osx<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC197" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "197" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC198" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "198" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$uname </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>FreeBSD<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC199" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "199" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>freebsd<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC200" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "200" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC201" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "201" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$uname </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Linux<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC202" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "202" style = "position:relative" > <span class = "pl-k" >local</span> linux_platform_name = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC203" class = "react-file-line html-div" data-testid= "code-cell" data-line-number
</div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC205" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "205" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$linux_platform_name </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>rhel.6<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC206" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "206" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-smi" >$linux_platform_name </span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC207" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "207" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC208" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "208" style = "position:relative" > <span class = "pl-k" >elif</span> is_musl_based_distro<span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC209" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "209" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>linux-musl<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC210" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "210" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC211" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "211" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$linux_platform_name </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>linux-musl<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC212" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "212" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>linux-musl<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC213" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "213" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC214" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "214" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC215" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "215" style = "position:relative" >
</div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC220" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "220" style = "position:relative" > say_err <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>OS name could not be detected: UName = <span class = "pl-smi" >$uname </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-190 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC221" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "221" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC222" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "222" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC223" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "223" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC224" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "224" style = "position:relative" ><span class = "pl-en" >machine_has</span>( ) { </div></div></div><div class = "child-of-line-223 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC225" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "225" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-223 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC226" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "226" style = "position:relative" >
</div></div></div><div class = "child-of-line-223 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC227" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "227" style = "position:relative" > <span class = "pl-c1" >command</span> -v <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >& gt; </span> /dev/null <span class = "pl-k" >2& gt; & amp; 1</span></div></div></div><div class = "child-of-line-223 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC228" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "228" style = "position:relative" > <span class = "pl-k" >return</span> <span class = "pl-smi" >$? </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC229" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "229" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC230" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "230" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC231" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "231" style = "position:relative" ><span class = "pl-en" >check_min_reqs</span>( ) { </div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC232" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "232" style = "position:relative" > <span class = "pl-k" >local</span> hasMinimum = false</div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC233" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "233" style = "position:relative" > <span class = "pl-k" >if</span> machine_has <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>curl<span class = "pl-pds" >& quot; </span></span><span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC234" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "234" style = "position:relative" > hasMinimum = true</div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC235" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "235" style = "position:relative" > <span class = "pl-k" >elif</span> machine_has <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>wget<span class = "pl-pds" >& quot; </span></span><span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC236" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "236" style = "position:relative" > hasMinimum = true</div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC237" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "237" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC238" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "238" style = "position:relative" >
</div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC239" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "239" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$hasMinimum </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>false<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC240" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "240" style = "position:relative" > say_err <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>curl ( recommended) or wget are required to download dotnet. Install missing prerequisite to proceed.<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC241" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "241" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC242" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "242" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-230 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC243" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "243" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC244" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "244" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC245" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "245" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC246" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "246" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC247" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "247" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> input - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC248" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "248" style = "position:relative" ><span class = "pl-en" >to_lowercase</span>( ) { </div></div></div><div class = "child-of-line-247 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC249" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "249" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span>eval $invocation </span></div></div></div><div class = "child-of-line-247 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC250" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "250" style = "position:relative" >
</div></div></div><div class = "child-of-line-247 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC251" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "251" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >| </span> tr <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>[:upper:]<span class="pl-pds">'</span></span> <span class="pl-s"><span class="pl-pds">'</span>[:lower:]<span class="pl-pds">'</span></span></div></div></div><div class="child-of-line-247 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC252" class="react-file-line html-div" data-testid="code-cell" data-line-number="252" style="position:relative"> <span class="pl-k">return</span> 0</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC253" class="react-file-line html-div" data-testid="code-cell" data-line-number="253" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC254" class="react-file-line html-div" data-testid="code-cell" data-line-number="254" style="position:relative">
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC255" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "255" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC256" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "256" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> input - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC257" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "257" style = "position:relative" ><span class = "pl-en" >remove_trailing_slash</span>( ) { </div></div></div><div class = "child-of-line-256 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC258" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "258" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span>eval $invocation </span></div></div></div><div class = "child-of-line-256 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC259" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "259" style = "position:relative" >
</div></div></div><div class = "child-of-line-256 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC260" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "260" style = "position:relative" > <span class = "pl-k" >local</span> input = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 1 <span class= "pl-k" > :- </span> } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-256 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC261" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "261" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ input <span class= "pl-k" >%/</span> } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-256 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC262" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "262" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC263" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "263" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC264" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "264" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC265" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "265" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC266" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "266" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> input - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC267" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "267" style = "position:relative" ><span class = "pl-en" >remove_beginning_slash</span>( ) { </div></div></div><div class = "child-of-line-266 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC268" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "268" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span>eval $invocation </span></div></div></div><div class = "child-of-line-266 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC269" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "269" style = "position:relative" >
</div></div></div><div class = "child-of-line-266 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC270" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "270" style = "position:relative" > <span class = "pl-k" >local</span> input = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 1 <span class= "pl-k" > :- </span> } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-266 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC271" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "271" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ input <span class= "pl-k" >#/</span> } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-266 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC272" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "272" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC273" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "273" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC274" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "274" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC275" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "275" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC276" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "276" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> root_path - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC277" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "277" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> child_path - $2 - this parameter can be empty</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC278" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "278" style = "position:relative" ><span class = "pl-en" >combine_paths</span>( ) { </div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC279" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "279" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC280" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "280" style = "position:relative" >
</div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC281" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "281" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> TODO: Consider making it work with any number of paths. For now:</span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC282" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "282" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >!</span> <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 3 <span class= "pl-k" > :- </span> } </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC283" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "283" style = "position:relative" > say_err <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>combine_paths: Function takes two parameters.<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC284" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "284" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC285" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "285" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC286" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "286" style = "position:relative" >
</div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC287" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "287" style = "position:relative" > <span class = "pl-k" >local</span> root_path = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>remove_trailing_slash <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC288" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "288" style = "position:relative" > <span class = "pl-k" >local</span> child_path = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>remove_beginning_slash <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 2 <span class= "pl-k" > :- </span> } </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC289" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "289" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>combine_paths: root_path = <span class = "pl-smi" >$root_path </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC290" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "290" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>combine_paths: child_path = <span class = "pl-smi" >$child_path </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC291" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "291" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$root_path </span>/<span class = "pl-smi" >$child_path </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-277 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC292" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "292" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC293" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "293" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC294" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "294" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC295" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "295" style = "position:relative" ><span class = "pl-en" >get_machine_architecture</span>( ) { </div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC296" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "296" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC297" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "297" style = "position:relative" >
</div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC298" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "298" style = "position:relative" > <span class = "pl-k" >if</span> <span class = "pl-c1" >command</span> -v uname <span class = "pl-k" >& gt; </span> /dev/null<span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC299" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "299" style = "position:relative" > CPUName = <span class = "pl-s" ><span class = "pl-pds" >$( </span>uname -m<span class = "pl-pds" >) </span></span></div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC300" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "300" style = "position:relative" > <span class = "pl-k" >case</span> <span class = "pl-smi" >$CPUName </span> <span class = "pl-k" >in</span></div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC301" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "301" style = "position:relative" > armv1<span class = "pl-k" >*</span>| armv2<span class = "pl-k" >*</span>| armv3<span class = "pl-k" >*</span>| armv4<span class = "pl-k" >*</span>| armv5<span class = "pl-k" >*</span>| armv6<span class = "pl-k" >*</span>) </div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC302" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "302" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>armv6-or-below<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC303" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "303" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC304" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "304" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC305" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "305" style = "position:relative" > armv<span class = "pl-k" >*</span>l) </div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC306" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "306" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>arm<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC307" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "307" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC308" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "308" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC309" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "309" style = "position:relative" > aarch64| arm64) </div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><
</div></div></div><div class = "child-of-line-294 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC341" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "341" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> Always default to & #039;x64'</span></div></div></div><div class="child-of-line-294 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC342" class="react-file-line html-div" data-testid="code-cell" data-line-number="342" style="position:relative"> <span class="pl-c1">echo</span> <span class="pl-s"><span class="pl-pds">"</span>x64<span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-294 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC343" class="react-file-line html-div" data-testid="code-cell" data-line-number="343" style="position:relative"> <span class="pl-k">return</span> 0</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC344" class="react-file-line html-div" data-testid="code-cell" data-line-number="344" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC345" class="react-file-line html-div" data-testid="code-cell" data-line-number="345" style="position:relative">
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC346" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "346" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC347" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "347" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> architecture - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC348" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "348" style = "position:relative" ><span class = "pl-en" >get_normalized_architecture_from_architecture</span>( ) { </div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC349" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "349" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC350" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "350" style = "position:relative" >
</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC351" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "351" style = "position:relative" > <span class = "pl-k" >local</span> architecture = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>to_lowercase <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC352" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "352" style = "position:relative" >
</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC353" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "353" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-smi" >$architecture </span> <span class = "pl-k" >= = </span> <span class = "pl-cce" >\& lt; </span>auto<span class = "pl-cce" >\& gt; </span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC354" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "354" style = "position:relative" > machine_architecture = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>get_machine_architecture<span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC355" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "355" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$machine_architecture </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>armv6-or-below<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC356" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "356" style = "position:relative" > say_err <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Architecture <span class = "pl-cce" >\` </span><span class = "pl-smi" >$machine_architecture </span><span class = "pl-cce" >\` </span> not supported. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC357" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "357" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC358" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "358" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC359" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "359" style = "position:relative" >
</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC360" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "360" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-smi" >$machine_architecture </span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC361" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "361" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC362" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "362" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC363" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "363" style = "position:relative" >
</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC364" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "364" style = "position:relative" > <span class = "pl-k" >case</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$architecture </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >in</span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC365" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "365" style = "position:relative" > amd64| x64) </div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC366" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "366" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>x64<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC367" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "367" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC368" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "368" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC369" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "369" style = "position:relative" > arm) </div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC370" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "370" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>arm<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC371" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "371" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC372" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "372" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC373" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "373" style = "position:relative" > arm64) </div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC374" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "374" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>arm64<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC375" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "375" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC376" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "376" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = " min
</div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC391" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "391" style = "position:relative" > say_err <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Architecture <span class = "pl-cce" >\` </span><span class = "pl-smi" >$architecture </span><span class = "pl-cce" >\` </span> not supported. If you think this is a bug, report it at https://github.com/dotnet/install-scripts/issues<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-347 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC392" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "392" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC393" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "393" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC394" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "394" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC395" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "395" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC396" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "396" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> version - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC397" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "397" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> channel - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC398" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "398" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> architecture - $3 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC399" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "399" style = "position:relative" ><span class = "pl-en" >get_normalized_architecture_for_specific_sdk_version</span>( ) { </div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC400" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "400" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC401" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "401" style = "position:relative" >
</div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC402" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "402" style = "position:relative" > <span class = "pl-k" >local</span> is_version_support_arm64 = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>is_arm64_supported <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC403" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "403" style = "position:relative" > <span class = "pl-k" >local</span> is_channel_support_arm64 = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>is_arm64_supported <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC404" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "404" style = "position:relative" > <span class = "pl-k" >local</span> architecture = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$3 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-k" >; </span></div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC405" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "405" style = "position:relative" > <span class = "pl-k" >local</span> osname = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>get_current_os_name<span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC406" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "406" style = "position:relative" >
</div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC407" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "407" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$osname </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>osx<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >& amp; & amp; </span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$architecture </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>arm64<span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >& amp; & amp; </span> { [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$is_version_support_arm64 </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-c1" >false</span> ] <span class = "pl-k" >|| </span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$is_channel_support_arm64 </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-c1" >false</span> ] <span class = "pl-k" >; </span> } <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC408" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "408" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span>check if rosetta is installed</span></div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC409" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "409" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>/usr/bin/pgrep oahd <span class = "pl-k" >& gt; </span>/dev/null <span class = "pl-k" >2& gt; & amp; 1</span><span class = "pl-k" >; </span><span class = "pl-c1" >echo</span> <span class = "pl-smi" >$? </span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >-eq</span> 0 ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span> </div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC410" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "410" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Changing user architecture from & #039;<span class="pl-smi">$architecture</span>' to 'x64' because .NET SDKs prior to version 6.0 do not support arm64.<span class="pl-pds">"</span></span> </div></div></div><div class="child-of-line-398 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC411" class="react-file-line html-div" data-testid="code-cell" data-line-number="411" style="position:relative"> <span class="pl-c1">echo</span> <span class="pl-s"><span class="pl-pds">"</span>x64<span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-398 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC412" class="react-file-line html-div" data-testid="code-cell" data-line-number="412" style="position:relative"> <span class="pl-k">return</span> 0<span class="pl-k">;</span></div></div></div><div class="child-of-line-398 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC413" class="react-file-line html-div" data-testid="code-cell" data-line-number="413" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="child-of-line-398 react-code-text react-code-line-contents" style="
</div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC419" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "419" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$architecture </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-398 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC420" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "420" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC421" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "421" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC422" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "422" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC423" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "423" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC424" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "424" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> version or channel - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC425" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "425" style = "position:relative" ><span class = "pl-en" >is_arm64_supported</span>( ) { </div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC426" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "426" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> Extract the major version by splitting on the dot</span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC427" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "427" style = "position:relative" > major_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 1 <span class= "pl-k" >%%</span>.<span class= "pl-k" >*</span> } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC428" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "428" style = "position:relative" >
</div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC429" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "429" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> Check if the major version is a valid number and less than 6</span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC430" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "430" style = "position:relative" > <span class = "pl-k" >case</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$major_version </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >in</span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC431" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "431" style = "position:relative" > [ 0-9] <span class = "pl-k" >*</span>) </div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC432" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "432" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$major_version </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >-lt</span> 6 ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC433" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "433" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-c1" >false</span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC434" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "434" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC435" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "435" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC436" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "436" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC437" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "437" style = "position:relative" > <span class = "pl-k" >esac</span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC438" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "438" style = "position:relative" >
</div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC439" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "439" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-c1" >true</span></div></div></div><div class = "child-of-line-424 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC440" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "440" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC441" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "441" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC442" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "442" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC443" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "443" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC444" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "444" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> user_defined_os - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC445" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "445" style = "position:relative" ><span class = "pl-en" >get_normalized_os</span>( ) { </div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC446" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "446" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC447" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "447" style = "position:relative" >
</div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC448" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "448" style = "position:relative" > <span class = "pl-k" >local</span> osname = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>to_lowercase <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC449" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "449" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >!</span> <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$osname </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC450" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "450" style = "position:relative" > <span class = "pl-k" >case</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$osname </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >in</span></div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC451" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "451" style = "position:relative" > osx | freebsd | rhel.6 | linux-musl | linux) </div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC452" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "452" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$osname </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC453" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "453" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC454" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "454" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC455" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "455" style = "position:relative" > macos) </div></div></div><div class = "child-of-line-444 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC456" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "456" style = "position:relative" > osname = <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>osx<span class="pl-pds">'</span></span></div></div></div><div class="child-of-line-444 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC457" class="react-file-line html-div" data-testid="code-cell" data-line-number="457" style="position:relative"> <span class="pl-c1">echo</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$osname</span><span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-444 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC458" class="react-file-line html-div" data-testid="code-cell" data-line-number="458" style=
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC472" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "472" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC473" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "473" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> quality - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC474" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "474" style = "position:relative" ><span class = "pl-en" >get_normalized_quality</span>( ) { </div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC475" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "475" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC476" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "476" style = "position:relative" >
</div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC477" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "477" style = "position:relative" > <span class = "pl-k" >local</span> quality = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>to_lowercase <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC478" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "478" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >!</span> <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$quality </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC479" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "479" style = "position:relative" > <span class = "pl-k" >case</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$quality </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >in</span></div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC480" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "480" style = "position:relative" > daily | signed | validated | preview) </div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC481" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "481" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$quality </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC482" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "482" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC483" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "483" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC484" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "484" style = "position:relative" > ga) </div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC485" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "485" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span>ga quality is available without specifying quality, so normalizing it to empty</span></div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC486" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "486" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-473 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC487" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "487" style = "position:relative" > ; ; </div></div></div><div class = " child-of-line-473 react-code-text rea
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC497" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "497" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC498" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "498" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> channel - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC499" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "499" style = "position:relative" ><span class = "pl-en" >get_normalized_channel</span>( ) { </div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC500" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "500" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC501" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "501" style = "position:relative" >
</div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC502" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "502" style = "position:relative" > <span class = "pl-k" >local</span> channel = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>to_lowercase <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC503" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "503" style = "position:relative" >
</div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC504" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "504" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-smi" >$channel </span> <span class = "pl-k" >= = </span> current ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC505" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "505" style = "position:relative" > say_warning <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>Value "Current" is deprecated for -Channel option. Use "STS" instead.<span class="pl-pds">'</span></span></div></div></div><div class="child-of-line-498 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC506" class="react-file-line html-div" data-testid="code-cell" data-line-number="506" style="position:relative"> <span class="pl-k">fi</span></div></div></div><div class="child-of-line-498 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC507" class="react-file-line html-div" data-testid="code-cell" data-line-number="507" style="position:relative">
</div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC508" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "508" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-smi" >$channel </span> <span class = "pl-k" >= = </span> release/<span class = "pl-k" >*</span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC509" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "509" style = "position:relative" > say_warning <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>Using branch name with -Channel option is no longer supported with newer releases. Use -Quality option with a channel in X.Y format instead.<span class="pl-pds">'</span></span><span class="pl-k">;</span></div></div></div><div class="child-of-line-498 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC510" class="react-file-line html-div" data-testid="code-cell" data-line-number="510" style="position:relative"> <span class="pl-k">fi</span></div></div></div><div class="child-of-line-498 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC511" class="react-file-line html-div" data-testid="code-cell" data-line-number="511" style="position:relative">
</div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC512" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "512" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >!</span> <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$channel </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC513" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "513" style = "position:relative" > <span class = "pl-k" >case</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$channel </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >in</span></div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC514" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "514" style = "position:relative" > lts) </div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC515" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "515" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>LTS<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC516" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "516" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC517" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "517" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC518" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "518" style = "position:relative" > sts) </div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC519" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "519" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>STS<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC520" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "520" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC521" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "521" style = "position:relative" > ; ; </div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC522" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "522" style = "position:relative" > current) </div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC523" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "523" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>STS<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = " child-of-line-498 react-code-text react-code-line-content
</div></div></div><div class = "child-of-line-498 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC533" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "533" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC534" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "534" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC535" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "535" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC536" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "536" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC537" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "537" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> runtime - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC538" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "538" style = "position:relative" ><span class = "pl-en" >get_normalized_product</span>( ) { </div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC539" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "539" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC540" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "540" style = "position:relative" >
</div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC541" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "541" style = "position:relative" > <span class = "pl-k" >local</span> product = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC542" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "542" style = "position:relative" > <span class = "pl-k" >local</span> runtime = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>to_lowercase <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC543" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "543" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>dotnet<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC544" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "544" style = "position:relative" > product = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>dotnet-runtime<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC545" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "545" style = "position:relative" > <span class = "pl-k" >elif</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>aspnetcore<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC546" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "546" style = "position:relative" > product = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>aspnetcore-runtime<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC547" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "547" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC548" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "548" style = "position:relative" > product = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>dotnet-sdk<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-537 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC549" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "549" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = " child-of-
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC554" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "554" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> The version text returned from the feeds is a 1-line or 2-line string:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC555" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "555" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> For the SDK and the dotnet runtime ( 2 lines) :</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC556" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "556" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> Line 1: # commit_hash</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC557" class="react-file-line html-div" data-testid="code-cell" data-line-number="557" style="position:relative"><span class="pl-c"><span class="pl-c">#</span> Line 2: # 4-part version</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC558" class="react-file-line html-div" data-testid="code-cell" data-line-number="558" style="position:relative"><span class="pl-c"><span class="pl-c">#</span> For the aspnetcore runtime (1 line):</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC559" class="react-file-line html-div" data-testid="code-cell" data-line-number="559" style="position:relative"><span class="pl-c"><span class="pl-c">#</span> Line 1: # 4-part version</span></div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC560" class="react-file-line html-div" data-testid="code-cell" data-line-number="560" style="position:relative">
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC561" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "561" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC562" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "562" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> version_text - stdin</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC563" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "563" style = "position:relative" ><span class = "pl-en" >get_version_from_latestversion_file_content</span>( ) { </div></div></div><div class = "child-of-line-562 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC564" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "564" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-562 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC565" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "565" style = "position:relative" >
</div></div></div><div class = "child-of-line-562 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC566" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "566" style = "position:relative" > cat <span class = "pl-k" >| </span> tail -n 1 <span class = "pl-k" >| </span> sed <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>s/\r$//<span class="pl-pds">'</span></span></div></div></div><div class="child-of-line-562 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC567" class="react-file-line html-div" data-testid="code-cell" data-line-number="567" style="position:relative"> <span class="pl-k">return</span> 0</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC568" class="react-file-line html-div" data-testid="code-cell" data-line-number="568" style="position:relative">}</div></div></div><div class="react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC569" class="react-file-line html-div" data-testid="code-cell" data-line-number="569" style="position:relative">
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC570" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "570" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC571" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "571" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> install_root - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC572" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "572" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> relative_path_to_package - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC573" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "573" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> specific_version - $3 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC574" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "574" style = "position:relative" ><span class = "pl-en" >is_dotnet_package_installed</span>( ) { </div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC575" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "575" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC576" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "576" style = "position:relative" >
</div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC577" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "577" style = "position:relative" > <span class = "pl-k" >local</span> install_root = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC578" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "578" style = "position:relative" > <span class = "pl-k" >local</span> relative_path_to_package = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC579" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "579" style = "position:relative" > <span class = "pl-k" >local</span> specific_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 3 <span class= "pl-k" >//</span>[ $' \t \r \n '] } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC580" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "580" style = "position:relative" >
</div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC581" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "581" style = "position:relative" > <span class = "pl-k" >local</span> dotnet_package_path = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>combine_paths <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>combine_paths <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$install_root </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$relative_path_to_package </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$specific_version </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC582" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "582" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>is_dotnet_package_installed: dotnet_package_path = <span class = "pl-smi" >$dotnet_package_path </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC583" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "583" style = "position:relative" >
</div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC584" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "584" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-d</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$dotnet_package_path </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC585" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "585" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC586" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "586" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC587" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "587" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "child-of-line-573 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC588" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "588" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC589" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "589" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC590" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "590" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC591" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "591" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC592" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "592" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> downloaded file - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC593" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "593" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> remote_file_size - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC594" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "594" style = "position:relative" ><span class = "pl-en" >validate_remote_local_file_sizes</span>( ) </div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC595" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "595" style = "position:relative" >{ </div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC596" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "596" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC597" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "597" style = "position:relative" >
</div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC598" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "598" style = "position:relative" > <span class = "pl-k" >local</span> downloaded_file = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC599" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "599" style = "position:relative" > <span class = "pl-k" >local</span> remote_file_size = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC600" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "600" style = "position:relative" > <span class = "pl-k" >local</span> file_size = <span class = "pl-s" ><span class = "pl-pds" >& #039;</span><span class="pl-pds">'</span></span></div></div></div><div class="child-of-line-593 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC601" class="react-file-line html-div" data-testid="code-cell" data-line-number="601" style="position:relative">
</div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC602" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "602" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$OSTYPE </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>linux-gnu<span class = "pl-pds" >& quot; </span></span><span class = "pl-k" >*</span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC603" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "603" style = "position:relative" > file_size = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>stat -c <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>%s<span class="pl-pds">'</span></span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$downloaded_file</span><span class="pl-pds">"</span></span><span class="pl-pds">)</span></span><span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-593 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC604" class="react-file-line html-div" data-testid="code-cell" data-line-number="604" style="position:relative"> <span class="pl-k">elif</span> [[ <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$OSTYPE</span><span class="pl-pds">"</span></span> <span class="pl-k">==</span> <span class="pl-s"><span class="pl-pds">"</span>darwin<span class="pl-pds">"</span></span><span class="pl-k">*</span> ]]<span class="pl-k">;</span> <span class="pl-k">then</span></div></div></div><div class="child-of-line-593 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC605" class="react-file-line html-div" data-testid="code-cell" data-line-number="605" style="position:relative"> <span class="pl-c"><span class="pl-c">#</span> hardcode in order to avoid conflicts with GNU stat</span></div></div></div><div class="child-of-line-593 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC606" class="react-file-line html-div" data-testid="code-cell" data-line-number="606" style="position:relative"> file_size=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-s"><span class="pl-pds">$(</span>/usr/bin/stat -f <span class="pl-s"><span class="pl-pds">'</span>%z<span class="pl-pds">'</span></span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$downloaded_file</span><span class="pl-pds">"</span></span><span class="pl-pds">)</span></span><span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-593 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC607" class="react-file-line html-div" data-testid="code-cell" data-line-number="607" style="position:relative"> <span class="pl-k">fi</span> </div></div></div><div class="child-of-line-593 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC608" class="react-file-line html-div" data-testid="code-cell" data-line-number="608" style="position:relative"> </div></div></div><div class="child-of-line-593 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC609" class="react-file-line html-div" data-testid="code-cell" data-line-number="609" style="position:relative"> <span class="pl-k">if</span> [ <span class="pl-k">-n</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$file_size</span><span class="pl-pds">"</span></span> ]<span class="pl-k">;</span> <span class="pl-k">then</span></div></div></div><div class="child-of-line-593 react-code-text react-code-line-contents" st
</div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC612" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "612" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-n</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$remote_file_size </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >& amp; & amp; </span> [ <span class = "pl-k" >-n</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$file_size </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC613" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "613" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$remote_file_size </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >-ne</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$file_size </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC614" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "614" style = "position:relative" > say <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>The remote and local file sizes are not equal. The remote file size is <span class = "pl-smi" >$remote_file_size </span> bytes and the local size is <span class = "pl-smi" >$file_size </span> bytes. The local package may be corrupted.<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC615" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "615" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC616" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "616" style = "position:relative" > say <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>The remote and local file sizes are equal.<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC617" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "617" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC618" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "618" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC619" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "619" style = "position:relative" > </div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC620" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "620" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-593 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC621" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "621" style = "position:relative" > say <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Either downloaded or local package size can not be measured. One of them may be
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC625" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "625" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC626" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "626" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> azure_feed - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC627" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "627" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> channel - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC628" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "628" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> normalized_architecture - $3 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC629" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "629" style = "position:relative" ><span class = "pl-en" >get_version_from_latestversion_file</span>( ) { </div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC630" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "630" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC631" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "631" style = "position:relative" >
</div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC632" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "632" style = "position:relative" > <span class = "pl-k" >local</span> azure_feed = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC633" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "633" style = "position:relative" > <span class = "pl-k" >local</span> channel = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC634" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "634" style = "position:relative" > <span class = "pl-k" >local</span> normalized_architecture = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$3 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC635" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "635" style = "position:relative" >
</div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC636" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "636" style = "position:relative" > <span class = "pl-k" >local</span> version_file_url = null</div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC637" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "637" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>dotnet<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC638" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "638" style = "position:relative" > version_file_url = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/Runtime/<span class = "pl-smi" >$channel </span>/latest.version<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC639" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "639" style = "position:relative" > <span class = "pl-k" >elif</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>aspnetcore<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC640" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "640" style = "position:relative" > version_file_url = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/aspnetcore/Runtime/<span class = "pl-smi" >$channel </span>/latest.version<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC641" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "641" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC642" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "642" style = "position:relative" > version_file_url = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/Sdk/<span class = "pl-smi" >$channel </span>/latest.version<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC643" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "643" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC644" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "644" style = "position:relative" > say_err <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Invalid value for <span class = "pl-cce" >\$ </span>runtime<span class = "pl-pds" >& quot; </span></span></div></div></div><div
</div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC649" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "649" style = "position:relative" > download <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$version_file_url </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >|| </span> <span class = "pl-k" >return</span> <span class = "pl-smi" >$? </span></div></div></div><div class = "child-of-line-628 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC650" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "650" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC651" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "651" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC652" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "652" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC653" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "653" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC654" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "654" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> json_file - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC655" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "655" style = "position:relative" ><span class = "pl-en" >parse_globaljson_file_for_version</span>( ) { </div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC656" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "656" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC657" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "657" style = "position:relative" >
</div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC658" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "658" style = "position:relative" > <span class = "pl-k" >local</span> json_file = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC659" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "659" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >!</span> <span class = "pl-k" >-f</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$json_file </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC660" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "660" style = "position:relative" > say_err <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Unable to find <span class = "pl-cce" >\` </span><span class = "pl-smi" >$json_file </span><span class = "pl-cce" >\` </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC661" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "661" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC662" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "662" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC663" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "663" style = "position:relative" >
</div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC664" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "664" style = "position:relative" > sdk_section = <span class = "pl-s" ><span class = "pl-pds" >$( </span>cat <span class = "pl-smi" >$json_file </span> <span class = "pl-k" >| </span> tr -d <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>\r <span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >| </span> awk <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>/"sdk"/,/}/<span class="pl-pds">'</span></span><span class="pl-pds">)</span></span></div></div></div><div class="child-of-line-654 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC665" class="react-file-line html-div" data-testid="code-cell" data-line-number="665" style="position:relative"> <span class="pl-k">if</span> [ <span class="pl-k">-z</span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$sdk_section</span><span class="pl-pds">"</span></span> ]<span class="pl-k">;</span> <span class="pl-k">then</span></div></div></div><div class="child-of-line-654 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC666" class="react-file-line html-div" data-testid="code-cell" data-line-number="666" style="position:relative"> say_err <span class="pl-s"><span class="pl-pds">"</span>Unable to parse the SDK node in <span class="pl-cce">\`</span><span class="pl-smi">$json_file</span><span class="pl-cce">\`</span><span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-654 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC667" class="react-file-line html-div" data-testid="code-cell" data-line-number="667" style="position:relative"> <span class="pl-k">return</span> 1</div></div></div><div class="child-of-line-654 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC668" class="react-file-line html-div" data-testid="code-cell" data-line-number="668" style="position:relative"> <span class="pl-k">fi</span></div></div></div><div class="child-of-line-654 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC669" class="react-file-line html-div" data-testid="code-cell" data-line-number="669" style="position:relative">
</div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC670" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "670" style = "position:relative" > sdk_list = <span class = "pl-s" ><span class = "pl-pds" >$( </span>echo <span class = "pl-smi" >$sdk_section </span> <span class = "pl-k" >| </span> awk -F<span class = "pl-s" ><span class = "pl-pds" >& quot; </span>[ { } ] <span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& #039;</span>{print $2}<span class="pl-pds">'</span></span><span class="pl-pds">)</span></span></div></div></div><div class="child-of-line-654 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC671" class="react-file-line html-div" data-testid="code-cell" data-line-number="671" style="position:relative"> sdk_list=<span class="pl-smi">${sdk_list<span class="pl-k">//</span>[\" ]<span class="pl-k">/</span>}</span></div></div></div><div class="child-of-line-654 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC672" class="react-file-line html-div" data-testid="code-cell" data-line-number="672" style="position:relative"> sdk_list=<span class="pl-smi">${sdk_list<span class="pl-k">//</span>,<span class="pl-k">/</span><span class="pl-s"><span class="pl-pds">$'</span><span class="pl-cce">\n</span><span class="pl-pds">'</span></span>}</span></div></div></div><div class="child-of-line-654 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC673" class="react-file-line html-div" data-testid="code-cell" data-line-number="673" style="position:relative">
</div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC674" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "674" style = "position:relative" > <span class = "pl-k" >local</span> version_info = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC675" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "675" style = "position:relative" > <span class = "pl-k" >while</span> <span class = "pl-c1" >read</span> -r line<span class = "pl-k" >; </span> <span class = "pl-k" >do</span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC676" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "676" style = "position:relative" > IFS = :</div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC677" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "677" style = "position:relative" > <span class = "pl-k" >while</span> <span class = "pl-c1" >read</span> -r key value<span class = "pl-k" >; </span> <span class = "pl-k" >do</span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC678" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "678" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$key </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>version<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC679" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "679" style = "position:relative" > version_info = <span class = "pl-smi" >$value </span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC680" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "680" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC681" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "681" style = "position:relative" > <span class = "pl-k" >done</span> <span class = "pl-k" >& lt; & lt; & lt; </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>$line <span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC682" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "682" style = "position:relative" > <span class = "pl-k" >done</span> <span class = "pl-k" >& lt; & lt; & lt; </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>$sdk_list <span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC683" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "683" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$version_info </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC684" class = "react-file-line html-div" data-testid= " code-cel
</div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC688" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "688" style = "position:relative" > <span class = "pl-c1" >unset</span> IFS<span class = "pl-k" >; </span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC689" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "689" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$version_info </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-654 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC690" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "690" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC691" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "691" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC692" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "692" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC693" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "693" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC694" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "694" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> azure_feed - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC695" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "695" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> channel - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC696" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "696" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> normalized_architecture - $3 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC697" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "697" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> version - $4 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC698" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "698" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> json_file - $5 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC699" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "699" style = "position:relative" ><span class = "pl-en" >get_specific_version_from_version</span>( ) { </div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC700" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "700" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC701" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "701" style = "position:relative" >
</div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC702" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "702" style = "position:relative" > <span class = "pl-k" >local</span> azure_feed = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC703" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "703" style = "position:relative" > <span class = "pl-k" >local</span> channel = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC704" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "704" style = "position:relative" > <span class = "pl-k" >local</span> normalized_architecture = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$3 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC705" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "705" style = "position:relative" > <span class = "pl-k" >local</span> version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>to_lowercase <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$4 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC706" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "706" style = "position:relative" > <span class = "pl-k" >local</span> json_file = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$5 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC707" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "707" style = "position:relative" >
</div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC708" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "708" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$json_file </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC709" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "709" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$version </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>latest<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC710" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "710" style = "position:relative" > <span class = "pl-k" >local</span> version_info</div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC711" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "711" style = "position:relative" > version_info = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>get_version_from_latestversion_file <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$channel </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$normalized_architecture </span><span class = "pl-pds" >& quot; </span></span> false<span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >|| </span> <span class = "pl-k" >return</span> 1</div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC712" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "712" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>get_specific_version_from_version: version_info = <span class = "pl-smi" >$version_info </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC713" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "713" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$version_info </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >| </span> get_version_from_latestversion_file_content</div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC714" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "714" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC715" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "715" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-698 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC716" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "716" style = "
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC727" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "727" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC728" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "728" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> azure_feed - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC729" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "729" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> channel - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC730" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "730" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> normalized_architecture - $3 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC731" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "731" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> specific_version - $4 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC732" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "732" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> normalized_os - $5 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC733" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "733" style = "position:relative" ><span class = "pl-en" >construct_download_link</span>( ) { </div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC734" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "734" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC735" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "735" style = "position:relative" >
</div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC736" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "736" style = "position:relative" > <span class = "pl-k" >local</span> azure_feed = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC737" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "737" style = "position:relative" > <span class = "pl-k" >local</span> channel = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC738" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "738" style = "position:relative" > <span class = "pl-k" >local</span> normalized_architecture = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$3 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC739" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "739" style = "position:relative" > <span class = "pl-k" >local</span> specific_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 4 <span class= "pl-k" >//</span>[ $' \t \r \n '] } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC740" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "740" style = "position:relative" > <span class = "pl-k" >local</span> specific_product_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>get_specific_product_version <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$4 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC741" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "741" style = "position:relative" > <span class = "pl-k" >local</span> osname = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$5 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC742" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "742" style = "position:relative" >
</div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC743" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "743" style = "position:relative" > <span class = "pl-k" >local</span> download_link = null</div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC744" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "744" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>dotnet<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC745" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "745" style = "position:relative" > download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/Runtime/<span class = "pl-smi" >$specific_version </span>/dotnet-runtime-<span class = "pl-smi" >$specific_product_version </span>-<span class = "pl-smi" >$osname </span>-<span class = "pl-smi" >$normalized_architecture </span>.tar.gz<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC746" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "746" style = "position:relative" > <span class = "pl-k" >elif</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>aspnetcore<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC747" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "747" style = "position:relative" > download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/aspnetcore/Runtime/<span class = "pl-smi" >$specific_version </span>/aspnetcore-runtime-<span class = "pl-smi" >$specific_product_version </span>-<span class = "pl-smi" >$osname </span>-<span class = "pl-smi" >$normalized_architecture </span>.tar.gz<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC748" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "748" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC749" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "749" style = "position:relative" > download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/Sdk/<span class = "pl-smi" >$specific_version </span>/dotnet-sdk-<span class = "pl-smi" >$specific_product_version </span>-<span class = "pl-smi" >$osname </span>-<span class = "pl-smi" >$normalized_architecture </span>.tar.gz<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC750" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "750" style = "position:relative" >
</div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC754" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "754" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$download_link </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-732 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC755" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "755" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC756" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "756" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC757" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "757" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC758" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "758" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC759" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "759" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> azure_feed - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC760" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "760" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> specific_version - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC761" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "761" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> download link - $3 ( optional) </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC762" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "762" style = "position:relative" ><span class = "pl-en" >get_specific_product_version</span>( ) { </div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC763" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "763" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> If we find a & #039;productVersion.txt' at the root of any folder, we'll use its contents</span></div></div></div><div class="child-of-line-761 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC764" class="react-file-line html-div" data-testid="code-cell" data-line-number="764" style="position:relative"> <span class="pl-c"><span class="pl-c">#</span> to resolve the version of what's in the folder, superseding the specified version.</span></div></div></div><div class="child-of-line-761 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC765" class="react-file-line html-div" data-testid="code-cell" data-line-number="765" style="position:relative"> <span class="pl-c"><span class="pl-c">#</span> if 'productVersion.txt' is missing but download link is already available, product version will be taken from download link</span></div></div></div><div class="child-of-line-761 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC766" class="react-file-line html-div" data-testid="code-cell" data-line-number="766" style="position:relative"> <span class="pl-c1">eval</span> <span class="pl-smi">$invocation</span></div></div></div><div class="child-of-line-761 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC767" class="react-file-line html-div" data-testid="code-cell" data-line-number="767" style="position:relative">
</div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC768" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "768" style = "position:relative" > <span class = "pl-k" >local</span> azure_feed = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC769" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "769" style = "position:relative" > <span class = "pl-k" >local</span> specific_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 2 <span class= "pl-k" >//</span>[ $' \t \r \n '] } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC770" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "770" style = "position:relative" > <span class = "pl-k" >local</span> package_download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC771" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "771" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-smi" >$# </span> <span class = "pl-k" >-gt</span> 2 ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC772" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "772" style = "position:relative" > <span class = "pl-k" >local</span> package_download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$3 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC773" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "773" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC774" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "774" style = "position:relative" > <span class = "pl-k" >local</span> specific_product_version = null</div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC775" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "775" style = "position:relative" >
</div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC776" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "776" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> Try to get the version number, using the productVersion.txt file located next to the installer file.</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC777" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "777" style = "position:relative" > <span class = "pl-k" >local</span> download_links = ( <span class = "pl-s" ><span class = "pl-pds" >$( </span>get_specific_product_version_url <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$specific_version </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-c1" >true</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$package_download_link </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC778" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "778" style = "position:relative" > <span class = "pl-s" ><span class = "pl-pds" >$( </span>get_specific_product_version_url <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$specific_version </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-c1" >false</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$package_download_link </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span>) </div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC779" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "779" style = "position:relative" >
</div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC780" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "780" style = "position:relative" > <span class = "pl-k" >for</span> <span class = "pl-smi" >download_link</span> <span class = "pl-k" >in</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ download_links [@] } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC781" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "781" style = "position:relative" > <span class = "pl-k" >do</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC782" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "782" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Checking for the existence of <span class = "pl-smi" >$download_link </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC783" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "783" style = "position:relative" >
</div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC784" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "784" style = "position:relative" > <span class = "pl-k" >if</span> machine_has <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>curl<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC785" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "785" style = "position:relative" > <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC786" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "786" style = "position:relative" > <span class = "pl-k" >if</span> <span class = "pl-k" >!</span> specific_product_version = <span class = "pl-s" ><span class = "pl-pds" >$( </span>curl -s --fail <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ download_link } ${ feed_credential } </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >2& gt; & amp; 1</span><span class = "pl-pds" >) </span></span><span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC787" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "787" style = "position:relative" > <span class = "pl-k" >continue</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC788" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "788" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC789" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "789" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ specific_product_version <span class= "pl-k" >//</span>[ $' \t \r \n '] } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC790" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "790" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC791" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "791" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC792" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "792" style = "position:relative" >
</div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC793" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "793" style = "position:relative" > <span class = "pl-k" >elif</span> machine_has <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>wget<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC794" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "794" style = "position:relative" > <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC795" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "795" style = "position:relative" > specific_product_version = <span class = "pl-s" ><span class = "pl-pds" >$( </span>wget -qO- <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ download_link } ${ feed_credential } </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >2& gt; & amp; 1</span><span class = "pl-pds" >) </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC796" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "796" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-smi" >$? </span> <span class = "pl-k" >= </span> 0 ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC797" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "797" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ specific_product_version <span class= "pl-k" >//</span>[ $' \t \r \n '] } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC798" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "798" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC799" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "799" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC800" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "800" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC801" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "801" style = "position:relative" > <span class = "pl-k" >done</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC802" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "802" style = "position:relative" > </div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC803" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "803" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> Getting the version number with productVersion.txt has failed. Try parsing the download link for a version number.</span></div></div></div><div class = "child-of-line-761 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC804" class = "react-file-line html-div" data-t
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC810" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "810" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC811" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "811" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> azure_feed - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC812" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "812" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> specific_version - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC813" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "813" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> is_flattened - $3 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC814" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "814" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> download link - $4 ( optional) </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC815" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "815" style = "position:relative" ><span class = "pl-en" >get_specific_product_version_url</span>( ) { </div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC816" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "816" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC817" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "817" style = "position:relative" >
</div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC818" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "818" style = "position:relative" > <span class = "pl-k" >local</span> azure_feed = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC819" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "819" style = "position:relative" > <span class = "pl-k" >local</span> specific_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC820" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "820" style = "position:relative" > <span class = "pl-k" >local</span> is_flattened = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$3 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC821" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "821" style = "position:relative" > <span class = "pl-k" >local</span> package_download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC822" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "822" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-smi" >$# </span> <span class = "pl-k" >-gt</span> 3 ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC823" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "823" style = "position:relative" > <span class = "pl-k" >local</span> package_download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$4 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC824" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "824" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC825" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "825" style = "position:relative" >
</div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC826" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "826" style = "position:relative" > <span class = "pl-k" >local</span> pvFileName = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>productVersion.txt<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC827" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "827" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$is_flattened </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-c1" >true</span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC828" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "828" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC829" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "829" style = "position:relative" > pvFileName = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>sdk-productVersion.txt<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC830" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "830" style = "position:relative" > <span class = "pl-k" >elif</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>dotnet<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC831" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "831" style = "position:relative" > pvFileName = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>runtime-productVersion.txt<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC832" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "832" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC833" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "833" style = "position:relative" > pvFileName = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span>-productVersion.txt<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC834" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "834" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC835" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "835" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = " child-of-line-8
</div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC837" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "837" style = "position:relative" > <span class = "pl-k" >local</span> download_link = null</div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC838" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "838" style = "position:relative" >
</div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC839" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "839" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$package_download_link </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC840" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "840" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>dotnet<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC841" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "841" style = "position:relative" > download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/Runtime/<span class = "pl-smi" >$specific_version </span>/<span class = "pl-smi" >${ pvFileName } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC842" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "842" style = "position:relative" > <span class = "pl-k" >elif</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>aspnetcore<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC843" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "843" style = "position:relative" > download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/aspnetcore/Runtime/<span class = "pl-smi" >$specific_version </span>/<span class = "pl-smi" >${ pvFileName } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC844" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "844" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC845" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "845" style = "position:relative" > download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/Sdk/<span class = "pl-smi" >$specific_version </span>/<span class = "pl-smi" >${ pvFileName } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC846" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "846" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" st
</div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC853" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "853" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>Constructed productVersion link: <span class = "pl-smi" >$download_link </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC854" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "854" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$download_link </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-814 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC855" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "855" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC856" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "856" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC857" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "857" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC858" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "858" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC859" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "859" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> download link - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC860" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "860" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> specific version - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC861" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "861" style = "position:relative" ><span class = "pl-en" >get_product_specific_version_from_download_link</span>( ) </div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC862" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "862" style = "position:relative" >{ </div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC863" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "863" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC864" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "864" style = "position:relative" >
</div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC865" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "865" style = "position:relative" > <span class = "pl-k" >local</span> download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC866" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "866" style = "position:relative" > <span class = "pl-k" >local</span> specific_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC867" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "867" style = "position:relative" > <span class = "pl-k" >local</span> specific_product_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-pds" >& quot; </span></span> </div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC868" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "868" style = "position:relative" >
</div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC869" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "869" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$download_link </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC870" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "870" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$specific_version </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC871" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "871" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC872" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "872" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC873" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "873" style = "position:relative" >
</div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC874" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "874" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span>get filename</span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC875" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "875" style = "position:relative" > filename = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ download_link <span class= "pl-k" >##*/</span> } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC876" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "876" style = "position:relative" >
</div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC877" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "877" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span>product specific version follows the product name</span></div></div></div><div class = "child-of-line-860 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC878" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "878" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span>for filename & #039;dotnet-sdk-3.1.404-linux-x64.tar.gz': the product version is 3.1.404</span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC879" class="react-file-line html-div" data-testid="code-cell" data-line-number="879" style="position:relative"> IFS=<span class="pl-s"><span class="pl-pds">'</span>-<span class="pl-pds">'</span></span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC880" class="react-file-line html-div" data-testid="code-cell" data-line-number="880" style="position:relative"> <span class="pl-c1">read</span> -ra filename_elems <span class="pl-k"><<<</span> <span class="pl-s"><span class="pl-pds">"</span>$filename<span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC881" class="react-file-line html-div" data-testid="code-cell" data-line-number="881" style="position:relative"> count=<span class="pl-smi">${<span class="pl-k">#</span>filename_elems[@]}</span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC882" class="react-file-line html-div" data-testid="code-cell" data-line-number="882" style="position:relative"> <span class="pl-k">if</span> [[ <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$count</span><span class="pl-pds">"</span></span> <span class="pl-k">-gt</span> 2 ]]<span class="pl-k">;</span> <span class="pl-k">then</span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC883" class="react-file-line html-div" data-testid="code-cell" data-line-number="883" style="position:relative"> specific_product_version=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">${filename_elems[2]}</span><span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC884" class="react-file-line html-div" data-testid="code-cell" data-line-number="884" style="position:relative"> <span class="pl-k">else</span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC885" class="react-file-line html-div" data-testid="code-cell" data-line-number="885" style="position:relative"> specific_product_version=<span class="pl-smi">$specific_version</span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC886" class="react-file-line html-div" data-testid="code-cell" data-line-number="886" style="position:relative"> <span class="pl-k">fi</span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC887" class="react-file-line html-div" data-testid="code-cell" data-line-number="887" style="position:relative"> <span class="pl-c1">unset</span> IFS<span class="pl-k">;</span></div></div></div><div class="child-of-line-860 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC888" class="react-f
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC892" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "892" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC893" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "893" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> azure_feed - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC894" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "894" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> channel - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC895" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "895" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> normalized_architecture - $3 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC896" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "896" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> specific_version - $4 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC897" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "897" style = "position:relative" ><span class = "pl-en" >construct_legacy_download_link</span>( ) { </div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC898" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "898" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC899" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "899" style = "position:relative" >
</div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC900" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "900" style = "position:relative" > <span class = "pl-k" >local</span> azure_feed = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC901" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "901" style = "position:relative" > <span class = "pl-k" >local</span> channel = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC902" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "902" style = "position:relative" > <span class = "pl-k" >local</span> normalized_architecture = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$3 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC903" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "903" style = "position:relative" > <span class = "pl-k" >local</span> specific_version = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ 4 <span class= "pl-k" >//</span>[ $' \t \r \n '] } </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC904" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "904" style = "position:relative" >
</div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC905" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "905" style = "position:relative" > <span class = "pl-k" >local</span> distro_specific_osname</div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC906" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "906" style = "position:relative" > distro_specific_osname = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>get_legacy_os_name<span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >|| </span> <span class = "pl-k" >return</span> 1</div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC907" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "907" style = "position:relative" >
</div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC908" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "908" style = "position:relative" > <span class = "pl-k" >local</span> legacy_download_link = null</div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC909" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "909" style = "position:relative" > <span class = "pl-k" >if</span> [ [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= = </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>dotnet<span class = "pl-pds" >& quot; </span></span> ] ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC910" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "910" style = "position:relative" > legacy_download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/Runtime/<span class = "pl-smi" >$specific_version </span>/dotnet-<span class = "pl-smi" >$distro_specific_osname </span>-<span class = "pl-smi" >$normalized_architecture </span>.<span class = "pl-smi" >$specific_version </span>.tar.gz<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC911" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "911" style = "position:relative" > <span class = "pl-k" >elif</span> [ <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$runtime </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC912" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "912" style = "position:relative" > legacy_download_link = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$azure_feed </span>/Sdk/<span class = "pl-smi" >$specific_version </span>/dotnet-dev-<span class = "pl-smi" >$distro_specific_osname </span>-<span class = "pl-smi" >$normalized_architecture </span>.<span class = "pl-smi" >$specific_version </span>.tar.gz<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC913" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "913" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC914" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "914" style = "position:relative" > <span class = "pl-k" >return</span> 1</div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC915" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "915" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC916" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "916" style = "position:relative" >
</div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC917" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "917" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$legacy_download_link </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-896 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC918" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "918" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC919" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "919" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC920" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "920" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC921" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "921" style = "position:relative" ><span class = "pl-en" >get_user_install_path</span>( ) { </div></div></div><div class = "child-of-line-920 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC922" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "922" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-920 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC923" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "923" style = "position:relative" >
</div></div></div><div class = "child-of-line-920 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC924" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "924" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-k" >!</span> <span class = "pl-k" >-z</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >${ DOTNET_INSTALL_DIR <span class= "pl-k" > :- </span> } </span><span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-920 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC925" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "925" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$DOTNET_INSTALL_DIR </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-920 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC926" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "926" style = "position:relative" > <span class = "pl-k" >else</span></div></div></div><div class = "child-of-line-920 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC927" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "927" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$HOME </span>/.dotnet<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-920 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC928" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "928" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-920 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC929" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "929" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC930" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "930" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC931" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "931" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC932" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "932" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC933" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "933" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> install_dir - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC934" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "934" style = "position:relative" ><span class = "pl-en" >resolve_installation_path</span>( ) { </div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC935" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "935" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC936" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "936" style = "position:relative" >
</div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC937" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "937" style = "position:relative" > <span class = "pl-k" >local</span> install_dir = <span class = "pl-smi" >$1 </span></div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC938" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "938" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$install_dir </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>& lt; auto& gt; <span class = "pl-pds" >& quot; </span></span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC939" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "939" style = "position:relative" > <span class = "pl-k" >local</span> user_install_path = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>get_user_install_path<span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC940" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "940" style = "position:relative" > say_verbose <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>resolve_installation_path: user_install_path = <span class = "pl-smi" >$user_install_path </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC941" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "941" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$user_install_path </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC942" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "942" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC943" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "943" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC944" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "944" style = "position:relative" >
</div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC945" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "945" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$install_dir </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-933 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC946" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "946" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC947" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "947" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC948" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "948" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC949" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "949" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC950" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "950" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> relative_or_absolute_path - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC951" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "951" style = "position:relative" ><span class = "pl-en" >get_absolute_path</span>( ) { </div></div></div><div class = "child-of-line-950 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC952" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "952" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-950 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC953" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "953" style = "position:relative" >
</div></div></div><div class = "child-of-line-950 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC954" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "954" style = "position:relative" > <span class = "pl-k" >local</span> relative_or_absolute_path = <span class = "pl-smi" >$1 </span></div></div></div><div class = "child-of-line-950 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC955" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "955" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>cd <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>dirname <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >& amp; & amp; </span> <span class = "pl-c1" >pwd</span> -P<span class = "pl-pds" >) </span></span>/<span class = "pl-s" ><span class = "pl-pds" >$( </span>basename <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-950 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC956" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "956" style = "position:relative" > <span class = "pl-k" >return</span> 0</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC957" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "957" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC958" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "958" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC959" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "959" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC960" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "960" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> override - $1 ( boolean, true or false ) </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC961" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "961" style = "position:relative" ><span class = "pl-en" >get_cp_options</span>( ) { </div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC962" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "962" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC963" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "963" style = "position:relative" >
</div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC964" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "964" style = "position:relative" > <span class = "pl-k" >local</span> override = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC965" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "965" style = "position:relative" > <span class = "pl-k" >local</span> override_switch = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC966" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "966" style = "position:relative" >
</div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC967" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "967" style = "position:relative" > <span class = "pl-k" >if</span> [ <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$override </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-k" >= </span> <span class = "pl-c1" >false</span> ] <span class = "pl-k" >; </span> <span class = "pl-k" >then</span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC968" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "968" style = "position:relative" > override_switch = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span>-n<span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC969" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "969" style = "position:relative" >
</div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC970" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "970" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> create temporary files to check if & #039;cp -u' is supported</span></div></div></div><div class="child-of-line-960 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC971" class="react-file-line html-div" data-testid="code-cell" data-line-number="971" style="position:relative"> tmp_dir=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-s"><span class="pl-pds">$(</span>mktemp -d<span class="pl-pds">)</span></span><span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-960 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC972" class="react-file-line html-div" data-testid="code-cell" data-line-number="972" style="position:relative"> tmp_file=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$tmp_dir</span>/testfile<span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-960 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC973" class="react-file-line html-div" data-testid="code-cell" data-line-number="973" style="position:relative"> tmp_file2=<span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$tmp_dir</span>/testfile2<span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-960 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC974" class="react-file-line html-div" data-testid="code-cell" data-line-number="974" style="position:relative">
</div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC975" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "975" style = "position:relative" > touch <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$tmp_file </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC976" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "976" style = "position:relative" >
</div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC977" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "977" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> use -u instead of -n if it& #039;s available</span></div></div></div><div class="child-of-line-960 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC978" class="react-file-line html-div" data-testid="code-cell" data-line-number="978" style="position:relative"> <span class="pl-k">if</span> cp -u <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$tmp_file</span><span class="pl-pds">"</span></span> <span class="pl-s"><span class="pl-pds">"</span><span class="pl-smi">$tmp_file2</span><span class="pl-pds">"</span></span> <span class="pl-k">2></span>/dev/null<span class="pl-k">;</span> <span class="pl-k">then</span></div></div></div><div class="child-of-line-960 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC979" class="react-file-line html-div" data-testid="code-cell" data-line-number="979" style="position:relative"> override_switch=<span class="pl-s"><span class="pl-pds">"</span>-u<span class="pl-pds">"</span></span></div></div></div><div class="child-of-line-960 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC980" class="react-file-line html-div" data-testid="code-cell" data-line-number="980" style="position:relative"> <span class="pl-k">fi</span></div></div></div><div class="child-of-line-960 react-code-text react-code-line-contents" style="min-height:auto"><div><div id="LC981" class="react-file-line html-div" data-testid="code-cell" data-line-number="981" style="position:relative">
</div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC982" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "982" style = "position:relative" > <span class = "pl-c" ><span class = "pl-c" >#</span> clean up</span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC983" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "983" style = "position:relative" > rm -f <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$tmp_file </span><span class = "pl-pds" >& quot; </span></span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$tmp_file2 </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC984" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "984" style = "position:relative" > rm -rf <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$tmp_dir </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC985" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "985" style = "position:relative" > <span class = "pl-k" >fi</span></div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC986" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "986" style = "position:relative" >
</div></div></div><div class = "child-of-line-960 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC987" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "987" style = "position:relative" > <span class = "pl-c1" >echo</span> <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$override_switch </span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC988" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "988" style = "position:relative" >} </div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC989" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "989" style = "position:relative" >
</div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC990" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "990" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> args:</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC991" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "991" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> input_files - stdin</span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC992" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "992" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> root_path - $1 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC993" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "993" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> out_path - $2 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC994" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "994" style = "position:relative" ><span class = "pl-c" ><span class = "pl-c" >#</span> override - $3 </span></div></div></div><div class = "react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC995" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "995" style = "position:relative" ><span class = "pl-en" >copy_files_or_dirs_from_list</span>( ) { </div></div></div><div class = "child-of-line-994 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC996" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "996" style = "position:relative" > <span class = "pl-c1" >eval</span> <span class = "pl-smi" >$invocation </span></div></div></div><div class = "child-of-line-994 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC997" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "997" style = "position:relative" >
</div></div></div><div class = "child-of-line-994 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC998" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "998" style = "position:relative" > <span class = "pl-k" >local</span> root_path = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>remove_trailing_slash <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$1 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-994 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC999" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "999" style = "position:relative" > <span class = "pl-k" >local</span> out_path = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-s" ><span class = "pl-pds" >$( </span>remove_trailing_slash <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$2 </span><span class = "pl-pds" >& quot; </span></span><span class = "pl-pds" >) </span></span><span class = "pl-pds" >& quot; </span></span></div></div></div><div class = "child-of-line-994 react-code-text react-code-line-contents" style = "min-height:auto" ><div><div id = "LC1000" class = "react-file-line html-div" data-testid= "code-cell" data-line-number= "1000" style = "position:relative" > <span class = "pl-k" >local</span> override = <span class = "pl-s" ><span class = "pl-pds" >& quot; </span><span class = "pl-smi" >$3 </span><span class = "pl-pds" >& quot; </span></span></div></div></div></div></div><div class = "Box-sc-g0xbh4-0 gkZUDI" ><a class = "prc-Link-Link-85e08" href = "https://github.com/dotnet/install-scripts/raw/refs/heads/main/src/dotnet-install.sh" >View remainder of file in raw view</a></div></div><div id = "copilot-button-container" ></div></div><div id = "highlighted-line-menu-container" ></div></div></div><button hidden = "" data-testid= "hotkey-button" data-hotkey-scope= "read-only-cursor-text-area" ></button><button hidden = "" ></button></section></div></div></div> <!-- --> <!-- --> </div></div></div><div class = "Box-sc-g0xbh4-0" ></div></div></div></div></div><div id = "find-result-marks-container" class = "Box-sc-g0xbh4-0 cCoXib" ></div><button hidden = "" data-testid= "" data-hotkey-scope= "read-only-cursor-text-area" ></button><button hidden = "" ></button></div> <!-- --> <!-- --> <script type = "application/json" id = "__PRIMER_DATA_:R0:__" >{ "resolvedServerColorMode" :"day" } </script></div>
</react-app>
</turbo-frame>
</div>
</turbo-frame>
</main>
</div>
</div>
<footer class = "footer pt-8 pb-6 f6 color-fg-muted p-responsive" role = "contentinfo" >
<h2 class = 'sr-only' >Footer</h2>
<div class = "d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap" >
<div class = "d-flex flex-items-center flex-shrink-0 mx-2" >
<a aria-label= "Homepage" title = "GitHub" class = "footer-octicon mr-2" href = "https://github.com" >
<svg aria-hidden= "true" height = "24" viewBox = "0 0 24 24" version = "1.1" width = "24" data-view-component= "true" class = "octicon octicon-mark-github" >
<path d = "M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z" ></path>
</svg>
</a>
<span>
& copy; 2024 GitHub,& nbsp; Inc.
</span>
</div>
<nav aria-label= "Footer" >
<h3 class = "sr-only" id = "sr-footer-heading" >Footer navigation</h3>
<ul class = "list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby= "sr-footer-heading" >
<li class = "mx-2" >
<a data-analytics-event= "{"category":"Footer","action":"go to Terms","label":"text:terms"}" href = "https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component= "true" class = "Link--secondary Link" >Terms</a>
</li>
<li class = "mx-2" >
<a data-analytics-event= "{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href = "https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component= "true" class = "Link--secondary Link" >Privacy</a>
</li>
<li class = "mx-2" >
<a data-analytics-event= "{"category":"Footer","action":"go to security","label":"text:security"}" href = "https://github.com/security" data-view-component= "true" class = "Link--secondary Link" >Security</a>
</li>
<li class = "mx-2" >
<a data-analytics-event= "{"category":"Footer","action":"go to status","label":"text:status"}" href = "https://www.githubstatus.com/" data-view-component= "true" class = "Link--secondary Link" >Status</a>
</li>
<li class = "mx-2" >
<a data-analytics-event= "{"category":"Footer","action":"go to docs","label":"text:docs"}" href = "https://docs.github.com/" data-view-component= "true" class = "Link--secondary Link" >Docs</a>
</li>
<li class = "mx-2" >
<a data-analytics-event= "{"category":"Footer","action":"go to contact","label":"text:contact"}" href = "https://support.github.com?tags=dotcom-footer" data-view-component= "true" class = "Link--secondary Link" >Contact</a>
</li>
<li class = "mx-2" >
<cookie-consent-link>
<button
type = "button"
class = "Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
data-action= "click:cookie-consent-link#showConsentManagement"
data-analytics-event= "{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}"
>
Manage cookies
</button>
</cookie-consent-link>
</li>
<li class = "mx-2" >
<cookie-consent-link>
<button
type = "button"
class = "Link--secondary underline-on-hover border-0 p-0 color-bg-transparent"
data-action= "click:cookie-consent-link#showConsentManagement"
data-analytics-event= "{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}"
>
Do not share my personal information
</button>
</cookie-consent-link>
</li>
</ul>
</nav>
</div>
</footer>
<ghcc-consent id = "ghcc" class = "position-fixed bottom-0 left-0" style = "z-index: 999999" data-initial-cookie-consent-allowed= "" data-cookie-consent-required= "false" ></ghcc-consent>
<div id = "ajax-error-message" class = "ajax-error-message flash flash-error" hidden>
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-alert" >
<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>
</svg>
<button type = "button" class = "flash-close js-ajax-error-dismiss" aria-label= "Dismiss error" >
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-x" >
<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>
</svg>
</button>
You can’ t perform that action at this time.
</div>
<template id = "site-details-dialog" >
<details class = "details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open>
<summary role = "button" aria-label= "Close dialog" ></summary>
<details-dialog class = "Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal" >
<button class = "Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type = "button" aria-label= "Close dialog" data-close-dialog>
<svg aria-hidden= "true" height = "16" viewBox = "0 0 16 16" version = "1.1" width = "16" data-view-component= "true" class = "octicon octicon-x" >
<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>
</svg>
</button>
<div class = "octocat-spinner my-6 js-details-dialog-spinner" ></div>
</details-dialog>
</details>
</template>
<div class = "Popover js-hovercard-content position-absolute" style = "display: none; outline: none;" >
<div class = "Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style = "width:360px;" >
</div>
</div>
<template id = "snippet-clipboard-copy-button" >
<div class = "zeroclipboard-container position-absolute right-0 top-0" >
<clipboard-copy aria-label= "Copy" class = "ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback= "Copied!" data-tooltip-direction= "w" >
<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" >
<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>
</svg>
<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" >
<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>
</svg>
</clipboard-copy>
</div>
</template>
<template id = "snippet-clipboard-copy-button-unpositioned" >
<div class = "zeroclipboard-container" >
<clipboard-copy aria-label= "Copy" class = "ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback= "Copied!" data-tooltip-direction= "w" >
<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" >
<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>
</svg>
<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" >
<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>
</svg>
</clipboard-copy>
</div>
</template>
</div>
<div id = "js-global-screen-reader-notice" class = "sr-only mt-n1" aria-live= "polite" aria-atomic= "true" ></div>
<div id = "js-global-screen-reader-notice-assertive" class = "sr-only mt-n1" aria-live= "assertive" aria-atomic= "true" ></div>
</body>
</html>