<!-- Copyright (C) Microsoft Corporation. All rights reserved. -->
<!DOCTYPE html>
<html>
	<head>
		<script>
			performance.mark('code/didStartRenderer');
		</script>
		<meta charset="utf-8" />

		<!-- Mobile tweaks -->
		<meta name="mobile-web-app-capable" content="yes" />
		<meta name="apple-mobile-web-app-capable" content="yes" />
		<meta name="apple-mobile-web-app-title" content="Code">
		<link rel="apple-touch-icon" sizes="192x192" href="{{BASE}}/_static/src/browser/media/pwa-icon-192.png" />
		<link rel="apple-touch-icon" sizes="512x512" href="{{BASE}}/_static/src/browser/media/pwa-icon-512.png" />

		<!-- Disable pinch zooming -->
		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">

		<!-- Workbench Configuration -->
		<meta id="vscode-workbench-web-configuration" data-settings="{{WORKBENCH_WEB_CONFIGURATION}}">

		<!-- Workbench Auth Session -->
		<meta id="vscode-workbench-auth-session" data-settings="{{WORKBENCH_AUTH_SESSION}}">

		<!-- NLS Configuration -->
		<meta id="vscode-remote-nls-configuration" data-settings="{{NLS_CONFIGURATION}}">

		<!-- Workbench Icon/Manifest/CSS -->
		<link rel="icon" href="{{BASE}}/_static/src/browser/media/favicon-dark-support.svg" />
		<link rel="alternate icon" href="{{BASE}}/_static/src/browser/media/favicon.ico" type="image/x-icon" />
		<link rel="manifest" href="{{VS_BASE}}/manifest.json" crossorigin="use-credentials" />
		<link data-name="vs/workbench/workbench.web.main" rel="stylesheet" href="{{WORKBENCH_WEB_BASE_URL}}/out/vs/workbench/workbench.web.main.css">

	</head>

	<body aria-label="">
	</body>

	<!-- Startup (do not modify order of script tags!) -->
	<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/loader.js"></script>
	<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/webPackagePaths.js"></script>
	<script>
		const baseUrl = new URL('{{WORKBENCH_WEB_BASE_URL}}', window.location).toString();
		Object.keys(self.webPackagePaths).map(function (key, index) {
			self.webPackagePaths[key] = `${baseUrl}/node_modules/${key}/${self.webPackagePaths[key]}`;
		});

		// Set up nls if the user is not using the default language (English)
		const nlsConfig = {};
		const locale = window.localStorage.getItem('vscode.nls.locale') || navigator.language;
		try {
			nlsConfig['vs/nls'] = JSON.parse(document.getElementById("vscode-remote-nls-configuration").getAttribute("data-settings"))
			if (nlsConfig['vs/nls']._resolvedLanguagePackCoreLocation) {
				const bundles = Object.create(null)
				nlsConfig['vs/nls'].loadBundle = (bundle, _language, cb) => {
					const result = bundles[bundle]
					if (result) {
						return cb(undefined, result)
					}
					const path = nlsConfig['vs/nls']._resolvedLanguagePackCoreLocation + "/" + bundle.replace(/\//g, "!") + ".nls.json"
					fetch(`{{WORKBENCH_WEB_BASE_URL}}/../vscode-remote-resource?path=${encodeURIComponent(path)}`)
						.then((response) => response.json())
						.then((json) => {
							bundles[bundle] = json
							cb(undefined, json)
						})
						.catch(cb)
				}
			}
		} catch (error) { /* Probably fine. */ }
		require.config({
			baseUrl: `${baseUrl}/out`,
			recordStats: true,
			trustedTypesPolicy: window.trustedTypes?.createPolicy('amdLoader', {
				createScriptURL(value) {
					if(value.startsWith(window.location.origin)) {
						return value;
					}
					throw new Error(`Invalid script url: ${value}`)
				}
			}),
			paths: self.webPackagePaths,
			...nlsConfig
		});
	</script>
	<script>
		performance.mark('code/willLoadWorkbenchMain');
	</script>
	<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/workbench/workbench.web.main.nls.js"></script>
	<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/workbench/workbench.web.main.js"></script>
	<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/code/browser/workbench/workbench.js"></script>
	<script src="{{WORKBENCH_WEB_BASE_URL}}/out/vs/code/browser/workbench/rsLoginCheck.js"></script>
</html>
