PageSourceSearch

https://www.kcl.ac.uk/_GhbZtw_8fe3d6e8-6c75-4fc9-88ef-46b7f2723b06…/legacy/js/runtime.a9cdfc0d8aefd3ff5e0a.js

js kcl.ac.uk collected 2026-09-24 07:32:59 UTC 19,279 bytes, 353 lines download raw bytes

1/******/ (() => { // webpackBootstrap
2/******/ 	"use strict";
3/******/ 	var __webpack_modules__ = ({});
4/************************************************************************/
5/******/ 	// The module cache
6/******/ 	var __webpack_module_cache__ = {};
7/******/ 	
8/******/ 	// The require function
9/******/ 	function __webpack_require__(moduleId) {
10/******/ 		// Check if module is in cache
11/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
12/******/ 		if (cachedModule !== undefined) {
13/******/ 			return cachedModule.exports;
14/******/ 		}
15/******/ 		// Create a new module (and put it into the cache)
16/******/ 		var module = __webpack_module_cache__[moduleId] = {
17/******/ 			id: moduleId,
18/******/ 			loaded: false,
19/******/ 			exports: {}
20/******/ 		};
21/******/ 	
22/******/ 		// Execute the module function
23/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
24/******/ 	
25/******/ 		// Flag the module as loaded
26/******/ 		module.loaded = true;
27/******/ 	
28/******/ 		// Return the exports of the module
29/******/ 		return module.exports;
30/******/ 	}
31/******/ 	
32/******/ 	// expose the modules object (__webpack_modules__)
33/******/ 	__webpack_require__.m = __webpack_modules__;
34/******/ 	
35/************************************************************************/
36/******/ 	/* webpack/runtime/chunk loaded */
37/******/ 	(() => {
38/******/ 		var deferred = [];
39/******/ 		__webpack_require__.O = (result, chunkIds, fn, priority) => {
40/******/ 			if(chunkIds) {
41/******/ 				priority = priority || 0;
42/******/ 				for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
43/******/ 				deferred[i] = [chunkIds, fn, priority];
44/******/ 				return;
45/******/ 			}
46/******/ 			var notFulfilled = Infinity;
47/******/ 			for (var i = 0; i < deferred.length; i++) {
48/******/ 				var [chunkIds, fn, priority] = deferred[i];
49/******/ 				var fulfilled = true;
50/******/ 				for (var j = 0; j < chunkIds.length; j++) {
51/******/ 					if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
52/******/ 						chunkIds.splice(j--, 1);
53/******/ 					} else {
54/******/ 						fulfilled = false;
55/******/ 						if(priority < notFulfilled) notFulfilled = priority;
56/******/ 					}
57/******/ 				}
58/******/ 				if(fulfilled) {
59/******/ 					deferred.splice(i--, 1)
60/******/ 					var r = fn();
61/******/ 					if (r !== undefined) result = r;
62/******/ 				}
63/******/ 			}
64/******/ 			return result;
65/******/ 		};
66/******/ 	})();
67/******/ 	
68/******/ 	/* webpack/runtime/compat get default export */
69/******/ 	(() => {
70/******/ 		// getDefaultExport function for compatibility with non-harmony modules
71/******/ 		__webpack_require__.n = (module) => {
72/******/ 			var getter = module && module.__esModule ?
73/******/ 				() => (module['default']) :
74/******/ 				() => (module);
75/******/ 			__webpack_require__.d(getter, { a: getter });
76/******/ 			return getter;
77/******/ 		};
78/******/ 	})();
79/******/ 	
80/******/ 	/* webpack/runtime/create fake namespace object */
81/******/ 	(() => {
82/******/ 		var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
83/******/ 		var leafPrototypes;
84/******/ 		// create a fake namespace object
85/******/ 		// mode & 1: value is a module id, require it
86/******/ 		// mode & 2: merge all properties of value into the ns
87/******/ 		// mode & 4: return value when already ns object
88/******/ 		// mode & 16: return value when it's Promise-like
89/******/ 		// mode & 8|1: behave like require
90/******/ 		__webpack_require__.t = function(value, mode) {
91/******/ 			if(mode & 1) value = this(value);
92/******/ 			if(mode & 8) return value;
93/******/ 			if(typeof value === 'object' && value) {
94/******/ 				if((mode & 4) && value.__esModule) return value;
95/******/ 				if((mode & 16) && typeof value.then === 'function') return value;
96/******/ 			}
97/******/ 			var ns = Object.create(null);
98/******/ 			__webpack_require__.r(ns);
99/******/ 			var def = {};
100/******/ 			leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
101/******/ 			for(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {
102/******/ 				Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
103/******/ 			}
104/******/ 			def['default'] = () => (value);
105/******/ 			__webpack_require__.d(ns, def);
106/******/ 			return ns;
107/******/ 		};
108/******/ 	})();
109/******/ 	
110/******/ 	/* webpack/runtime/define property getters */
111/******/ 	(() => {
112/******/ 		// define getter functions for harmony exports
113/******/ 		__webpack_require__.d = (exports, definition) => {
114/******/ 			for(var key in definition) {
115/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
116/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
117/******/ 				}
118/******/ 			}
119/******/ 		};
120/******/ 	})();
121/******/ 	
122/******/ 	/* webpack/runtime/ensure chunk */
123/******/ 	(() => {
124/******/ 		__webpack_require__.f = {};
125/******/ 		// This file contains only the entry chunk.
vendor: 7,614 bytes, lines 126-207
126/******/ 		// The chunk loading function for additional chunks
127/******/ 		__webpack_require__.e = (chunkId) => {
128/******/ 			return Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {
129/******/ 				__webpack_require__.f[key](chunkId, promises);
130/******/ 				return promises;
131/******/ 			}, []));
132/******/ 		};
133/******/ 	})();
134/******/ 	
135/******/ 	/* webpack/runtime/get javascript chunk filename */
136/******/ 	(() => {
137/******/ 		// This function allow to reference async chunks
138/******/ 		__webpack_require__.u = (chunkId) => {
139/******/ 			// return url for filenames based on template
140/******/ 			return "_GhbZtw_8fe3d6e8-6c75-4fc9-88ef-46b7f2723b06/static/legacy/js/" + ({"162":"page.promoHub","264":"page.services","531":"page.caseStudy","763":"Search","1168":"page.shortCourseGlobalSearch","1187":"page.fees","1205":"page.shortCourse","1357":"page.alp","1545":"page.ugTeaching","1549":"locations","1644":"page.ugEntryRequirements","1732":"page.pgrSupervision","2063":"page.generic","2225":"page.room","2506":"course.pgtTeaching","2578":"navitemloader","2592":"page.equipment","2603":"page.pgrTrainingAndDevelopment","2608":"redux-immutable","3357":"page.researchcapability","3410":"page.locationHub","3597":"Cookie","3627":"EnglishLanguageRequirements","3668":"page.topics","3973":"page.hub","4112":"course.presessional","4410":"page.jobVIP","4427":"formdata-polyfill","4557":"from-js","4813":"listing","5074":"page.researchproject","5086":"page.pgtCareers","5103":"course.pgt","5197":"immutable","5344":"page.unionProfile","5485":"course.foundation","5609":"VersionInfo","5689":"page.featuredEvents","5759":"page.coursePathway","5872":"page.module","6286":"page.ugDiscoverMore","6407":"page.eventseries","6701":"page.location","7069":"page.home","7216":"page.kifpathway","7335":"page.person","7602":"page.pgrFeesAndFunding","7614":"url-search-params-polyfill","7615":"page.facility","7919":"page.pgrResearchEnvironment","7931":"page.events","7994":"page.department","8013":"oidcclient","8019":"page.unionCampaign","8042":"page.researchCentre","8055":"page.fundingSearch","8250":"page.pgtFees","8426":"page.fundingOpportunity","8505":"page.jobSearch","8617":"adPage","8739":"page.pgtEntryRequirements","8889":"course.pgr","9202":"page.researchProfile","9266":"course.ug","9384":"page.pgtDiscover","9728":"ugFees"}[chunkId] || chunkId) + "." + {"162":"c54fc103eef1b673fb7a","264":"da46f3b5ebb390dac2e2","531":"b947a65f6ee4771968c8","761":"7fbdb8ad1c0e938f0425","763":"57269f4a88791a418e9d","799":"0849d916698cc15b5d27","811":"f7447c5f3b6f71adc002","1092":"1af8d86d81df7cf88d55","1140":"d5766b0ac44f8ad71fed","1168":"aa0468d449b452e2dc8f","1187":"ce5c09a0f052d9160159","1205":"247f3bee396e509f393a","1357":"38d0656be911e9e71d93","1545":"d19b0f5661008130c578","1549":"4070ab5d0e489358ca7e","1644":"57f640d090df1f3597cc","1722":"aea43278d2cd22fc3d6a","1732":"e6b52ad3dd68bde6ad25","2063":"2f7211fbea37bd2eed89","2225":"3467a38bde0254466f3b","2312":"56b27ab98f7ae9eea6cf","2497":"9a08a8b4e78e39f8f97f","2506":"eaf1674c8da899671da4","2578":"edfa33e97d42c5e8624a","2592":"d199addab27f261913a1","2603":"ba60962ce57e8dbb0a12","2608":"fabdaae0312caee1d91f","2708":"68b0abefe57268a0493f","3132":"9795d9ed03e15a3a0a0b","3133":"2318bd547603a1feeff7","3357":"d44460ea021c52cb3834","3410":"241f3cf4d65215e5ce71","3597":"e0a610d8d86eafcfe939","3627":"471bcabb5cec61c41092","3668":"1d65f79ed54aa43368b5","3973":"1ac6a76f90d68cb1bef9","4112":"521dc26f28642b1efc90","4216":"4648c0996ff9b333e054","4410":"ac7497b800c46b14ad1a","4427":"af901a01fd92e70a491b","4557":"843b6b9cd8b6cd5da65c","4813":"d1c4cd3d213e9f6fa87d","5074":"cc425dc30bf1f3566ae1","5086":"282dbfcd2fc3e4185e2a","5103":"b1cd3f47293076695199","5178":"0cf3810f9693cc2c93d4","5197":"65598a3e4aaea55a4a71","5344":"08e7adde91cda6e61b90","5485":"b41c8ffe4469c762c5ab","5609":"c5c92742701efca1d6c7","5689":"9df86418c4b719f8366a","5759":"85abf0bea1d93c7c17b1","5872":"7ad2a98aa3f20cda5aa8","6179":"e10d9545bccb68858212","6286":"9a1ad4bac5ea14ad04d7","6407":"976a48b2a138564747c7","6583":"574d2dd97085d4cb2497","6701":"e0ec30e733f957ef26a1","7069":"3b84b833ef466cfc9932","7216":"f5bdd3a9bb61bb205341","7335":"30f1235ddcd0b6685ba0","7514":"db774c2099d1a306a222","7602":"b0b98e0d3bfb234d5ca5","7614":"80ce856edba123ab270b","7615":"0e169bb7b4cc8c35f490","7715":"841bd611f99e6375c665","7919":"acec2343467b27d1e9eb","7931":"856c741cf555e2943ed2","7994":"9f9f28bc02c9d1deb125","8013":"3c09ec1b0433c07e8f61","8019":"aea915690077d6cbec46","8042":"864f9a39330196548b25","8055":"13acdac21a4d7a3460ed","8129":"ff59a50a761a5710bd17","8250":"11fceb742e675bb39e85","8424":"08f9d4dfbf80c1226ef5","8426":"53f51a6eede8db8a2197","8505":"cc936d4063c0b1853f90","8617":"7ad4fba7752b0096b6bc","8698":"73e796f0c44f44ad6e11","8739":"aa105d6a2c80ba3ad529","8773":"852e4f47366c3c13bd24","8889":"3ac1210a68c72372cd84","9202":"4a70df6c390775c95f80","9266":"f36723ab321c47dc95ac","9384":"256ebd2fb9889c9445f2","9728":"d3ffef9c9f2d15997891","9795":"3746ad72393929aa0b60"}[chunkId] + ".js";
141/******/ 		};
142/******/ 	})();
143/******/ 	
144/******/ 	/* webpack/runtime/global */
145/******/ 	(() => {
146/******/ 		__webpack_require__.g = (function() {
147/******/ 			if (typeof globalThis === 'object') return globalThis;
148/******/ 			try {
149/******/ 				return this || new Function('return this')();
150/******/ 			} catch (e) {
151/******/ 				if (typeof window === 'object') return window;
152/******/ 			}
153/******/ 		})();
154/******/ 	})();
155/******/ 	
156/******/ 	/* webpack/runtime/harmony module decorator */
157/******/ 	(() => {
158/******/ 		__webpack_require__.hmd = (module) => {
159/******/ 			module = Object.create(module);
160/******/ 			if (!module.children) module.children = [];
161/******/ 			Object.defineProperty(module, 'exports', {
162/******/ 				enumerable: true,
163/******/ 				set: () => {
164/******/ 					throw new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);
165/******/ 				}
166/******/ 			});
167/******/ 			return module;
168/******/ 		};
169/******/ 	})();
170/******/ 	
171/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
172/******/ 	(() => {
173/******/ 		__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
174/******/ 	})();
175/******/ 	
176/******/ 	/* webpack/runtime/load script */
177/******/ 	(() => {
178/******/ 		var inProgress = {};
179/******/ 		var dataWebpackPrefix = "kcl-website:";
180/******/ 		// loadScript function to load a script via script tag
181/******/ 		__webpack_require__.l = (url, done, key, chunkId) => {
182/******/ 			if(inProgress[url]) { inProgress[url].push(done); return; }
183/******/ 			var script, needAttach;
184/******/ 			if(key !== undefined) {
185/******/ 				var scripts = document.getElementsByTagName("script");
186/******/ 				for(var i = 0; i < scripts.length; i++) {
187/******/ 					var s = scripts[i];
188/******/ 					if(s.getAttribute("src") == url || s.getAttribute("data-webpack") == dataWebpackPrefix + key) { script = s; break; }
189/******/ 				}
190/******/ 			}
191/******/ 			if(!script) {
192/******/ 				needAttach = true;
193/******/ 				script = document.createElement('script');
194/******/ 		
195/******/ 				script.charset = 'utf-8';
196/******/ 				if (__webpack_require__.nc) {
197/******/ 					script.setAttribute("nonce", __webpack_require__.nc);
198/******/ 				}
199/******/ 				script.setAttribute("data-webpack", dataWebpackPrefix + key);
200/******/ 		
201/******/ 				script.src = url;
202/******/ 			}
203/******/ 			inProgress[url] = [done];
204/******/ 			var onScriptComplete = (prev, event) => {
205/******/ 				// avoid mem leaks in IE.
206/******/ 				script.onerror = script.onload = null;
207/******/ 				clearTimeout(timeout);
vendor: 6,358 bytes, lines 208-353
208/******/ 				var doneFns = inProgress[url];
209/******/ 				delete inProgress[url];
210/******/ 				script.parentNode && script.parentNode.removeChild(script);
211/******/ 				doneFns && doneFns.forEach((fn) => (fn(event)));
212/******/ 				if(prev) return prev(event);
213/******/ 			}
214/******/ 			var timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);
215/******/ 			script.onerror = onScriptComplete.bind(null, script.onerror);
216/******/ 			script.onload = onScriptComplete.bind(null, script.onload);
217/******/ 			needAttach && document.head.appendChild(script);
218/******/ 		};
219/******/ 	})();
220/******/ 	
221/******/ 	/* webpack/runtime/make namespace object */
222/******/ 	(() => {
223/******/ 		// define __esModule on exports
224/******/ 		__webpack_require__.r = (exports) => {
225/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
226/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
227/******/ 			}
228/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
229/******/ 		};
230/******/ 	})();
231/******/ 	
232/******/ 	/* webpack/runtime/node module decorator */
233/******/ 	(() => {
234/******/ 		__webpack_require__.nmd = (module) => {
235/******/ 			module.paths = [];
236/******/ 			if (!module.children) module.children = [];
237/******/ 			return module;
238/******/ 		};
239/******/ 	})();
240/******/ 	
241/******/ 	/* webpack/runtime/set anonymous default export name */
242/******/ 	(() => {
243/******/ 		// set .name for anonymous default exports per ES spec
244/******/ 		__webpack_require__.dn = (x) => {
245/******/ 			(Object.getOwnPropertyDescriptor(x, "name") || {}).writable || Object.defineProperty(x, "name", { value: "default", configurable: true });
246/******/ 		};
247/******/ 	})();
248/******/ 	
249/******/ 	/* webpack/runtime/publicPath */
250/******/ 	(() => {
251/******/ 		__webpack_require__.p = "/";
252/******/ 	})();
253/******/ 	
254/******/ 	/* webpack/runtime/jsonp chunk loading */
255/******/ 	(() => {
256/******/ 		// no baseURI
257/******/ 		
258/******/ 		// object to store loaded and loading chunks
259/******/ 		// undefined = chunk not loaded, null = chunk preloaded/prefetched
260/******/ 		// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
261/******/ 		var installedChunks = {
262/******/ 			9121: 0
263/******/ 		};
264/******/ 		
265/******/ 		__webpack_require__.f.j = (chunkId, promises) => {
266/******/ 				// JSONP chunk loading for javascript
267/******/ 				var installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;
268/******/ 				if(installedChunkData !== 0) { // 0 means "already installed".
269/******/ 		
270/******/ 					// a Promise means "currently loading".
271/******/ 					if(installedChunkData) {
272/******/ 						promises.push(installedChunkData[2]);
273/******/ 					} else {
274/******/ 						if(9121 != chunkId) {
275/******/ 							// setup Promise in chunk cache
276/******/ 							var promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));
277/******/ 							promises.push(installedChunkData[2] = promise);
278/******/ 		
279/******/ 							// start chunk loading
280/******/ 							var url = __webpack_require__.p + __webpack_require__.u(chunkId);
281/******/ 							// create error before stack unwound to get useful stacktrace later
282/******/ 							var error = new Error();
283/******/ 							var loadingEnded = (event) => {
284/******/ 								if(__webpack_require__.o(installedChunks, chunkId)) {
285/******/ 									installedChunkData = installedChunks[chunkId];
286/******/ 									if(installedChunkData !== 0) installedChunks[chunkId] = undefined;
287/******/ 									if(installedChunkData) {
288/******/ 										var errorType = event && (event.type === 'load' ? 'missing' : event.type);
289/******/ 										var realSrc = event && event.target && event.target.src;
290/******/ 										error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
291/******/ 										error.name = 'ChunkLoadError';
292/******/ 										error.type = errorType;
293/******/ 										error.request = realSrc;
294/******/ 										installedChunkData[1](error);
295/******/ 									}
296/******/ 								}
297/******/ 							};
298/******/ 							__webpack_require__.l(url, loadingEnded, "chunk-" + chunkId, chunkId);
299/******/ 						} else installedChunks[chunkId] = 0;
300/******/ 					}
301/******/ 				}
302/******/ 		};
303/******/ 		
304/******/ 		// no prefetching
305/******/ 		
306/******/ 		// no preloaded
307/******/ 		
308/******/ 		// no HMR
309/******/ 		
310/******/ 		// no HMR manifest
311/******/ 		
312/******/ 		__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
313/******/ 		
314/******/ 		// install a JSONP callback for chunk loading
315/******/ 		var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
316/******/ 			var [chunkIds, moreModules, runtime] = data;
317/******/ 			// add "moreModules" to the modules object,
318/******/ 			// then flag all "chunkIds" as loaded and fire callback
319/******/ 			var moduleId, chunkId, i = 0;
320/******/ 			if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
321/******/ 				for(moduleId in moreModules) {
322/******/ 					if(__webpack_require__.o(moreModules, moduleId)) {
323/******/ 						__webpack_require__.m[moduleId] = moreModules[moduleId];
324/******/ 					}
325/******/ 				}
326/******/ 				if(runtime) var result = runtime(__webpack_require__);
327/******/ 			}
328/******/ 			if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
329/******/ 			for(;i < chunkIds.length; i++) {
330/******/ 				chunkId = chunkIds[i];
331/******/ 				if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
332/******/ 					installedChunks[chunkId][0]();
333/******/ 				}
334/******/ 				installedChunks[chunkId] = 0;
335/******/ 			}
336/******/ 			return __webpack_require__.O(result);
337/******/ 		}
338/******/ 		
339/******/ 		var chunkLoadingGlobal = self["__LOADABLE_LOADED_CHUNKS__"] = self["__LOADABLE_LOADED_CHUNKS__"] || [];
340/******/ 		chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
341/******/ 		chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
342/******/ 	})();
343/******/ 	
344/******/ 	/* webpack/runtime/nonce */
345/******/ 	(() => {
346/******/ 		__webpack_require__.nc = undefined;
347/******/ 	})();
348/******/ 	
349/************************************************************************/
350/******/ 	
351/******/ 	
352/******/ })()
353;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.