1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="5fc8a041-23a1-4bec-b1ae-363b01b09398",e._sentryDebugIdIdentifier="sentry-dbid-5fc8a041-23a1-4bec-b1ae-363b01b09398")}catch(e){}}(),(()=>{"use strict";let e,t,a;class n extends Error{details;constructor(e,t){super(((e,...t)=>{let a=e;return t.length>0&&(a+=` :: ${JSON.stringify(t)}`),a})(e,t)),this.name=e,this.details=t}}let s={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"serwist",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},r=e=>[s.prefix,e,s.suffix].filter(e=>e&&e.length>0).join("-"),i={updateDetails:e=>{var t=t=>{let a=e[t];"string"==typeof a&&(s[t]=a)};for(let e of Object.keys(s))t(e)},getGoogleAnalyticsName:e=>e||r(s.googleAnalytics),getPrecacheName:e=>e||r(s.precache),getRuntimeName:e=>e||r(s.runtime)};class o{promise;resolve;reject;
1constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}function l(e,t){let a=new URL(e);for(let e of t)a.searchParams.delete(e);return a.href}async function c(e,t,a,n){let s=l(t.url,a);if(t.url===s)return e.match(t,n);let r={...n,ignoreSearch:!0};for(let i of(await e.keys(t,r)))if(s===l(i.url,a))return e.match(i,n)}let h=new Set,d=async()=>{for(let e of h)await e()};function u(e){return new Promise(t=>setTimeout(t,e))}let m="-precache-",g=async(e,t=m)=>{let a=(await self.caches.keys()).filter(a=>a.includes(t)&&a.includes(self.registration.scope)&&a!==e);return await Promise.all(a.map(e=>self.caches.delete(e))),a},p=(e,t)=>{let a=t();return e.waitUntil(a),a},f=(e,t)=>t.some(t=>e instanceof t),w=new WeakMap,y=new WeakMap,_=new WeakMap,b={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return w.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return v(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function v(e){if(e instanceof IDBRequest){let t=new Promise((t,a)=>{let n=()=>{e.removeEventListener("success",s),e.removeEventListener("error",r)},s=()=>{t(v(e.result)),n()},r=()=>{a(e.error),n()};e.addEventListener("success",s),e.addEventListener("error",r)});return _.set(t,e),t}if(y.has(e))return y.get(e);let n=function(e){if("function"==typeof e)return(a||(a=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(e)?function(...t){return e.apply(x(this),t),v(this.request)}:function(...t){return v(e.apply(x(this),t))};return(e instanceof IDBTransaction&&function(e){if(w.has(e))return;let t=new Promise((t,a)=>{let n=()=>{e.removeEventListener("complete",s),e.removeEventListener("error",r),e.removeEventListener("abort",r)},s=()=>{t(),n()},r=()=>{a(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",s),e.addEventListener("error",r),e.addEventListener("abort",r)});w.set(e,t)}(e),f(e,t||(t=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(e,b):e}(e);return n!==e&&(y.set(e,n),_.set(n,e)),n}let x=e=>_.get(e);function S(e,t,{blocked:a,upgrade:n,blocking:s,terminated:r}={}){let i=indexedDB.open(e,t),o=v(i);return n&&i.addEventListener("upgradeneeded",e=>{n(v(i.result),e.oldVersion,e.newVersion,v(i.transaction),e)}),a&&i.addEventListener("blocked",e=>a(e.oldVersion,e.newVersion,e)),o.then(e=>{r&&e.addEventListener("close",()=>r()),s&&e.addEventListener("versionchange",e=>s(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o}let R=["get","getKey","getAll","getAllKeys","count"],E=["put","add","delete","clear"],T=new Map;function k(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(T.get(t))return T.get(t);let a=t.replace(/FromIndex$/,""),n=t!==a,s=E.includes(a);if(!(a in(n?IDBIndex:IDBObjectStore).prototype)||!(s||R.includes(a)))return;let r=async function(e,...t){let r=this.transaction(e,s?"readwrite":"readonly"),i=r.store;return n&&(i=i.index(t.shift())),(await Promise.all([i[a](...t),s&&r.done]))[0]};return T.set(t,r),r}b=(e=>({...e,get:(t,a,n)=>k(t,a)||e.get(t,a,n),has:(t,a)=>!!k(t,a)||e.has(t,a)}))(b);let N=["continue","continuePrimaryKey","advance"],q={},C=new WeakMap,P=new WeakMap,D={get(e,t){if(!N.includes(t))return e[t];let a=q[t];return a||(a=q[t]=function(...e){C.set(this,P.get(this)[t](...e))}),a}};async function*A(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;let a=new Proxy(t,D);for(P.set(a,t),_.set(a,x(t));t;)yield a,t=await (C.get(a)||t.continue()),C.delete(a)}function I(e,t){return t===Symbol.asyncIterator&&f(e,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===t&&f(e,[IDBIndex,IDBObjectStore])}b=(e=>({...e,get:(t,a,n)=>I(t,a)?A:e.get(t,a,n),has:(t,a)=>I(t,a)||e.has(t,a)}))(b);let L=e=>e&&"object"==typeof e?e:{handle:e};class M{handler;match;method;catchHandler;constructor(e,t,a="GET"){this.handler=L(t),this.match=e,this.method=a}setCatchHandler(e){this.catchHandler=L(e)}}class U extends M{_allowlist;_denylist;constructor(e,{allowlist:t=[/./],denylist:a=[]}={}){super(e=>this._match(e),e),this._allowlist=t,this._denylist=a}_match({url:e,request:t}){if(t&&"navigate"!==t.mode)return!1;let a=e.pathname+e.search;for(let e of this._denylist)if(e.test(a))return!1;return!!this._allowlist.some(e=>e.test(a))}}class F extends M{constructor(e,t,a){super(({url:t})=>{let a=e.exec(t.href);if(a)return t.origin!==location.origin&&0!==a.index?void 0:a.slice(1)},t,a)}}let O=async(e,t,a)=>{let n=t.map((e,t)=>({index:t,item:e})),s=async e=>{let t=[];for(;;){let s=n.pop();if(!s)return e(t);let r=await a(s.item);t.push({result:r,index:s.index})}},r=Array.from({length:e},()=>new Promise(s));return(await Promise.all(r)).flat().sort((e,t)=>
1e.index<t.index?-1:1).map(e=>e.result)};function B(e){return"string"==typeof e?new Request(e):e}class W{event;request;url;params;_cacheKeys={};_strategy;_handlerDeferred;_extendLifetimePromises;_plugins;_pluginStateMap;constructor(e,t){for(let a of(this.event=t.event,this.request=t.request,t.url&&(this.url=t.url,this.params=t.params),this._strategy=e,this._handlerDeferred=new o,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map,this._plugins))this._pluginStateMap.set(a,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:t}=this,a=B(e),s=await this.getPreloadResponse();if(s)return s;let r=this.hasCallback("fetchDidFail")?a.clone():null;try{for(let e of this.iterateCallbacks("requestWillFetch"))a=await e({request:a.clone(),event:t})}catch(e){if(e instanceof Error)throw new n("plugin-error-request-will-fetch",{thrownErrorMessage:e.message})}let i=a.clone();try{let e;for(let n of(e=await fetch(a,"navigate"===a.mode?void 0:this._strategy.fetchOptions),this.iterateCallbacks("fetchDidSucceed")))e=await n({event:t,request:i,response:e});return e}catch(e){throw r&&await this.runCallbacks("fetchDidFail",{error:e,event:t,originalRequest:r.clone(),request:i.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),a=t.clone();return this.waitUntil(this.cachePut(e,a)),t}async cacheMatch(e){let t,a=B(e),{cacheName:n,matchOptions:s}=this._strategy,r=await this.getCacheKey(a,"read"),i={...s,cacheName:n};for(let e of(t=await caches.match(r,i),this.iterateCallbacks("cachedResponseWillBeUsed")))t=await e({cacheName:n,matchOptions:s,cachedResponse:t,request:r,event:this.event})||void 0;return t}async cachePut(e,t){let a=B(e);await u(0);let s=await this.getCacheKey(a,"write");if(!t)throw new n("cache-put-with-no-response",{url:new URL(String(s.url),location.href).href.replace(RegExp(`^${location.origin}`),"")});let r=await this._ensureResponseSafeToCache(t);if(!r)return!1;let{cacheName:i,matchOptions:o}=this._strategy,l=await self.caches.open(i),h=this.hasCallback("cacheDidUpdate"),m=h?await c(l,s.clone(),["__WB_REVISION__"],o):null;try{await l.put(s,h?r.clone():r)}catch(e){if(e instanceof Error)throw"QuotaExceededError"===e.name&&await d(),e}for(let e of this.iterateCallbacks("cacheDidUpdate"))await e({cacheName:i,oldResponse:m,newResponse:r.clone(),request:s,event:this.event});return!0}async getCacheKey(e,t){let a=`${e.url} | ${t}`;if(!this._cacheKeys[a]){let n=e;for(let e of this.iterateCallbacks("cacheKeyWillBeUsed"))n=B(await e({mode:t,request:n,event:this.event,params:this.params}));this._cacheKeys[a]=n}return this._cacheKeys[a]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let a of this.iterateCallbacks(e))await a(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if("function"==typeof t[e]){let a=this._pluginStateMap.get(t),n=n=>{let s={...n,state:a};return t[e](s)};yield n}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){let e;for(;e=this._extendLifetimePromises.shift();)await e}destroy(){this._handlerDeferred.resolve(null)}async getPreloadResponse(){if(this.event instanceof FetchEvent&&"navigate"===this.event.request.mode&&"preloadResponse"in this.event)try{let e=await this.event.preloadResponse;if(e)return e}catch(e){}}async _ensureResponseSafeToCache(e){let t=e,a=!1;for(let e of this.iterateCallbacks("cacheWillUpdate"))if(t=await e({request:this.request,response:t,event:this.event})||void 0,a=!0,!t)break;return!a&&t&&200!==t.status&&(t=void 0),t}}class K{cacheName;plugins;fetchOptions;matchOptions;constructor(e={}){this.cacheName=i.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,a="string"==typeof e.request?new Request(e.request):e.request,n=new W(this,e.url?{event:t,request:a,url:e.url,params:e.params}:{event:t,request:a}),s=this._getResponse(n,a,t),r=this._awaitComplete(s,n,a,t);return[s,r]}async _getResponse(e,t,a){let s;await e.runCallbacks("handlerWillStart",{event:a,request:t});try{if(s=await this._handle(t,e),void 0===s||"error"===s.type)throw new n("no-response",{url:t.url})}catch(n){if(n instanceof Error){for(let r of e.iterateCallbacks("handlerDidError"))if(void 0!==(s=await r({error:n,event:a,request:t})))break}if(!s)throw n}for(let n of e.iterateCallbacks("handlerWillRespond"))s=await n({event:a,request:t,response:s});return s}async _awaitComplete(e,t,a,n){let s,r;try{s=await e}catch{}try{await t.runCallbacks("handlerDidRespond",{event:n,request:a,response:s}),await t.doneWaiting()}catch(e){e instanceof Error&&(r=e)}if(await t.runCallbacks("handlerDidComplete",{event:n,request:a,response:s,error:r}),t.destroy(),r)throw r}}let j={cacheWillUpdate:async({response:e})=>200===e.status||0===e.status?e:null};class H extends K{_networkTimeoutSeconds;constructor(e={}){super(e),this.plugins.some(e=>
1"cacheWillUpdate"in e)||this.plugins.unshift(j),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){let a,s=[],r=[];if(this._networkTimeoutSeconds){let{id:n,promise:i}=this._getTimeoutPromise({request:e,logs:s,handler:t});a=n,r.push(i)}let i=this._getNetworkPromise({timeoutId:a,request:e,logs:s,handler:t});r.push(i);let o=await t.waitUntil((async()=>await t.waitUntil(Promise.race(r))||await i)());if(!o)throw new n("no-response",{url:e.url});return o}_getTimeoutPromise({request:e,logs:t,handler:a}){let n;return{promise:new Promise(t=>{n=setTimeout(async()=>{t(await a.cacheMatch(e))},1e3*this._networkTimeoutSeconds)}),id:n}}async _getNetworkPromise({timeoutId:e,request:t,logs:a,handler:n}){let s,r;try{r=await n.fetchAndCachePut(t)}catch(e){e instanceof Error&&(s=e)}return e&&clearTimeout(e),(s||!r)&&(r=await n.cacheMatch(t)),r}}class $ extends K{_networkTimeoutSeconds;constructor(e={}){super(e),this._networkTimeoutSeconds=e.networkTimeoutSeconds||0}async _handle(e,t){let a,s;try{let a=[t.fetch(e)];if(this._networkTimeoutSeconds){let e=u(1e3*this._networkTimeoutSeconds);a.push(e)}if(!(s=await Promise.race(a)))throw Error(`Timed out the network response after ${this._networkTimeoutSeconds} seconds.`)}catch(e){e instanceof Error&&(a=e)}if(!s)throw new n("no-response",{url:e.url,error:a});return s}}let G="requests",V="queueName";class Q{_db=null;async addEntry(e){let t=(await this.getDb()).transaction(G,"readwrite",{durability:"relaxed"});await t.store.add(e),await t.done}async getFirstEntryId(){let e=await this.getDb(),t=await e.transaction(G).store.openCursor();return t?.value.id}async getAllEntriesByQueueName(e){let t=await this.getDb();return await t.getAllFromIndex(G,V,IDBKeyRange.only(e))||[]}async getEntryCountByQueueName(e){return(await this.getDb()).countFromIndex(G,V,IDBKeyRange.only(e))}async deleteEntry(e){let t=await this.getDb();await t.delete(G,e)}async getFirstEntryByQueueName(e){return await this.getEndEntryFromIndex(IDBKeyRange.only(e),"next")}async getLastEntryByQueueName(e){return await this.getEndEntryFromIndex(IDBKeyRange.only(e),"prev")}async getEndEntryFromIndex(e,t){let a=await this.getDb(),n=await a.transaction(G).store.index(V).openCursor(e,t);return n?.value}async getDb(){return this._db||(this._db=await S("serwist-background-sync",3,{upgrade:this._upgradeDb})),this._db}_upgradeDb(e,t){t>0&&t<3&&e.objectStoreNames.contains(G)&&e.deleteObjectStore(G),e.createObjectStore(G,{autoIncrement:!0,keyPath:"id"}).createIndex(V,V,{unique:!1})}}class z{_queueName;_queueDb;constructor(e){this._queueName=e,this._queueDb=new Q}async pushEntry(e){delete e.id,e.queueName=this._queueName,await this._queueDb.addEntry(e)}async unshiftEntry(e){let t=await this._queueDb.getFirstEntryId();t?e.id=t-1:delete e.id,e.queueName=this._queueName,await this._queueDb.addEntry(e)}async popEntry(){return this._removeEntry(await this._queueDb.getLastEntryByQueueName(this._queueName))}async shiftEntry(){return this._removeEntry(await this._queueDb.getFirstEntryByQueueName(this._queueName))}async getAll(){return await this._queueDb.getAllEntriesByQueueName(this._queueName)}async size(){return await this._queueDb.getEntryCountByQueueName(this._queueName)}async deleteEntry(e){await this._queueDb.deleteEntry(e)}async _removeEntry(e){return e&&await this.deleteEntry(e.id),e}}let Y=["method","referrer","referrerPolicy","mode","credentials","cache","redirect","integrity","keepalive"];class J{_requestData;
1static async fromRequest(e){let t={url:e.url,headers:{}};for(let a of("GET"!==e.method&&(t.body=await e.clone().arrayBuffer()),e.headers.forEach((e,a)=>{t.headers[a]=e}),Y))void 0!==e[a]&&(t[a]=e[a]);return new J(t)}constructor(e){"navigate"===e.mode&&(e.mode="same-origin"),this._requestData=e}toObject(){let e=Object.assign({},this._requestData);return e.headers=Object.assign({},this._requestData.headers),e.body&&(e.body=e.body.slice(0)),e}toRequest(){return new Request(this._requestData.url,this._requestData)}clone(){return new J(this.toObject())}}let X="serwist-background-sync",Z=new Set,ee=e=>{let t={request:new J(e.requestData).toRequest(),timestamp:e.timestamp};return e.metadata&&(t.metadata=e.metadata),t};class et{_name;_onSync;_maxRetentionTime;_queueStore;_forceSyncFallback;_syncInProgress=!1;_requestsAddedDuringSync=!1;constructor(e,{forceSyncFallback:t,onSync:a,maxRetentionTime:s}={}){if(Z.has(e))throw new n("duplicate-queue-name",{name:e});Z.add(e),this._name=e,this._onSync=a||this.replayRequests,this._maxRetentionTime=s||10080,this._forceSyncFallback=!!t,this._queueStore=new z(this._name),this._addSyncListener()}get name(){return this._name}async pushRequest(e){await this._addRequest(e,"push")}async unshiftRequest(e){await this._addRequest(e,"unshift")}async popRequest(){return this._removeRequest("pop")}async shiftRequest(){return this._removeRequest("shift")}async getAll(){let e=await this._queueStore.getAll(),t=Date.now(),a=[];for(let n of e){let e=60*this._maxRetentionTime*1e3;t-n.timestamp>e?await this._queueStore.deleteEntry(n.id):a.push(ee(n))}return a}async size(){return await this._queueStore.size()}async _addRequest({request:e,metadata:t,timestamp:a=Date.now()}
1,n){let s={requestData:(await J.fromRequest(e.clone())).toObject(),timestamp:a};switch(t&&(s.metadata=t),n){case"push":await this._queueStore.pushEntry(s);break;case"unshift":await this._queueStore.unshiftEntry(s)}this._syncInProgress?this._requestsAddedDuringSync=!0:await this.registerSync()}async _removeRequest(e){let t,a=Date.now();switch(e){case"pop":t=await this._queueStore.popEntry();break;case"shift":t=await this._queueStore.shiftEntry()}if(t){let n=60*this._maxRetentionTime*1e3;return a-t.timestamp>n?this._removeRequest(e):ee(t)}}async replayRequests(){let e;for(;e=await this.shiftRequest();)try{await fetch(e.request.clone())}catch{throw await this.unshiftRequest(e),new n("queue-replay-failed",{name:this._name})}}async registerSync(){if("sync"in self.registration&&!this._forceSyncFallback)try{await self.registration.sync.register(`${X}:${this._name}`)}catch(e){}}_addSyncListener(){"sync"in self.registration&&!this._forceSyncFallback?self.addEventListener("sync",e=>{if(e.tag===`${X}:${this._name}`){let t=async()=>{let t;this._syncInProgress=!0;try{await this._onSync({queue:this})}catch(e){if(e instanceof Error)throw e}finally{this._requestsAddedDuringSync&&!(t&&!e.lastChance)&&await this.registerSync(),this._syncInProgress=!1,this._requestsAddedDuringSync=!1}};e.waitUntil(t())}}):this._onSync({queue:this})}static get _queueNames(){return Z}}class ea{_queue;constructor(e,t){this._queue=new et(e,t)}async fetchDidFail({request:e}){await this._queue.pushRequest({request:e})}}let en=async(t,a)=>{let s=null;if(t.url&&(s=new URL(t.url).origin),s!==self.location.origin)throw new n("cross-origin-copy-response",{origin:s});let r=t.clone(),i={headers:new Headers(r.headers),status:r.status,statusText:r.statusText},o=a?a(i):i,l=!function(){if(void 0===e){let t=new Response("");if("body"in t)try{new Response(t.body),e=!0}catch{e=!1}e=!1}return e}()?await r.blob():r.body;return new Response(l,o)};class es extends K{_fallbackToNetwork;static defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:e})=>!e||e.status>=400?null:e};static copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:e})=>e.redirected?await en(e):e};constructor(e={}){e.cacheName=i.getPrecacheName(e.cacheName),super(e),this._fallbackToNetwork=!1!==e.fallbackToNetwork,this.plugins.push(es.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){let a=await t.getPreloadResponse();if(a)return a;let n=await t.cacheMatch(e);return n||(t.event&&"install"===t.event.type?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let a,s=t.params||{};if(this._fallbackToNetwork){let n=s.integrity,r=e.integrity,i=!r||r===n;a=await t.fetch(new Request(e,{integrity:"no-cors"!==e.mode?r||n:void 0})),n&&i&&"no-cors"!==e.mode&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,a.clone()))}else throw new n("missing-precache-entry",{cacheName:this.cacheName,url:e.url});return a}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();let a=await t.fetch(e);if(!await t.cachePut(e,a.clone()))throw new n("bad-precaching-response",{url:e.url,status:a.status});return a}_useDefaultCacheabilityPluginIfNeeded(){let e=null,t=0;for(let[a,n]of this.plugins.entries())n!==es.copyRedirectedCacheableResponsesPlugin&&(n===es.defaultPrecacheCacheabilityPlugin&&(e=a),n.cacheWillUpdate&&t++);0===t?this.plugins.push(es.defaultPrecacheCacheabilityPlugin):t>1&&null!==e&&this.plugins.splice(e,1)}}class er{updatedURLs=[];notUpdatedURLs=[];handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)};cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:a})=>{if("install"===e.type&&t?.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;a?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return a}}let ei=e=>{if(!e)throw new n("add-to-cache-list-unexpected-type",{entry:e});if("string"==typeof e){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:t,url:a}=e;if(!a)throw new n("add-to-cache-list-unexpected-type",{entry:e});if(!t){let e=new URL(a,location.href);return{cacheKey:e.href,url:e.href}}let s=new URL(a,location.href),r=new URL(a,location.href);return s.searchParams.set("__WB_REVISION__",t),{cacheKey:s.href,url:r.href}};class eo extends M{constructor(e,t){super(({request:a})=>{let n=e.getUrlsToPrecacheKeys();for(let s of function*(e,{directoryIndex:t="index.html",ignoreURLParametersMatching:a=[/^utm_/,/^fbclid$/],cleanURLs:n=!0,urlManipulation:s}={}){let r=new URL(e,location.href);r.hash="",yield r.href;let i=((e,t=[])=>{for(let a of[...e.searchParams.keys()])t.some(e=>e.test(a))&&e.searchParams.delete(a);return e})(r,a);if(yield i.href,t&&i.pathname.endsWith("/")){let e=new URL(i.href);e.pathname+=t,yield e.href}if(n){let e=new URL(i.href);e.pathname+=".html",yield e.href}if(s)for(let e of s({url:r}))yield e.href}(a.url,t)){let t=n.get(s);if(t){let a=e.getIntegrityForPrecacheKey(t);return{cacheKey:t,integrity:a}}}},e.precacheStrategy)}}let el="www.google-analytics.com",ec="www.googletagmanager.com",eh=/^\/(\w+\/)?collect/,ed=({serwist:e,cacheName:t,...a})=>{let n=i.getGoogleAnalyticsName(t),s=new ea("serwist-google-analytics",{maxRetentionTime:2880,onSync:(e=>async({queue:t})=>{let a;for(;
1a=await t.shiftRequest();){let{request:n,timestamp:s}=a,r=new URL(n.url);try{let t="POST"===n.method?new URLSearchParams(await n.clone().text()):r.searchParams,a=s-(Number(t.get("qt"))||0),i=Date.now()-a;if(t.set("qt",String(i)),e.parameterOverrides)for(let a of Object.keys(e.parameterOverrides)){let n=e.parameterOverrides[a];t.set(a,n)}"function"==typeof e.hitFilter&&e.hitFilter.call(null,t),await fetch(new Request(r.origin+r.pathname,{body:t.toString(),method:"POST",mode:"cors",credentials:"omit",headers:{"Content-Type":"text/plain"}}))}catch(e){throw await t.unshiftRequest(a),e}}})(a)});for(let t of[new M(({url:e})=>e.hostname===ec&&"/gtm.js"===e.pathname,new H({cacheName:n}),"GET"),new M(({url:e})=>e.hostname===el&&"/analytics.js"===e.pathname,new H({cacheName:n}),"GET"),new M(({url:e})=>e.hostname===ec&&"/gtag/js"===e.pathname,new H({cacheName:n}),"GET"),...(e=>{let t=({url:e})=>e.hostname===el&&eh.test(e.pathname),a=new $({plugins:[e]});return[new M(t,a,"GET"),new M(t,a,"POST")]})(s)])e.registerRoute(t)};class eu{_fallbackUrls;_serwist;constructor({fallbackUrls:e,serwist:t}){this._fallbackUrls=e,this._serwist=t}async handlerDidError(e){for(let t of this._fallbackUrls)if("string"==typeof t){let e=await this._serwist.matchPrecache(t);if(void 0!==e)return e}else if(t.matcher(e)){let e=await this._serwist.matchPrecache(t.url);if(void 0!==e)return e}}}class em{_precacheController;constructor({precacheController:e}){this._precacheController=e}cacheKeyWillBeUsed=async({request:e,params:t})=>{let a=t?.cacheKey||this._precacheController.getPrecacheKeyForUrl(e.url);return a?new Request(a,{headers:e.headers}):e}}class eg{_urlsToCacheKeys=new Map;_urlsToCacheModes=new Map;_cacheKeysToIntegrities=new Map;_concurrentPrecaching;_precacheStrategy;_routes;_defaultHandlerMap;_catchHandler;_requestRules;constructor({precacheEntries:e,precacheOptions:t,skipWaiting:a=!1,importScripts:n,navigationPreload:s=!1,cacheId:r,clientsClaim:o=!1,runtimeCaching:l,offlineAnalyticsConfig:c,disableDevLogs:h=!1,fallbacks:d,requestRules:u}={}){var m,p;let{precacheStrategyOptions:f,precacheRouteOptions:w,precacheMiscOptions:y}=((e,t={})=>{let{cacheName:a,plugins:n=[],fetchOptions:s,matchOptions:r,fallbackToNetwork:o,directoryIndex:l,ignoreURLParametersMatching:c,cleanURLs:h,urlManipulation:d,cleanupOutdatedCaches:u,concurrency:m=10,navigateFallback:g,navigateFallbackAllowlist:p,navigateFallbackDenylist:f}=t??{};return{precacheStrategyOptions:{cacheName:i.getPrecacheName(a),plugins:[...n,new em({precacheController:e})],fetchOptions:s,matchOptions:r,fallbackToNetwork:o},precacheRouteOptions:{directoryIndex:l,ignoreURLParametersMatching:c,cleanURLs:h,urlManipulation:d},precacheMiscOptions:{cleanupOutdatedCaches:u,concurrency:m,navigateFallback:g,navigateFallbackAllowlist:p,navigateFallbackDenylist:f}}})(this,t);if(this._concurrentPrecaching=y.concurrency,this._precacheStrategy=new es(f),this._routes=new Map,this._defaultHandlerMap=new Map,this._requestRules=u,this.handleInstall=this.handleInstall.bind(this),this.handleActivate=this.handleActivate.bind(this),this.handleFetch=this.handleFetch.bind(this),this.handleCache=this.handleCache.bind(this),n&&n.length>0&&self.importScripts(...n),s&&self.registration?.navigationPreload&&self.addEventListener("activate",e=>{e.waitUntil(self.registration.navigationPreload.enable().then(()=>{}))}),void 0!==r&&(m={prefix:r},i.updateDetails(m)),a?self.skipWaiting():self.addEventListener("message",e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()}),o&&self.addEventListener("activate",()=>self.clients.claim()),e&&e.length>0&&this.addToPrecacheList(e),y.cleanupOutdatedCaches&&(p=f.cacheName,self.addEventListener("activate",e=>{e.waitUntil(g(i.getPrecacheName(p)).then(e=>{}))})),this.registerRoute(new eo(this,w)),y.navigateFallback&&this.registerRoute(new U(this.createHandlerBoundToUrl(y.navigateFallback),{allowlist:y.navigateFallbackAllowlist,denylist:y.navigateFallbackDenylist})),void 0!==c&&("boolean"==typeof c?c&&ed({serwist:this}):ed({...c,serwist:this})),void 0!==l){if(void 0!==d){let e=new eu({fallbackUrls:d.entries,serwist:this});l.forEach(t=>{t.handler instanceof K&&!t.handler.plugins.some(e=>"handlerDidError"in e)&&t.handler.plugins.push(e)})}for(let e of l)this.registerCapture(e.matcher,e.handler,e.method)}h&&(self.__WB_DISABLE_DEV_LOGS=!0)}get precacheStrategy(){return this._precacheStrategy}get routes(){return this._routes}addEventListeners(){self.addEventListener("install",this.handleInstall),self.addEventListener("activate",this.handleActivate),self.addEventListener("fetch",this.handleFetch),self.addEventListener("message",this.handleCache)}
1addToPrecacheList(e){let t=[];for(let a of e){"string"==typeof a?t.push(a):a&&!a.integrity&&void 0===a.revision&&t.push(a.url);let{cacheKey:e,url:s}=ei(a),r="string"!=typeof a&&a.revision?"reload":"default";if(this._urlsToCacheKeys.has(s)&&this._urlsToCacheKeys.get(s)!==e)throw new n("add-to-cache-list-conflicting-entries",{firstEntry:this._urlsToCacheKeys.get(s),secondEntry:e});if("string"!=typeof a&&a.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==a.integrity)throw new n("add-to-cache-list-conflicting-integrities",{url:s});this._cacheKeysToIntegrities.set(e,a.integrity)}this._urlsToCacheKeys.set(s,e),this._urlsToCacheModes.set(s,r),t.length>0&&console.warn(`Serwist is precaching URLs without revision info: ${t.join(", ")} 2This is generally NOT safe. Learn more at https://bit.ly/wb-precache`)}}handleInstall(e){return this.registerRequestRules(e),p(e,async()=>{let t=new er;this.precacheStrategy.plugins.push(t),await O(this._concurrentPrecaching,Array.from(this._urlsToCacheKeys.entries()),async([t,a])=>{let n=this._cacheKeysToIntegrities.get(a),s=this._urlsToCacheModes.get(t),r=new Request(t,{integrity:n,cache:s,credentials:"same-origin"});await Promise.all(this.precacheStrategy.handleAll({event:e,request:r,url:new URL(r.url),params:{cacheKey:a}}))});let{updatedURLs:a,notUpdatedURLs:n}=t;return{updatedURLs:a,notUpdatedURLs:n}})}async registerRequestRules(e){if(this._requestRules&&e?.addRoutes)try{await e.addRoutes(this._requestRules),this._requestRules=void 0}catch(e){throw e}}handleActivate(e){return p(e,async()=>{let e=await self.caches.open(this.precacheStrategy.cacheName),t=await e.keys(),a=new Set(this._urlsToCacheKeys.values()),n=[];for(let s of t)a.has(s.url)||(await e.delete(s),n.push(s.url));return{deletedCacheRequests:n}})}handleFetch(e){let{request:t}=e,a=this.handleRequest({request:t,event:e});a&&e.respondWith(a)}handleCache(e){if(e.data&&"CACHE_URLS"===e.data.type){let{payload:t}=e.data,a=Promise.all(t.urlsToCache.map(t=>{let a;return a="string"==typeof t?new Request(t):new Request(...t),this.handleRequest({request:a,event:e})}));e.waitUntil(a),e.ports?.[0]&&a.then(()=>e.ports[0].postMessage(!0))}}setDefaultHandler(e,t="GET"){this._defaultHandlerMap.set(t,L(e))}setCatchHandler(e){this._catchHandler=L(e)}registerCapture(e,t,a){let s=((e,t,a)=>{if("string"==typeof e){let n=new URL(e,location.href);return new M(({url:e})=>e.href===n.href,t,a)}if(e instanceof RegExp)return new F(e,t,a);if("function"==typeof e)return new M(e,t,a);if(e instanceof M)return e;throw new n("unsupported-route-type",{moduleName:"serwist",funcName:"parseRoute",paramName:"capture"})})(e,t,a);return this.registerRoute(s),s}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new n("unregister-route-but-not-found-with-method",{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new n("unregister-route-route-not-registered")}getUrlsToPrecacheKeys(){return this._urlsToCacheKeys}getPrecachedUrls(){return[...this._urlsToCacheKeys.keys()]}getPrecacheKeyForUrl(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForPrecacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,a=this.getPrecacheKeyForUrl(t);if(a)return(await self.caches.open(this.precacheStrategy.cacheName)).match(a)}createHandlerBoundToUrl(e){let t=this.getPrecacheKeyForUrl(e);if(!t)throw new n("non-precached-url",{url:e});return a=>(a.request=new Request(e),a.params={cacheKey:t,...a.params},this.precacheStrategy.handle(a))}handleRequest({request:e,event:t}){let a,n=new URL(e.url,location.href);if(!n.protocol.startsWith("http"))return;let s=n.origin===location.origin,{params:r,route:i}=this.findMatchingRoute({event:t,request:e,sameOrigin:s,url:n}),o=i?.handler,l=e.method;if(!o&&this._defaultHandlerMap.has(l)&&(o=this._defaultHandlerMap.get(l)),!o)return;try{a=o.handle({url:n,request:e,event:t,params:r})}catch(e){a=Promise.reject(e)}let c=i?.catchHandler;return a instanceof Promise&&(this._catchHandler||c)&&(a=a.catch(async a=>{if(c)try{return await c.handle({url:n,request:e,event:t,params:r})}catch(e){e instanceof Error&&(a=e)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw a})),a}
2findMatchingRoute({url:e,sameOrigin:t,request:a,event:n}){for(let s of this._routes.get(a.method)||[]){let r,i=s.match({url:e,sameOrigin:t,request:a,event:n});if(i)return Array.isArray(r=i)&&0===r.length||i.constructor===Object&&0===Object.keys(i).length?r=void 0:"boolean"==typeof i&&(r=void 0),{route:s,params:r}}return{}}}"undefined"!=typeof navigator&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent);let ep="cache-entries",ef=e=>{let t=new URL(e,location.href);return t.hash="",t.href};class ew{_cacheName;_db=null;constructor(e){this._cacheName=e}_getId(e){return`${this._cacheName}|${ef(e)}`}_upgradeDb(e){let t=e.createObjectStore(ep,{keyPath:"id"});t.createIndex("cacheName","cacheName",{unique:!1}),t.createIndex("timestamp","timestamp",{unique:!1})}_upgradeDbAndDeleteOldDbs(e){this._upgradeDb(e),this._cacheName&&function(e,{blocked:t}={}){let a=indexedDB.deleteDatabase(e);t&&a.addEventListener("blocked",e=>t(e.oldVersion,e)),v(a).then(()=>void 0)}(this._cacheName)}async setTimestamp(e,t){e=ef(e);let a={id:this._getId(e),cacheName:this._cacheName,url:e,timestamp:t},n=(await this.getDb()).transaction(ep,"readwrite",{durability:"relaxed"});await n.store.put(a),await n.done}async getTimestamp(e){let t=await this.getDb(),a=await t.get(ep,this._getId(e));return a?.timestamp}async expireEntries(e,t){let a=await this.getDb(),n=await a.transaction(ep,"readwrite").store.index("timestamp").openCursor(null,"prev"),s=[],r=0;for(;n;){let a=n.value;a.cacheName===this._cacheName&&(e&&a.timestamp<e||t&&r>=t?(n.delete(),s.push(a.url)):r++),n=await n.continue()}return s}async getDb(){return this._db||(this._db=await S("serwist-expiration",1,{upgrade:this._upgradeDbAndDeleteOldDbs.bind(this)})),this._db}}class ey{_isRunning=!1;_rerunRequested=!1;_maxEntries;_maxAgeSeconds;_matchOptions;_cacheName;_timestampModel;constructor(e,t={}){this._maxEntries=t.maxEntries,this._maxAgeSeconds=t.maxAgeSeconds,this._matchOptions=t.matchOptions,this._cacheName=e,this._timestampModel=new ew(e)}async expireEntries(){if(this._isRunning){this._rerunRequested=!0;return}this._isRunning=!0;let e=this._maxAgeSeconds?Date.now()-1e3*this._maxAgeSeconds:0,t=await this._timestampModel.expireEntries(e,this._maxEntries),a=await self.caches.open(this._cacheName);for(let e of t)await a.delete(e,this._matchOptions);this._isRunning=!1,this._rerunRequested&&(this._rerunRequested=!1,this.expireEntries())}async updateTimestamp(e){await this._timestampModel.setTimestamp(e,Date.now())}async isURLExpired(e){if(!this._maxAgeSeconds)return!1;let t=await this._timestampModel.getTimestamp(e),a=Date.now()-1e3*this._maxAgeSeconds;return void 0===t||t<a}async delete(){this._rerunRequested=!1,await this._timestampModel.expireEntries(1/0)}}class e_{_config;_cacheExpirations;constructor(e={}){var t;this._config=e,this._cacheExpirations=new Map,this._config.maxAgeFrom||(this._config.maxAgeFrom="last-fetched"),this._config.purgeOnQuotaError&&(t=()=>
2this.deleteCacheAndMetadata(),h.add(t))}_getCacheExpiration(e){if(e===i.getRuntimeName())throw new n("expire-custom-caches-only");let t=this._cacheExpirations.get(e);return t||(t=new ey(e,this._config),this._cacheExpirations.set(e,t)),t}cachedResponseWillBeUsed({event:e,cacheName:t,request:a,cachedResponse:n}){if(!n)return null;let s=this._isResponseDateFresh(n),r=this._getCacheExpiration(t),i="last-used"===this._config.maxAgeFrom,o=(async()=>{i&&await r.updateTimestamp(a.url),await r.expireEntries()})();try{e.waitUntil(o)}catch{}return s?n:null}_isResponseDateFresh(e){if("last-used"===this._config.maxAgeFrom)return!0;let t=Date.now();if(!this._config.maxAgeSeconds)return!0;let a=this._getDateHeaderTimestamp(e);return null===a||a>=t-1e3*this._config.maxAgeSeconds}_getDateHeaderTimestamp(e){if(!e.headers.has("date"))return null;let t=new Date(e.headers.get("date")).getTime();return Number.isNaN(t)?null:t}async cacheDidUpdate({cacheName:e,request:t}){let a=this._getCacheExpiration(e);await a.updateTimestamp(t.url),await a.expireEntries()}async deleteCacheAndMetadata(){for(let[e,t]of this._cacheExpirations)await self.caches.delete(e),await t.delete();this._cacheExpirations=new Map}}let eb=async(e,t)=>{try{if(206===t.status)return t;let a=e.headers.get("range");if(!a)throw new n("no-range-header");let s=(e=>{let t=e.trim().toLowerCase();if(!t.startsWith("bytes="))throw new n("unit-must-be-bytes",{normalizedRangeHeader:t});if(t.includes(","))throw new n("single-range-only",{normalizedRangeHeader:t});let a=/(\d*)-(\d*)/.exec(t);if(!a||!(a[1]||a[2]))throw new n("invalid-range-values",{normalizedRangeHeader:t});return{start:""===a[1]?void 0:Number(a[1]),end:""===a[2]?void 0:Number(a[2])}})(a),r=await t.blob(),i=((e,t,a)=>{let s,r,i=e.size;if(a&&a>i||t&&t<0)throw new n("range-not-satisfiable",{size:i,end:a,start:t});return void 0!==t&&void 0!==a?(s=t,r=a+1):void 0!==t&&void 0===a?(s=t,r=i):void 0!==a&&void 0===t&&(s=i-a,r=i),{start:s,end:r}})(r,s.start,s.end),o=r.slice(i.start,i.end),l=o.size,c=new Response(o,{status:206,statusText:"Partial Content",headers:t.headers});return c.headers.set("Content-Length",String(l)),c.headers.set("Content-Range",`bytes ${i.start}-${i.end-1}/${r.size}`),c}catch(e){return new Response("",{status:416,statusText:"Range Not Satisfiable"})}};class ev{cachedResponseWillBeUsed=async({request:e,cachedResponse:t})=>t&&e.headers.has("range")?await eb(e,t):t}class ex extends K{async _handle(e,t){let a,s=await t.cacheMatch(e);if(!s)try{s=await t.fetchAndCachePut(e)}catch(e){e instanceof Error&&(a=e)}if(!s)throw new n("no-response",{url:e.url,error:a});return s}}class eS extends K{constructor(e={}){super(e),this.plugins.some(e=>"cacheWillUpdate"in e)||this.plugins.unshift(j)}async _handle(e,t){let a,s=t.fetchAndCachePut(e).catch(()=>{});t.waitUntil(s);let r=await t.cacheMatch(e);if(r);else try{r=await s}catch(e){e instanceof Error&&(a=e)}if(!r)throw new n("no-response",{url:e.url,error:a});return r}}let eR={rscPrefetch:"pages-rsc-prefetch",rsc:"pages-rsc",html:"pages"},eE=[{matcher:/^https:\/\/fonts\.(?:gstatic)\.com\/.*/i,handler:new ex({cacheName:"google-fonts-webfonts",plugins:[new e_({maxEntries:4,maxAgeSeconds:31536e3,maxAgeFrom:"last-used"})]})},{matcher:/^https:\/\/fonts\.(?:googleapis)\.com\/.*/i,handler:new eS({cacheName:"google-fonts-stylesheets",plugins:[new e_({maxEntries:4,maxAgeSeconds:604800,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:eot|otf|ttc|ttf|woff|woff2|font.css)$/i,handler:new eS({cacheName:"static-font-assets",plugins:[new e_({maxEntries:4,maxAgeSeconds:604800,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:jpg|jpeg|gif|png|svg|ico|webp)$/i,handler:new eS({cacheName:"static-image-assets",plugins:[new e_({maxEntries:64,maxAgeSeconds:2592e3,maxAgeFrom:"last-used"})]})},{matcher:/\/_next\/static.+\.js$/i,handler:new ex({cacheName:"next-static-js-assets",plugins:[new e_({maxEntries:64,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\/_next\/image\?url=.+$/i,handler:new eS({cacheName:"next-image",plugins:[new e_({maxEntries:64,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:mp3|wav|ogg)$/i,handler:new ex({cacheName:"static-audio-assets",plugins:[new e_({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"}),new ev]})},{matcher:/\.(?:mp4|webm)$/i,handler:new ex({cacheName:"static-video-assets",plugins:[new e_({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"}),new ev]})},{matcher:/\.(?:js)$/i,handler:new eS({cacheName:"static-js-assets",plugins:[new e_({maxEntries:48,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:css|less)$/i,handler:new eS({cacheName:"static-style-assets",plugins:[new e_({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\/_next\/data\/.+\/.+\.json$/i,handler:new H({cacheName:"next-data",plugins:[new e_({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\.(?:json|xml|csv)$/i,handler:new H({cacheName:"static-data-assets",plugins:[new e_({maxEntries:32,maxAgeSeconds:86400,maxAgeFrom:"last-used"})]})},{matcher:/\/api\/auth\/.*/,handler:new $({networkTimeoutSeconds:10})},{matcher:({sameOrigin:e,url:{pathname:t}})=>e&&t.startsWith("/api/"),method:"GET",handler:new H({cacheName:"apis",plugins:[new e_({maxEntries:16,maxAgeSeconds:86400,maxAgeFrom:"last-used"})],networkTimeoutSeconds:10})},{matcher:({request:e,url:{pathname:t},sameOrigin:a})=>"1"===e.headers.get("RSC")&&"1"===e.headers.get("Next-Router-Prefetch")&&a&&!t.startsWith("/api/"),handler:new H({cacheName:eR.rscPrefetch,plugins:[new e_({maxEntries:32,maxAgeSeconds:86400})]})},{matcher:({request:e,url:{pathname:t},sameOrigin:a})=>"1"===e.headers.get("RSC")&&a&&!t.startsWith("/api/"),handler:new H({cacheName:eR.rsc,plugins:[new e_({maxEntries:32,maxAgeSeconds:86400})]})},{matcher:({request:e,url:{pathname:t},sameOrigin:a})=>e.headers.get("Content-Type")?.includes("text/html")&&a&&!t.startsWith("/api/"),handler:new H({cacheName:eR.html,plugins:[new e_({maxEntries:32,maxAgeSeconds:86400})]})},{matcher:({url:{pathname:e},sameOrigin:t})=>t&&!e.startsWith("/api/"),handler:new H({cacheName:"others",plugins:[new e_({maxEntries:32,maxAgeSeconds:86400})]})},{matcher:({sameOrigin:e})=>!e,handler:new H({cacheName:"cross-origin",plugins:[new e_({maxEntries:32,maxAgeSeconds:3600})],networkTimeoutSeconds:10})},{matcher:/.*/i,method:"GET",handler:new $}],eT="/offline",ek=["/"],eN="next-image",eq="/logos/logo512-maskable.png";function eC(e){try{let t=new URL(e);if("/_next/image"!==t.pathname)return null;return t.searchParams.get("url")}catch(e){return null}}let eP=["/"],eD=["/links/"],eA="public-api-v1",eI={cacheWillUpdate:async e=>{let{request:t,response:a}=e;return a&&200===a.status?a.redirected?!function(e){return!!eP.includes(e)||eD.some(t=>e===t.slice(0,-1)||e.startsWith(t))}(new URL(t.url).pathname)?new Response(await a.clone().blob(),{status:a.status,statusText:a.statusText,headers:a.headers}):null:a:null}},eL=new e_({maxEntries:384,maxAgeSeconds:86400}),eM=new e_({maxEntries:384,maxAgeSeconds:86400}),eU=new e_({maxEntries:384,maxAgeSeconds:86400});
2class eF extends eS{async _handle(e,t){let a,n=await t.cacheMatch(e),s=void 0!==n&&""===n.url,r=new URL(e.url).hostname,i="reload"===e.cache||"no-cache"===e.cache||"localhost"===r||"127.0.0.1"===r||"[::1]"===r;if("navigate"===e.mode&&n&&!s&&(!i||!self.navigator.onLine))return t.waitUntil(t.fetchAndCachePut(e).catch(()=>void 0)),n;let o=new Promise(e=>{a=setTimeout(()=>e(void 0),3e3)}),l=t.fetchAndCachePut(e).catch(()=>void 0),c=await Promise.race([o,l]);if(clearTimeout(a),c)return c;if(t.waitUntil(l),n&&"navigate"===e.mode&&!self.navigator.onLine)return n;throw Error("document fetch timed out or failed: ".concat(e.url))}}let eO=[{matcher:e=>{let{request:t,url:{pathname:a},sameOrigin:n}=e;return n&&!a.startsWith("/api/")&&function(e){var t;return"GET"===e.method&&("navigate"===e.mode||"document"===e.destination||(null!=(t=e.headers.get("accept"))?t:"").includes("text/html"))}(t)},handler:new eF({cacheName:eR.html,plugins:[eI,eL]})},{matcher:e=>{let{request:t,url:{pathname:a},sameOrigin:n}=e;return"1"===t.headers.get("RSC")&&"1"===t.headers.get("Next-Router-Prefetch")&&n&&!a.startsWith("/api/")},handler:new H({cacheName:eR.rscPrefetch,networkTimeoutSeconds:3,plugins:[eI,eU]})},{matcher:e=>{let{request:t,url:{pathname:a},sameOrigin:n}=e;return"1"===t.headers.get("RSC")&&"1"!==t.headers.get("Next-Router-Prefetch")&&n&&!a.startsWith("/api/")},handler:new H({cacheName:eR.rsc,networkTimeoutSeconds:3,plugins:[eI,eM]})}];async function eB(e,t){var a;if("GET"!==e.method&&"HEAD"!==e.method)return;let n=await (await t.open("motion-media-verified-v1")).match(e.url);if(!n||200!==n.status||!/^[a-f0-9]{64}$/.test(null!=(a=n.headers.get("x-motion-sha256"))?a:""))return;let s=()=>{var e;null==(e=n.body)||e.cancel().catch(()=>void 0)};if("HEAD"===e.method)return s(),new Response(null,{status:200,headers:n.headers});let r=e.headers.get("range");if(!r)return n;let i=e.headers.get("if-range");if(i&&(i.startsWith("W/")||i!==n.headers.get("etag")))return n;let o=/^bytes=(\d*)-(\d*)$/.exec(r.trim());if(!o||!o[1]&&!o[2])return void s();let l=Number(n.headers.get("content-length"));if(!Number.isSafeInteger(l)||l<=0||!n.body)return void s();let c=o[1]?Number(o[1]):Math.max(0,l-Number(o[2])),h=o[1]&&o[2]?Math.min(l-1,Number(o[2])):l-1;if(!Number.isSafeInteger(c)||!Number.isSafeInteger(h)||c>=l||c>h||c<0)return s(),new Response(null,{status:416,headers:{"content-range":"bytes */".concat(l)}});let d=new Headers(n.headers);d.set("content-range","bytes ".concat(c,"-").concat(h,"/").concat(l)),d.set("content-length",String(h-c+1));let u=n.body.getReader(),m=0,g=()=>{u.cancel().catch(()=>void 0),u.releaseLock()};return new Response(new ReadableStream({async pull(e){try{for(;;){let{value:t,done:a}=await u.read();if(a)throw Error("Incomplete cached media range");let n=Math.max(0,c-m),s=Math.min(t.byteLength,h+1-m);if(m+=t.byteLength,s>n&&e.enqueue(t.slice(n,s)),m>h){e.close(),g();return}if(s>n)return}}catch(t){e.error(t),g()}},cancel:g}),{status:206,headers:d})}new WeakMap;let eW={adminInbox:{title:"Inbox",description:"Read and reply to the team mailbox.",frameTitle:"Message content",confirmCancel:"Cancel",loading:"Connecting to the mailboxâ¦",noAccess:{status:"No access",title:"Inbox access not granted",description:"Your account doesn't include inbox access. An admin can grant it if reading the team mailbox is part of your role."},loadError:{status:"Connection failed",title:"Couldn't open the inbox",description:"Something went wrong while connecting to the mailbox.",retry:"Try again"},notConfigured:{status:"Not connected",title:"Inbox not connected yet",description:"Once the mailbox is provisioned, admins read and reply to {email} right here, with no separate login to remember. Admin access is mailbox access.",stepsTitle:"What connects it",steps:["Provision the mailbox for the domain and point MX at the mail host.","Set the mailbox credentials on this instance's backend.","Admins open this page; reading and replying run through the server, so no password is ever shown."],note:"Sending already runs through the existing email provider. This adds the receiving and reading half."},list:{searchPlaceholder:"Search mailâ¦",empty:"No messages here.",emptySearch:"Nothing matches this
2search.",loadErrorTitle:"Couldn't load messages",loadErrorOffline:"You're offline. Reconnect and try again.",loadErrorGeneric:"Something went wrong reaching the mailbox. Check your connection and try again.",loadRetry:"Try again",loadMore:"Load more",attachmentBadge:"Has attachment",unreadBadge:"Unread",refresh:"Refresh",scheduledTitle:"Scheduled",bulk:{selected:"{count} selected",read:"Mark read",unread:"Mark unread",star:"Star",archive:"Archive",spam:"Spam",trash:"Delete",deleteForever:"Delete forever",deleteForeverConfirm:"Permanently delete {count} messages? This can't be undone.",movedToTrash:"Moved to Trash.",clear:"Clear selection",partialFailure:"Some messages couldn't be updated."},rowActions:"Message actions"},notifications:{fallbackTitle:"New mail",enable:"Turn on notifications",disable:"Turn off notifications",enabled:"You'll get a notification on this device when new mail arrives.",disabled:"Notifications turned off for this device.",denied:"Notifications are blocked for this site in the browser settings.",unsupported:"This browser doesn't support notifications. On iPhone, install the app to the home screen first.",failed:"Couldn't enable notifications. Please try again."},scheduled:{empty:"Nothing scheduled.",sendsAt:"Sends {when}",cancel:"Cancel send",edit:"Edit",cancelled:"Scheduled send cancelled.",failed:"This scheduled send failed. It was not delivered.",cancelFailed:"Couldn't cancel this scheduled send. Try again.",editFailed:"Couldn't cancel this scheduled send, so it stayed in the queue. Try again before editing it."},view:{threadCount:"{count} messages",editDraft:"Edit draft",star:"Star",unstar:"Remove star",backToList:"Back to messages",to:"To",cc:"Cc",showImages:"Show remote images",attachmentsTitle:"Attachments",downloadFailed:"Couldn't download the attachment. Please try again.",markRead:"Mark read",markUnread:"Mark unread",archive:"Archive",moveToSpam:"Move to Spam",notSpam:"Move to Inbox",trash:"Delete",deleteForever:"Delete forever",deleteForeverConfirm:"Permanently delete this message? This can't be undone.",movedToTrash:"Moved to Trash.",reply:"Reply",forward:"Forward",selectPrompt:"Select a message to read it here."},composer:{newMessage:"New message",replyTitle:"Reply",forwardTitle:"Forward",toLabel:"To",ccLabel:"Cc",addCc:"Add Cc",subjectLabel:"Subject",subjectPlaceholder:"Subject",recipientPlaceholder:"[email protected]",recipientInvalid:"Enter a valid email address.",bodyPlaceholder:"Write your messageâ¦",attach:"Attach files",attachTooLarge:"Attachments are limited to 8MB in total.",bccLabel:"Bcc",addBcc:"Add Bcc",draftSaving:"Savingâ¦",draftSaved:"Draft saved",schedule:"Schedule send",removeSchedule:"Remove schedule",scheduleConfirm:"Schedule",schedulePickDate:"Pick a date & time",scheduleTime:"Time",scheduled:"Send scheduled.",send:"Send",sending:"Sendingâ¦",sent:"Message sent.",sentUndoable:"Sendingâ¦",undo:"Undo",undone:"Send cancelled. Back to the draft.",undoTooLate:"Too late to undo - the message already left.",sendFailed:"Couldn't send the message. Try again.",sendNotConfigured:"Sending isn't configured for this inbox yet.",includeSignature:"Include signature",includeSignatureHint:"Appended when you send, not pasted into the editor (mail clients keep the card chrome).",signatureMissing:"No signature fields yet. Open Signature to set name and contacts, or leave this off.",discard:"Discard",bold:"Bold",italic:"Italic",underline:"Underline",strike:"Strikethrough",textColor:"Text color",clearColor:"Default color",customColor:"Custom color",highlight:"Highlight",customHighlight:"Custom highlight",clearHighlight:"No highlight",bulletList:"Bullet list",orderedList:"Numbered list",insertImage:"Insert image",linkPrompt:"Link URL",setLink:"Link",linkPlaceholder:"Paste or type a link",linkApply:"Apply",linkRemove:"Remove link",removeAttachment:"Remove {name}",sentBanner:"Message sent",scheduledBanner:"Send scheduled"},signature:{button:"Signature",title:"Email signature",description:"Branded block for Inbox sends and external mail clients. Edit fields here; Inbox appends on send. Copy from the preview to paste elsewhere.",previewLabel:"Preview",themeLabel:"Ap
2pearance",themeLight:"Light",themeDark:"Dark",linkDisplayLabel:"Link appearance",linkDisplayText:"Text",linkDisplayIcon:"Icon",steps:["Pick light or dark, then edit the fields (blank fields are omitted).","Inbox Compose appends this when Include signature is on. It is never pasted into the editor.","For an external client: copy from the preview â Settings â Signature, then save."],htmlSource:"HTML source",htmlFilename:"signature.html",copySignature:"Copy signature",copied:"Copied",emptyPreview:"Fill in the fields below. Blank fields are left out of the signature.",fields:{name:"Name",title:"Title",email:"Email",phone:"Phone",website:"Website",tagline:"Tagline",linkedin:"LinkedIn",discord:"Discord",github:"GitHub",instagram:"Instagram"},placeholders:{name:"Alex Morgan",title:"Partnerships",email:"[email protected]",phone:"+44 â¦",website:"https://â¦",tagline:"Optional: leave blank to hide",linkedin:"https://linkedin.com/in/â¦",discord:"https://discord.gg/â¦",github:"https://github.com/â¦",instagram:"https://instagram.com/â¦"}},connect:{button:"Connect mail app",title:"Connect your mail app",recommended:"Recommended",sectionMailApps:"Use your mail app",orDivider:"or",customInbox:"Continue with custom inbox",back:"All mail apps",setupTitle:"Set up {provider}",providers:{apple:{name:"Mail",tagline:"One-tap setup with a mail profile.",steps:["Download the mail profile.","Open Settings to activate it.","The mailbox appears in the Mail app."]},outlook:{name:"Outlook",tagline:"Add the mailbox via IMAP.",linkLabel:"Get Outlook",steps:["Show the mailbox settings.","In Outlook, add an account (IMAP).","Enter the address and password."]},gmail:{name:"Gmail",tagline:"Add the mailbox to the Gmail app.",linkLabel:"Get Gmail",steps:["Show the mailbox settings.","In Gmail, add another account: Other (IMAP).","Enter the address and password."]},other:{name:"Other",tagline:"Works with any IMAP mail app.",steps:["Show the mailbox settings.","Add an IMAP account in your app.","Enter the address and password."]}},download:"Download profile",downloaded:"Profile downloaded. Install it from Settings to finish.",downloadFailed:"Couldn't generate the profile. Please try again.",showSettings:"Show mailbox settings",settingsNote:"Viewing these is recorded in the connection log.",revealFailed:"Couldn't fetch the settings. Please try again.",serversTitle:"If your app asks for servers",addressLabel:"Email address",passwordLabel:"Password",imapLabel:"Incoming (IMAP)",smtpLabel:"Outgoing (SMTP)",sslNote:"SSL/TLS",qr:{title:"On your phone?",description:"Scan to open this page there and connect the device directly."},log:{title:"Connection log",empty:"No devices connected yet.",action:"Connected {connector}",expand:"Show activity for {name}"}},a11y:{folderNav:"Mail folders",closeFolderNav:"Close mail folders",messageList:"Messages",openMessage:"Open message from {sender}: {subject}",selectMessage:"Select conversation from {sender}",expandMessage:"Expand message from {sender}",collapseMessage:"Collapse message from {sender}",composerToolbar:"Text formatting",copyField:"Copy {field}",removeImage:"Remove image"}}},eK=[].map(e=>e.pathname),ej=[].map(e=>e.pathname),eH="offline-fallback-v2",e$=["offline-fallback-v1"],eG=[...eO,{matcher:/^https:\/\/(?:images\.unsplash\.com|i\.pravatar\.cc|api\.microlink\.io)\/.*$/i,handler:new ex({cacheName:"remote-images-v1",plugins:[new e_({maxEntries:120,maxAgeSeconds:2592e3})]})},{matcher:e=>{let{url:{pathname:t},sameOrigin:a}=e;return a&&"/_next/image"===t},handler:new ex({cacheName:eN,plugins:[new e_({maxEntries:512,maxAgeSeconds:2592e3})]})},...function(e){let t=new Set(e);return[{matcher:e=>{let{url:{pathname:a},sameOrigin:n}=e;return!n&&t.has(a)},method:"GET",handler:new H({cacheName:eA,networkTimeoutSeconds:3,plugins:[new e_({maxEntries:Math.max(16,4*t.size),maxAgeSeconds:604800})]})},{matcher:e=>{let{sameOrigin:t}=e;return!t},handler:new $}]}(eK),...function(e){let t=new Set(e);return[{matcher:e=>{let{url:{pathname:a},sameOrigin:n}=e;return n&&a.startsWith("/api/")&&t.has(a)},method:"GET",handler:new H({cacheName:eA,networkTimeoutSeconds:3,plugins:[new e_({maxEntries:Math.max(16,4*t.size),maxAgeSeconds:604800})]})},{matcher:e=>{let{url:{pathname:t},sameOrigin:a}=e;return a&&t.startsWith("/api/")},handler:new $}]}(ej),{matcher:e=>{let{url:t,sameOrigin:a}=e;return a&&t.pathname.startsWith("/motion/")},handler:async e=>{var t;let{request:a}=e;return null!=(t=await eB(a,caches))?t:fetch(a)}},...eE],eV=new eg({precacheEntries:[{'revision':'88955b95cffe16d98020bed7f7280eec','url':'/_next/static/0590b3e49f8c86e9bf36ee4fb5cbc9955941dd02/_buildManifest.js'},{'revision':'b6652df95db52feb4daf4eca35380933','url':'/_next/static/0590b3e49f8c86e9bf36ee4fb5cbc9955941dd02/_ssgManifest.js'},{'revision':null,'url':'/_next/static/chunks/0b60df10.dc5eb421c3a00a57.js'},{'revision':null,'url':'/_next/static/chunks/1029-e58a32f7784bc310.js'},{'revision':null,'url':'/_next/static/chunks/1043.d1f33fa3cff3009e.js'},{'revision':null,'url':'/_next/static/chunks/1059.6bd5c4b2014d5198.js'},{'revision':null,'url':'/_next/static/chunks/1081.7628a3a27722c011.js'},{'revision':null,'url':'/_next/static/chunks/1090.f02c8aa097f1d294.js'},{'revision':null,'url':'/_next/static/chunks/1092-b656214874c9452a.js'},{'revision':null,'url':'/_next/static/chunks/1101.cd050140fcd18f0f.js'},{'revision':null,'url':'/_next/static/chunks/1135-b5bb3e0da049f331.js'},{'revision':null,'url':'/_next/static/chunks/1241.6b031c908d573800.js'},{'revision':null,'url':'/_next/static/chunks/1270-1d6b02ad5b9d31ac.js'},{'revision':null,'url':'/_next/static/chunks/1356-7f9644ae43c1530c.js'},{'revision':null,'url':'/_next/static/chunks/1358.8980a1359ada63ff.js'},{'revision':null,'url':'/_next/static/chunks/136.9a9cdc7746b70bdc.js'},{'revision':null,'url':'/_next/static/chunks/1369.ae15feca6556e8e8.js'},{'revision':null,'url':'/_next/static/chunks/1412-f17e938e8b696509.js'},{'revision':null,'url':'/_next/static/chunks/1469.177b37e2af428bf4.js'},{'revision':null,'url':'/_next/static/chunks/1475.f80b17fbbf2ad41e.js'},{'revision':null,'url':'/_next/static/chunks/1488.5383fda1736267ce.js'},{'revision':null,'url':'/_next/static/chunks/1527-014d46f99c5243d1.js'},{'revision':null,'url':'/_next/static/chunks/1528-54fe12a4f801ef7d.js'},{'revision':null,'url':'/_next/static/chunks/1533-ff355d08ec05fd7b.js'},{'revision':null,'url':'/_next/static/chunks/1543-b780ac4f03d242fc.js'},{'revision':null,'url':'/_next/static/chunks/1560-83f3a44cdbd120b9.js'},{'revision':null,'url':'/_next/static/chunks/1563-a2540e9b0fa15d55.js'},{'revision':null,'url':'/_next/static/chunks/1600.3953ee43324930d0.js'},{'revision':null,'url':'/_next/static/chunks/1604.93c3578e36376498.js'},{'revision':null,'url':'/_next/static/chunks/1636.c4ecd81c4f088658.js'},{'revision':null,'url':'/_next/static/chunks/1650.7f6399c8ba8d8a60.js'},{'revision':null,'url':'/_next/static/chunks/1711-768403218af8399c.js'},{'revision':null,'url':'/_next/static/chunks/1719.e386902903e8ee2c.js'},{'revision':null,'url':'/_next/static/chunks/1765.d440566e6d8c38be.js'},{'revision':null,'url':'/_next/static/chunks/1838.4586f4a12290e8e1.js'},{'revision':null,'url':'/_next/static/chunks/1865-0deb28794868addb.js'},{'revision':null,'url':'/_next/static/chunks/1866.b332593509df4d4e.js'},{'revision':null,'url':'/_next/static/chunks/1917.2e79c7ed610e8143.js'},{'revision':null,'url':'/_next/static/chunks/1918-35f412fbe23f8b77.js'},{'revision':null,'url':'/_next/static/chunks/1940-a53e83a441928ef2.js'},{'revision':null,'url':'/_next/static/chunks/1942.a385ee635348daa6.js'},{'revision':null,'url':'/_next/static/chunks/1957-5b493e63afc6c947.js'},{'revision':null,'url':'/_next/static/chunks/1990.bb4a69cc2bc83a73.js'},{'revision':null,'url':'/_next/static/chunks/1b5dcc53.d3a737bed6d550f3.js'},{'revision':null,'url':'/_next/static/chunks/201.b2610e8da6fa4129.js'},{'revision':null,'url':'/_next/static/chunks/2062.0397ec0e8d4872bb.js'},{'revision':null,'url':'/_next/static/chunks/2069-100789d091bfa72c.js'},{'revision':null,'url':'/_next/static/chunks/2070.0f5bfa01fb52bbc0.js'},{'revision':null,'url':'/_next/static/chunks/2075.8c264100be150c63.js'},{'revision':null,'url':'/_next/static/chunks/2124.60da09d0f9765c7b.js'},{'revision':null,'url':'/_next/static/chunks/2144.99dc4e1fd9a68049.js'},{'revision':null,'url':'/_next/static/chunks/2167.9dc8807e4965f4a2.js'},{'revision':null,'url':'/_next/static/chunks/2210-2f880596126f0a5b.js'},{'revision':null,'url':'/_next/static/chunks/232.36976decb60cf884.js'},{'revision':null,'url':'/_next/static/chunks/2328-e66d045518e7069d.js'},{'revision':null,'url':'/_next/static/chunks/2333.5f135992d1039bae.js'},{'revision':null,'url':'/_next/static/chunks/2390.0e01e0a22867f73f.js'},{'revision':null,'url':'/_next/static/chunks/2405.bf599ae939a56abc.js'},{'revision':null,'url':'/_next/static/chunks/2415.4f6cc952d4d1e32f.js'},{'revision':null,'url':'/_next/static/chunks/2455-823f0ee294a391f5.js'},{'revision':null,'url':'/_next/static/chunks/250.f8cc18ef87a5c2d5.js'},{'revision':null,'url':'/_next/static/chunks/2544-6f4f73efe624871f.js'},{'revision':null,'url':'/_next/static/chunks/258-928c487fc05ab5d0.js'},{'revision':null,'url':'/_next/static/chunks/2682.1599e397248b1c8e.js'},{'revision':null,'url':'/_next/static/chunks/2709.3ec235691b3ac685.js'},{'revision':null,'url':'/_next/static/chunks/2734-8ae118d9169c0977.js'},{'revision':null,'url':'/_next/static/chunks/290-71a4bc447e140fff.js'},{'revision':null,'url':'/_next/static/chunks/2904-70b4a09ae3d1b22d.js'},{'revision':null,'url':'/_next/static/chunks/2987.b6e4f44849a448c1.js'},{'revision':null,'url':'/_next/static/chunks/2996.330c39119eeaea50.js'},{'revision':null,'url':'/_next/static/chunks/3008.da6ae989432269ff.js'},{'revision':null,'url':'/_next/static/chunks/3028.0491eb8932280c90.js'},{'revision':null,'url':'/_next/static/chunks/3037-bc83434f0d67246d.js'},{'revision':null,'url':'/_next/static/chunks/3038.26b0557b349ef074.js'},{'revision':null,'url':'/_next/static/chunks/30a37ab2-fc5db4878383af75.js'},{'revision':null,'url':'/_next/static/chunks/3183-f71342bf62a3822f.js'},{'revision':null,'url':'/_next/static/chunks/3219-7b3368ace7337d5e.js'},{'revision':null,'url':'/_next/static/chunks/3243.8ec30628a6d9ae75.js'},{'revision':null,'url':'/_next/static/chunks/3248-4fb2b0573a193118.js'},{'revision':null,'url':'/_next/static/chunks/330-0a64e3ba14f4eac8.js'},{'revision':null,'url':'/_next/static/chunks/3381.32e5cc0c59a932ff.js'},{'revision':null,'url':'/_next/static/chunks/3408.b43da3c11691a5cf.js'},{'revision':null,'url':'/_next/static/chunks/3434-5c3c161cc53131be.js'},{'revision':null,'url':'/_next/static/chunks/3482-20f38a237a02153d.js'},{'revision':null,'url':'/_next/static/chunks/3580-817511bd729e6c8d.js'},{'revision':null,'url':'/_next/static/chunks/3632-f2db18802a5d4454.js'},{'revision':null,'url':'/_next/static/chunks/3769.c69fbebd8be9a013.js'},{'revision':null,'url':'/_next/static/chunks/3773.6c19e473bef9e016.js'},{'revision':null,'url':'/_next/static/chunks/3800.66be30f619374128.js'},{'revision':null,'url':'/_next/static/chunks/3812-3da0f23da5afdc1e.js'},{'revision':null,'url':'/_next/static/chunks/3818.256d3b4601ea99ba.js'},{'revision':null,'url':'/_next/static/chunks/3891.ade99046458e0cf7.js'},{'revision':null,'url':'/_next/static/chunks/3900.57884774098183f9.js'},{'revision':null,'url':'/_next/static/chunks/3910.c164b1e7c0b9004c.js'},{'revision':null,'url':'/_next/static/chunks/3914.3af606b417222409.js'},{'revision':null,'url':'/_next/static/chunks/3917.402b221418a90271.js'},{'revision':null,'url':'/_next/static/chunks/3920-dbbc78e42a577fa7.js'},{'revision':null,'url':'/_next/static/chunks/3947.71de184dcb1af23a.js'},{'revision':null,'url':'/_next/static/chunks/3960-f8b495a6088f0865.js'},{'revision':null,'url':'/_next/static/chunks/3973.f61d3bafaa817bff.js'},{'revision':null,'url':'/_next/static/chunks/4053.b41665cd55aa6619.js'},{'revision':null,'url':'/_next/static/chunks/4070.220f52b5127246c2.js'},{'revision':null,'url':'/_next/static/chunks/4074.a8b6c0e481838102.js'},{'revision':null,'url':'/_next/static/chunks/4105.32be173b6c4a9675.js'},{'revision':null,'url':'/_next/static/chunks/414.30dc7f5413d36287.js'},{'revision':null,'url':'/_next/static/chunks/4174-6b28d3b9861c2f28.js'},{'revision':null,'url':'/_next/static/chunks/4203.0d4f99b0b9851507.js'},{'revision':null,'url':'/_next/static/chunks/4286-4ba34575e895bbd4.js'},{'revision':null,'url':'/_next/static/chunks/4336.76d8971906736d96.js'},{'revision':null,'url':'/_next/static/chunks/4358.63199d6c0c553a00.js'},{'revision':null,'url':'/_next/static/chunks/4424.58021bd644696bae.js'},{'revision':null,'url':'/_next/static/chunks/4438-b5dada58aea712f7.js'},{'revision':null,'url':'/_next/static/chunks/4440.c650957311ce4c5e.js'},{'revision':null,'url':'/_next/static/chunks/4473-3e502f052f2d369f.js'},{'revision':null,'url':'/_next/static/chunks/4530.5ec1da9ce119d03f.js'},{'revision':null,'url':'/_next/static/chunks/455.1f833aadc8dca709.js'},{'revision':null,'url':'/_next/static/chunks/456-338e031007970926.js'},{'revision':null,'url':'/_next/static/chunks/4753.2bc2f3f20f1dc82b.js'},{'revision':null,'url':'/_next/static/chunks/4768.e2d72618627e3bd5.js'},{'revision':null,'url':'/_next/static/chunks/4787.f978d94cffa89e64.js'},{'revision':null,'url':'/_next/static/chunks/4820.6bc756be83f7fbae.js'},{'revision':null,'url':'/_next/static/chunks/484-a7688aec9dd6c95c.js'},{'revision':null,'url':'/_next/static/chunks/4840.46abff303a19d905.js'},{'revision':null,'url':'/_next/static/chunks/4894.74fb549f3e11c306.js'},{'revision':null,'url':'/_next/static/chunks/4905.7687750de1cf1787.js'},{'revision':null,'url':'/_next/static/chunks/4909-8a317bb9c22a6cbe.js'},{'revision':null,'url':'/_next/static/chunks/492.f4c2cb9643e2ee50.js'},{'revision':null,'url':'/_next/static/chunks/4932-7c2da81cedec513b.js'},{'revision':null,'url':'/_next/static/chunks/4934.f0f1c1cecc54bbd6.js'},{'revision':null,'url':'/_next/static/chunks/4968-f280ba499d064cab.js'},{'revision':null,'url':'/_next/static/chunks/4bd1b696-e314c71de94b9e53.js'},{'revision':null,'url':'/_next/static/chunks/5099-ecb82b4177e93241.js'},{'revision':null,'url':'/_next/static/chunks/5112.ba78cd3a5d3658a6.js'},{'revision':null,'url':'/_next/static/chunks/5116.a6e83a067b97893d.js'},{'revision':null,'url':'/_next/static/chunks/5118.d16457ecd2ccd255.js'},{'revision':null,'url':'/_next/static/chunks/5128.619ccec7842fdd25.js'},{'revision':null,'url':'/_next/static/chunks/518.19ca87706c6a884c.js'},{'revision':null,'url':'/_next/static/chunks/5212.954405994206ca6b.js'},{'revision':null,'url':'/_next/static/chunks/5377.91b962517c43b447.js'},{'revision':null,'url':'/_next/static/chunks/53c13509-7ecdc64700bee679.js'},{'revision':null,'url':'/_next/static/chunks/5433-6d86d84629f3a43a.js'},{'revision':null,'url':'/_next/static/chunks/5460.eeea0cc64e741933.js'},{'revision':null,'url':'/_next/static/chunks/54a60aa6-56e144c1e06a1623.js'},{'revision':null,'url':'/_next/static/chunks/5549-cf496b7fdef96395.js'},{'revision':null,'url':'/_next/static/chunks/5587.3be6a4ddfa88507c.js'},{'revision':null,'url':'/_next/static/chunks/5594.1076318114c3a78a.js'},{'revision':null,'url':'/_next/static/chunks/5630.4c5f59b884e7c4a9.js'}
2,{'revision':null,'url':'/_next/static/chunks/5639.3eaeffd598cb77bb.js'},{'revision':null,'url':'/_next/static/chunks/5642-0bb8557863c6dd7e.js'},{'revision':null,'url':'/_next/static/chunks/5687.14631985b5c7b82b.js'},{'revision':null,'url':'/_next/static/chunks/5743.9470f6cfc9a9193d.js'},{'revision':null,'url':'/_next/static/chunks/5769.aa744bc8f9688ee3.js'},{'revision':null,'url':'/_next/static/chunks/5782-b230b568026c54b2.js'},{'revision':null,'url':'/_next/static/chunks/5813.7b1d7c41b3ed3ee1.js'},{'revision':null,'url':'/_next/static/chunks/5814-4e4900662696f18d.js'},{'revision':null,'url':'/_next/static/chunks/5841-bca437eba5982c13.js'},{'revision':null,'url':'/_next/static/chunks/5940.8df43839269b74b8.js'},{'revision':null,'url':'/_next/static/chunks/5e22fd23-10a439505ce2a5b6.js'},{'revision':null,'url':'/_next/static/chunks/6099.ef29a49280c9001e.js'},{'revision':null,'url':'/_next/static/chunks/6133a99e.133948263e8d22c2.js'},{'revision':null,'url':'/_next/static/chunks/6201-34424a76c7acd338.js'},{'revision':null,'url':'/_next/static/chunks/6214-c588eb108599d843.js'},{'revision':null,'url':'/_next/static/chunks/6215.b8d444fe5912f710.js'},{'revision':null,'url':'/_next/static/chunks/6238-e27ce23b20ca9c10.js'},{'revision':null,'url':'/_next/static/chunks/6260-46d68184bd71f437.js'},{'revision':null,'url':'/_next/static/chunks/6293-afc41327875f729f.js'},{'revision':null,'url':'/_next/static/chunks/6299-cd5ff9d84612b763.js'},{'revision':null,'url':'/_next/static/chunks/6347-aabd3e455be905b4.js'},{'revision':null,'url':'/_next/static/chunks/6389.87270646e4004fd3.js'},{'revision':null,'url':'/_next/static/chunks/6399.68068cf87ae6a1d7.js'},{'revision':null,'url':'/_next/static/chunks/642.16fa506d96a6f2c6.js'},{'revision':null,'url':'/_next/static/chunks/6434-014d0ea67b02a07c.js'},{'revision':null,'url':'/_next/static/chunks/6452.163cf8d40f17111e.js'},{'revision':null,'url':'/_next/static/chunks/6455-9686832e4b3a8ce8.js'},{'revision':null,'url':'/_next/static/chunks/6477-7cc44bff0ad49007.js'},{'revision':null,'url':'/_next/static/chunks/6490.b8b052c0fb401642.js'},{'revision':null,'url':'/_next/static/chunks/6555-e5c6900c7263d181.js'},{'revision':null,'url':'/_next/static/chunks/6579.a44f7e1d5bb1a1d6.js'},{'revision':null,'url':'/_next/static/chunks/660-f72fdeb5307d836b.js'},{'revision':null,'url':'/_next/static/chunks/6659-b48aecec54e04330.js'},{'revision':null,'url':'/_next/static/chunks/6703-200eadc097f439f5.js'},{'revision':null,'url':'/_next/static/chunks/6730.32d4fe1d164bb2da.js'},{'revision':null,'url':'/_next/static/chunks/675.e2d5d587351b40db.js'},{'revision':null,'url':'/_next/static/chunks/678.b014f995a9212677.js'},{'revision':null,'url':'/_next/static/chunks/6814-d21b2b30ac834bd6.js'},{'revision':null,'url':'/_next/static/chunks/6851.2087a2295067024d.js'},{'revision':null,'url':'/_next/static/chunks/6864.58c5f8b912d0a669.js'},{'revision':null,'url':'/_next/static/chunks/6961-54f5e64f0fdcf0fc.js'},{'revision':null,'url':'/_next/static/chunks/6988.e8ec34701ae95c5d.js'},{'revision':null,'url':'/_next/static/chunks/6989-f49da7f56fcdd37a.js'},{'revision':null,'url':'/_next/static/chunks/7032.9723e86c2b886ff6.js'},{'revision':null,'url':'/_next/static/chunks/70e0d97a-df4a00647e27f917.js'},{'revision':null,'url':'/_next/static/chunks/7116-e42d3a1a41501d73.js'},{'revision':null,'url':'/_next/static/chunks/7151-590784a512e4f66b.js'},{'revision':null,'url':'/_next/static/chunks/7172-c7b6fbe08e6ae351.js'},{'revision':null,'url':'/_next/static/chunks/7221-11f86160a3b77a0d.js'},{'revision':null,'url':'/_next/static/chunks/7235.30b06778d122a35b.js'},{'revision':null,'url':'/_next/static/chunks/7240.66127af5cf6103fa.js'},{'revision':null,'url':'/_next/static/chunks/7258-3c7bda7297d28384.js'},{'revision':null,'url':'/_next/static/chunks/7331-55a39b3ae106f7a8.js'},{'revision':null,'url':'/_next/static/chunks/7348-c4442a80e62eb3dc.js'},{'revision':null,'url':'/_next/static/chunks/7352.d053cbd973785b47.js'},{'revision':null,'url':'/_next/static/chunks/7359.486bca6253a2e89e.js'},{'revision':null,'url':'/_next/static/chunks/7374.71908afeabb7b12f.js'},{'revision':null,'url':'/_next/static/chunks/7458-c9ab95e2e1c0df42.js'},{'revision':null,'url':'/_next/static/chunks/7485.6e068e9b8964911a.js'},{'revision':null,'url':'/_next/static/chunks/7501-fcdaf9c35c71f6f4.js'},{'revision':null,'url':'/_next/static/chunks/7542-62d49db9b070ad85.js'},{'revision':null,'url':'/_next/static/chunks/7559-4df22d7254d17728.js'},{'revision':null,'url':'/_next/static/chunks/7618-01d8de3600c4e68d.js'},{'revision':null,'url':'/_next/static/chunks/7637-07b239c0d7ab5faa.js'},{'revision':null,'url':'/_next/static/chunks/765-2769b3e9ca374fb6.js'},{'revision':null,'url':'/_next/static/chunks/7664-76f36a0ce89019f0.js'},{'revision':null,'url':'/_next/static/chunks/7692-b1d0152d69ea5685.js'},{'revision':null,'url':'/_next/static/chunks/7710-3e8da24a2987c9d0.js'},{'revision':null,'url':'/_next/static/chunks/7756.4cd67c2d40078bb8.js'},{'revision':null,'url':'/_next/static/chunks/7758.50005e970de4d9bf.js'},{'revision':null,'url':'/_next/static/chunks/78.ee8b957e98db2c1c.js'},{'revision':null,'url':'/_next/static/chunks/7817.1288e8d1dc3a395f.js'},{'revision':null,'url':'/_next/static/chunks/7856-337216f3b5b27859.js'},{'revision':null,'url':'/_next/static/chunks/7900.5a13a02601d0ffdd.js'},{'revision':null,'url':'/_next/static/chunks/7938-88b4452e949c0140.js'},{'revision':null,'url':'/_next/static/chunks/7962-a75966a084903140.js'},{'revision':null,'url':'/_next/static/chunks/8067.171277411ff8697b.js'},{'revision':null,'url':'/_next/static/chunks/810-1357cf0656d0ac95.js'},{'revision':null,'url':'/_next/static/chunks/8114.2f7bdb0734594a0c.js'},{'revision':null,'url':'/_next/static/chunks/8169.1f3aa733f8dede06.js'},{'revision':null,'url':'/_next/static/chunks/8188.132c33198a7de83f.js'},{'revision':null,'url':'/_next/static/chunks/8270.9190fdf198ca5e5a.js'},{'revision':null,'url':'/_next/static/chunks/8282-7eec57a5d6d26c75.js'},{'revision':null,'url':'/_next/static/chunks/8341.0581dd999a0331e2.js'},{'revision':null,'url':'/_next/static/chunks/8364-cf46d211605d4f40.js'},{'revision':null,'url':'/_next/static/chunks/8490-5b00a25016f791f7.js'},{'revision':null,'url':'/_next/static/chunks/8583-8bc985f35034d56b.js'},{'revision':null,'url':'/_next/static/chunks/8613.993cc2181d7f79d3.js'},{'revision':null,'url':'/_next/static/chunks/8637-0d9cf1b452507444.js'},{'revision':null,'url':'/_next/static/chunks/8732-ea5beb9315712478.js'},{'revision':null,'url':'/_next/static/chunks/8794.53990cbf25e73294.js'},{'revision':null,'url':'/_next/static/chunks/8795.4f910498c0f4fdff.js'},{'revision':null,'url':'/_next/static/chunks/8806.287f20564bdac8f1.js'},{'revision':null,'url':'/_next/static/chunks/8846-f174f14e7fb9ca8f.js'},{'revision':null,'url':'/_next/static/chunks/8848.5ce1fd2186b0905b.js'},{'revision':null,'url':'/_next/static/chunks/8874-da235b9b696c1897.js'},{'revision':null,'url':'/_next/static/chunks/8908.5575c4e0f56afb1d.js'},{'revision':null,'url':'/_next/static/chunks/896-22a71384f7caaa0d.js'},{'revision':null,'url':'/_next/static/chunks/8cc6faea.a1152f4fc1b109b0.js'},{'revision':null,'url':'/_next/static/chunks/9021.0f6b1d4f5865b2cd.js'},{'revision':null,'url':'/_next/static/chunks/9023.235cca0d00868bba.js'},{'revision':null,'url':'/_next/static/chunks/9138.47e4d7f56b1b5781.js'},{'revision':null,'url':'/_next/static/chunks/916.161dab36b715bdc7.js'},{'revision':null,'url':'/_next/static/chunks/919.a1ff7d970a515765.js'},{'revision':null,'url':'/_next/static/chunks/9222.ccafc6cfa6561806.js'},{'revision':null,'url':'/_next/static/chunks/9223-22cc113cafebb070.js'},{'revision':null,'url':'/_next/static/chunks/9226.a95f75fd01a9f17b.js'},{'revision':null,'url':'/_next/static/chunks/9232.3714a0abddbfbefc.js'},{'revision':null,'url':'/_next/static/chunks/9237.3ccc450110f1ff0a.js'},{'revision':null,'url':'/_next/static/chunks/9243.6cce6d795e3adcfe.js'},{'revision':null,'url':'/_next/static/chunks/9261.e451fc6b0688bd26.js'},{'revision':null,'url':'/_next/static/chunks/9342-16a941e564432590.js'},{'revision':null,'url':'/_next/static/chunks/9399-743b7160c9100
258e.js'},{'revision':null,'url':'/_next/static/chunks/9421.4b05ff680211b089.js'},{'revision':null,'url':'/_next/static/chunks/9425.f1a3723573a13415.js'},{'revision':null,'url':'/_next/static/chunks/9457-30e7f2eaef273b45.js'},{'revision':null,'url':'/_next/static/chunks/9490.9c8d6f424870eaa6.js'},{'revision':null,'url':'/_next/static/chunks/9518.52011827b39b81b3.js'},{'revision':null,'url':'/_next/static/chunks/952-a7865040c1fab12d.js'},{'revision':null,'url':'/_next/static/chunks/9564-0935ae02a8743790.js'},{'revision':null,'url':'/_next/static/chunks/9571-3b11a89834198b64.js'},{'revision':null,'url':'/_next/static/chunks/9630.78e29b262fd00b53.js'},{'revision':null,'url':'/_next/static/chunks/9653.a5b1b4051905d733.js'},{'revision':null,'url':'/_next/static/chunks/9662.227e7e331c9609c1.js'},{'revision':null,'url':'/_next/static/chunks/9790-4fdf8d61cc81eddb.js'},{'revision':null,'url':'/_next/static/chunks/9851.d62ee928eefea356.js'},{'revision':null,'url':'/_next/static/chunks/9940.99b2c5caa590f021.js'},{'revision':null,'url':'/_next/static/chunks/a0e187c9.0ab8043aef1554c8.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(auth)/layout-b255de55686a41b1.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(auth)/login/page-03a7e8290a1a81f3.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(auth)/oauth/success/page-3438877a25aceeb0.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(auth)/signup/page-98d97ee2f1bec30b.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(auth)/verify/page-03f9af35c01599bf.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(legal)/privacy-policy/page-4a0ce5d570191195.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(legal)/terms-of-service/page-3817cb7c6413def1.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(protected)/dashboard/page-ef193ab73008a28e.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/(protected)/layout-ea96e0bb4581f994.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/blog/%5Bslug%5D/layout-f1fd26cfa4d34405.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/blog/%5Bslug%5D/page-8cffcce1a373f087.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/blog/page-bd1502cecb208705.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/checkout/cancel/page-34ca61aa9929d08a.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/checkout/success/page-7a3404f2e0eaa4bc.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/contact/page-64ead71a3d7d9b74.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/links/%5Bkey%5D/page-47be87e6204281df.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/logo-animation-capture/page-1ac36a6b78e5c5ea.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/motion-lab/example/tape-recorder/page-266e32f2b7203220.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/motion-lab/experience/page-b8d5857295ae08e9.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/motion-lab/objects/recorder/capture/page-6ba39c544a72df4d.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/motion-lab/page-55ab07783faa1625.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/offline/page-6838d182175dad74.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/page-29e542c412e9004b.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/team/page-68a9def91d71aa71.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/ui-library/page-ec574e8abfb5ca97.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/unsubscribe/page-a7e6ec202b9e9be1.js'},{'revision':null,'url':'/_next/static/chunks/app/(platform)/welcome/page-04960a7122625260.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(brand-assets)/brand-kit/page-b25f8e297320bc0b.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(brand-assets)/layout-29b9cb3d911788b7.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(inbox-read)/inbox/page-05a0c8386399ec9d.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(inbox-read)/layout-c3af97518eb88ac6.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(internal-tools)/layout-4026b1b076a0724d.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(internal-tools)/learn-blocks/page-79d3ed79acb53d63.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(internal-tools)/learn-images/page-be2329996920d49a.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(internal-tools)/learn-review/%5Bcourse%5D/%5Blesson%5D/page-a379a3dd50cda990.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(internal-tools)/learn-widgets/page-52bea02826a128cd.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(internal-tools)/sample-transactional-emails/page-4c72bbd9adec8970.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(links-manage)/layout-dbd82b6a6a4047d2.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/(links-manage)/links/page-3e3b583c8c994b0e.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/layout-407a30d8028e6b73.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/learn/%5Bcourse%5D/%5Blesson%5D/page-12009e8d74e4ac22.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/learn/%5Bcourse%5D/page-6a770ae33f1eeacf.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/learn/layout-7aa75bf661e0b629.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/learn/page-2c9538550ad3ec1c.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/sponsorship/%5Bcompany%5D/page-002f8816b1b7f1a2.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/(protected)/sponsorship/page-c4c2c26ce7ec9311.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/api/yahoo-finance/route-ff5a8da9bc0879ad.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/cv/page-8ba00f7d9ee1d126.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/events/%5Bslug%5D/layout-e1e05016b8d7022c.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/events/%5Bslug%5D/page-1b24dedf1f98953a.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/games/%5Bslug%5D/page-c20413446631a33e.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/games/%5Bslug%5D/play/layout-35bf3e1f7151b70e.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/games/%5Bslug%5D/play/page-4a3772b440d358dd.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/games/layout-6e1a7ade0c470775.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/games/page-d155aff2a3198a9d.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/interview-questions/page-ad31f09432748551.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/learn-preview/%5Bcourse%5D/%5Blesson%5D/page-df6c2d701dec9ab1.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/learn-preview/layout-7f250c7585b60a7b.js'},{'revision':null,'url':'/_next/static/chunks/app/(product)/learn-preview/page-d9d755468d9386aa.js'},{'revision':null,'url':'/_next/static/chunks/app/_not-found/page-f9a5d119b3d197b0.js'},{'revision':null,'url':'/_next/static/chunks/app/global-error-3775dd8638929ed2.js'},{'revision':null,'url':'/_next/static/chunks/app/layout-ebcfa9466ff95995.js'},{'revision':null,'url':'/_next/static/chunks/app/manifest.webmanifest/route-5d7c89f539651933.js'},{'revision':null,'url':'/_next/static/chunks/app/robots.txt/route-806f995ec795784c.js'},{'revision':null,'url':'/_next/static/chunks/app/sitemap.xml/route-cdb88abb4713f7af.js'},{'revision':null,'url':'/_next/static/chunks/b536a0f1-c744cdcc01e04141.js'},{'revision':null,'url':'/_next/static/chunks/b79b7286-d0bdd28d2b5bd9f1.js'},{'revision':null,'url':'/_next/static/chunks/c15bf2b0-0838a6a966f46a5d.js'},{'revision':null,'url':'/_next/static/chunks/c6a54c64-f53bfa90d181828d.js'},{'revision':null,'url':'/_next/static/chunks/d3ac728e-394d4126088a2701.js'},{'revision':null,'url':'/_next/static/chunks/d648eb28.2041bd924e9f540e.js'},{'revision':null,'url':'/_next/static/chunks/f7333993-d54255636cf526af.js'},{'revision':null,'url':'/_next/static/chunks/fc2f6fa8-68b8f37a7e49d408.js'},{'revision':null,'url':'/_next/static/chunks/framework-e0082436dfdc054b.js'},{'revision':null,'url':'/_next/static/chunks/main-a8fdf0192f6d80ba.js'},{'revision':null,'url':'/_next/static/chunks/main-app-8b717a368a2ec8e9.js'},{'revision':null,'url':'/_next/static/chunks/motion-images.b330919abca949eb.js'},{'revision':null,'url':'/_next/static/chunks/pages/_app-80be15ffebd70a1c.js'},{'revision':null,'url':'/_next/static/chunks/pages/_error-643a698623d31499.js'},{'revision':'846118c33b2c0e922d7b3a7676f81f6f','url':'/_next/static/chunks/polyfills-42372ed130431b0a.js'},{'revision':null,'url':'/_next/static/chunks/webpack-a9c084a02e1ac0a6.js'},{'revision':null,'url':'/_next/static/css/10f4006b0381cabc.css'},{'revision':null,'url':'/_next/static/css/134d6bb15846fffe.css'},{'revision':null,'url':'/_next/static/css/169d60688a2396c1.css'},{'revision':null,'url':'/_next/static/css/16fb278851346b37.css'},{'revision':null,'url':'/_next/static/css/3102e5ee740d714e.css'},{'revision':null,'url':'/_next/static/css/33a4fbc1035f51f4.css'},{'revision':null,'url':'/_next/static/css/3ed104c05a04098c.css'},{'revision':null,'url':'/_next/static/css/4594c2eb593147eb.css'},{'revision':null,'url':'/_next/static/css/59069219dc295df3.css'},{'revision':null,'url':'/_next/static/css/6b0f3ccdb30208bc.css'},{'revision':null,'url':'/_next/static/css/6b432982d92be7c4.css'},{'revision':null,'url':'/_next/static/css/746497a4c01d423c.css'},{'revision':null,'url':'/_next/static/css/76c8c688d39dab2d.css'},{'revision':null,'url':'/_next/static/css/7eeab523b8482364.css'},{'revision':null,'url':'/_next/static/css/827658ac991ae42e.css'},{'revision':null,'url':'/_next/static/css/890059bfe310c630.css'},{'revision':null,'url':'/_next/static/css/90cb991384b1c9cd.css'},{'revision':null,'url':'/_next/static/css/96317dc060bf527e.css'},{'revision':null,'url':'/_next/static/css/96fa9182feb7ff2b.css'}
2,{'revision':null,'url':'/_next/static/css/a3e927adaf45c530.css'},{'revision':null,'url':'/_next/static/css/a5eee8523f9c316a.css'},{'revision':null,'url':'/_next/static/css/ab1c1a6a8037cd37.css'},{'revision':null,'url':'/_next/static/css/ab2ff55383e44278.css'},{'revision':null,'url':'/_next/static/css/ba27ff427d544c7e.css'},{'revision':null,'url':'/_next/static/css/bf00b814f797d189.css'},{'revision':null,'url':'/_next/static/css/c5e2132ec2732bc3.css'},{'revision':null,'url':'/_next/static/css/d2eea973406b2944.css'},{'revision':null,'url':'/_next/static/css/e414620946d9281e.css'},{'revision':null,'url':'/_next/static/css/ef674a0abcead885.css'},{'revision':null,'url':'/_next/static/css/f568ce3967da9520.css'},{'revision':null,'url':'/_next/static/css/f5ea0e07f1da54cb.css'},{'revision':null,'url':'/_next/static/css/f7b086d117daf3c6.css'},{'revision':null,'url':'/_next/static/css/f9670aaa0217fa39.css'},{'revision':null,'url':'/_next/static/css/fe6665aa3a78df10.css'},{'revision':'9dda5cfc9a46f256d0e131bb535e46f8','url':'/_next/static/media/19cfc7226ec3afaa-s.woff2'},{'revision':'4e2553027f1d60eff32898367dd4d541','url':'/_next/static/media/21350d82a1f187e9-s.woff2'},{'revision':'01ba6c2a184b8cba08b0d57167664d75','url':'/_next/static/media/8e9860b6e62d6359-s.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_AMS-Regular.1608a09b.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_AMS-Regular.4aafdb68.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_AMS-Regular.a79f1c31.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Caligraphic-Bold.b6770918.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Caligraphic-Bold.cce5b8ec.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Caligraphic-Bold.ec17d132.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Caligraphic-Regular.07ef19e7.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Caligraphic-Regular.55fac258.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Caligraphic-Regular.dad44a7f.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Fraktur-Bold.9f256b85.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Fraktur-Bold.b18f59e1.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Fraktur-Bold.d42a5579.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Fraktur-Regular.7c187121.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Fraktur-Regular.d3c882a6.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Fraktur-Regular.ed38e79f.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Bold.b74a1a8b.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Bold.c3fb5ac2.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Bold.d181c465.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-BoldItalic.6f2bb1df.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-BoldItalic.70d8b0a5.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-BoldItalic.e3f82f9d.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Italic.47373d1e.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Italic.8916142b.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Italic.9024d815.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Regular.0462f03b.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Regular.7f51fe03.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Main-Regular.b7f8fe9b.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Math-BoldItalic.572d331f.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Math-BoldItalic.a879cf83.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Math-BoldItalic.f1035d8d.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Math-Italic.5295ba48.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Math-Italic.939bc644.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Math-Italic.f28c23ac.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Bold.8c5b5494.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Bold.94e1e8dc.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Bold.bf59d231.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Italic.3b1e59b3.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Italic.7c9bc82b.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Italic.b4c20c84.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Regular.74048478.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Regular.ba21ed5f.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_SansSerif-Regular.d4d7ba48.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Script-Regular.03e9641d.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Script-Regular.07505710.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Script-Regular.fe9cbbe1.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Size1-Regular.e1e279cb.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Size1-Regular.eae34984.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Size1-Regular.fabc004a.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Size2-Regular.57727022.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Size2-Regular.5916a24f.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Size2-Regular.d6b476ec.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Size3-Regular.9acaf01c.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Size3-Regular.a144ef58.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Size3-Regular.b4230e7e.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Size4-Regular.10d95fd3.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Size4-Regular.7a996c9d.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Size4-Regular.fbccdabe.ttf'},{'revision':null,'url':'/_next/static/media/KaTeX_Typewriter-Regular.6258592b.woff'},{'revision':null,'url':'/_next/static/media/KaTeX_Typewriter-Regular.a8709e36.woff2'},{'revision':null,'url':'/_next/static/media/KaTeX_Typewriter-Regular.d97aaf4a.ttf'},{'revision':'9e494903d6b0ffec1a1e14d34427d44d','url':'/_next/static/media/ba9851c3c22cd980-s.woff2'},{'revision':'027a89e9ab733a145db70f09b8a18b42','url':'/_next/static/media/c5fe6dc8356a8c31-s.woff2'},{'revision':'d54db44de5ccb18886ece2fda72bdfe0','url':'/_next/static/media/df0a9ae256c0569c-s.woff2'},{'revision':'65850a373e258f1c897a2b3d75eb74de','url':'/_next/static/media/e4af272ccee01ff0-s.p.woff2'},{'revision':'5ba05b9e7fcab7972ed1de6d3bc144be','url':'/_next/static/media/intrinsic-value.22d33164.png'},{'revision':'aa5fe44b62fe26a051480a5b90c32e1d','url':'/_next/static/media/investopedia-quantitative-trading.12cae0fd.png'},{'revision':'d8c23cafbc46247523cf7205f8aa9564','url':'/_next/static/media/thumbnail.066e3207.jpg'},{'revision':'4c841194e469e797ca998cbf42662f4c','url':'/_next/static/media/thumbnail.21682372.jpg'},{'revision':'230b5467b7baea6b052fc2fd80bbd360','url':'/_next/static/media/thumbnail.29788358.jpg'},{'revision':'2a87826a76ce66d292ae34e356cb859f','url':'/_next/static/media/thumbnail.3e109aed.jpg'},{'revision':'3918585f901451b2e4a570a0dc0b3eb9','url':'/_next/static/media/thumbnail.4e1a15a5.jpg'},{'revision':'ac241dd4d8cf0cb870f21e98324e8dd9','url':'/_next/static/media/thumbnail.6753e23a.jpg'},{'revision':'7d618d029fdab4380f6c23e64dbb9a51','url':'/_next/static/media/thumbnail.8b42f292.jpeg'},{'revision':'09ebe62798f5ba8f123fe930cf9095f5','url':'/_next/static/media/thumbnail.9610db89.jpg'},{'revision':'53f1b60397f150da8599d3d7fb0a7325','url':'/_next/static/media/thumbnail.a18090c9.jpg'},{'revision':'c9a46ed6fb3535a2db4ac18374ef8cdc','url':'/_next/static/media/thumbnail.a4f2ae2c.jpg'},{'revision':'a06d31b1c000f1930614b8b9cea86700','url':'/_next/static/media/thumbnail.ad1f2769.jpg'},{'revision':'e2b0441b402f6b3fe66f3bf602727cba','url':'/_next/static/media/thumbnail.d866225b.jpg'},{'revision':'25b96f4780c0a6848cf882310f9f8741','url':'/avatars/
2arsenii.jpg'},{'revision':'db006c70e1cb128f6323490c70698a9b','url':'/avatars/banner.jpg'},{'revision':'c897f369319cc41fcd2d8cc5c559eaab','url':'/avatars/erdem.jpg'},{'revision':'81e181589abf1c5744b98617c2efd116','url':'/avatars/michael.jpg'},{'revision':'5e9db2cd164db105112784e3144cfd6c','url':'/favicon.ico'},{'revision':'f832df65b768e4c29bca20fadb84d405','url':'/learn/figures/annualised-scenarios.svg'},{'revision':'9034abbe1ba7cd0de62d90d8965f23f5','url':'/learn/figures/backtest-cost-sensitivity.svg'},{'revision':'263c16c0832d9b8372def286c42b1fea','url':'/learn/figures/backtest-experiment-contract.svg'},{'revision':'e2081ae8d5bfbae84b6295fcc4f1affc','url':'/learn/figures/backtest-exposure-cap.svg'},{'revision':'9afe66f8abce0428dade71a237c591dc','url':'/learn/figures/backtest-frozen-split.svg'},{'revision':'5750f001878a57dd251bd525769a3bca','url':'/learn/figures/backtest-gross-net-ledger.svg'},{'revision':'2f53dc3563b56eeb2626600b9b506066','url':'/learn/figures/backtest-information-boundary.svg'},{'revision':'8152943f232b9b2e65d359e3679dcb4b','url':'/learn/figures/backtest-reproducible-output.svg'},{'revision':'8c507a9eb6d417bea5f07e03558e69c6','url':'/learn/figures/backtest-revision-vintages.svg'},{'revision':'f6c4459d961443babd01f666b7b89b97','url':'/learn/figures/backtest-selection-results.svg'},{'revision':'bb8c360b57f7c34c8fd1f4cbb6c0e9a3','url':'/learn/figures/backtest-strategy-benchmark.svg'},{'revision':'61f7a162602599a76b6c5b2912cf51bb','url':'/learn/figures/backtest-survivor-universe.svg'},{'revision':'4d90cf5d30b3265ddca181977ce56de4','url':'/learn/figures/backtest-timed-positions.svg'},{'revision':'b1110d40d4467cfedc929f792ab330d0','url':'/learn/figures/backtest-turnover-sides.svg'},{'revision':'791b34cda7704755818e92885f4b4eb7','url':'/learn/figures/backtest-validation-ledger.svg'},{'revision':'de72fa4aff5fcf680dbc9a242d0bcbd8','url':'/learn/figures/backtest-window-evidence.svg'},{'revision':'ad68eddee2a3016396d1eed224413c4e','url':'/learn/figures/benchmark-aligned-wealth.svg'},{'revision':'1611be4c4e65748e1f50b2d02619f061','url':'/learn/figures/compounding-up-down.svg'},{'revision':'4d4fd633bed982c50047e0337f3564ae','url':'/learn/figures/correlation-nonlinear-example.svg'},{'revision':'534f481137f30fe7b575cdbef90fbfdc','url':'/learn/figures/correlation-patterns.svg'},{'revision':'137d1290d211b98c82fae752fe177b63','url':'/learn/figures/covariance-paired-deviations.svg'},{'revision':'68da43e9ed22569484184119ddfbdd74','url':'/learn/figures/dev-d-df01-1.svg'},{'revision':'c77dd42054a25405ed4f9819dc6a503a','url':'/learn/figures/dev-d-df01-2.svg'},{'revision':'db0aa9fd3dae742d5272760141a51b1d','url':'/learn/figures/dev-d-df02-1.svg'},{'revision':'ee4ae6d2f00d1b5be6ea119ff5e858d7','url':'/learn/figures/dev-d-df02-2.svg'},{'revision':'8c9c615ef18bbf88e53971a555f305df','url':'/learn/figures/dev-d-df03-1.svg'},{'revision':'5f6489d877edd76a76af1472ad3d34b6','url':'/learn/figures/dev-d-df03-2.svg'},{'revision':'d8d5b572d97ff764801ec75c3c551192','url':'/learn/figures/dev-d-df04-1.svg'},{'revision':'77aa5ff529be9d0234ad20047e5204fd','url':'/learn/figures/dev-d-df04-2.svg'},{'revision':'928c261ea291cfcb1ccbd2791d6bbcb0','url':'/learn/figures/dev-d-df05-1.svg'},{'revision':'6ea89ba9ea1a40005cce8fcc069cfdd0','url':'/learn/figures/dev-d-df05-2.svg'},{'revision':'f74d3984c2323a69213782585451983f','url':'/learn/figures/dev-d-dp01-1.svg'},{'revision':'96aaa4014cda93c6d2d4672378ad5593','url':'/learn/figures/dev-d-dp01-2.svg'},{'revision':'05267fa07c7dea08d0444b4747f621ac','url':'/learn/figures/dev-d-dp02-1.svg'},{'revision':'bfad97edecc4f231e5006e400416acaa','url':'/learn/figures/dev-d-dp02-2.svg'},{'revision':'af38d9e4c73444c7af116d67e7d0b1f7','url':'/learn/figures/dev-d-dp03-1.svg'},{'revision':'fc29720ee0c7de4025d55a41b27f4cdc','url':'/learn/figures/dev-d-dp03-2.svg'},{'revision':'03a425a294bc1001a5a73f4275b027e9','url':'/learn/figures/dev-d-dp04-1.svg'},{'revision':'d6d13fcbe357001f813ce716025f8dd7','url':'/learn/figures/dev-d-dp04-2.svg'},{'revision':'d81fefee590cad35980a45099cad33f9','url':'/learn/figures/dev-d-dp05-1.svg'},{'revision':'a4b7a2025dd3ea9db6635ee0b3c5b2a9','url':'/learn/figures/dev-d-dp05-2.svg'},{'revision':'db1a5eb890957cedad4aadcc4dab8c1f','url':'/learn/figures/dev-d-eb01-1.svg'},{'revision':'5de772d7b85809b1c2388a0824b384a3','url':'/learn/figures/dev-d-eb01-2.svg'},{'revision':'5364a07d8d7fb1a5c7cebf94f396956a','url':'/learn/figures/dev-d-eb01-3.svg'},{'revision':'444415e4005525652e5e81ac9b26b5ac','url':'/learn/figures/dev-d-eb01-4.svg'},{'revision':'7743ac89606783746fe493c3caf1aa99','url':'/learn/figures/dev-d-eb02-1.svg'},{'revision':'e5ddbc946902e5646acc69eb214dbad2','url':'/learn/figures/dev-d-eb02-2.svg'},{'revision':'59e07f5248e18e32dfd6070f5b40da8f','url':'/learn/figures/dev-d-eb03-1.svg'},{'revision':'5a41e4449023d69484415c1cfc4101b6','url':'/learn/figures/dev-d-eb03-2.svg'},{'revision':'4553e259738015c79d9ccf06962c900c','url':'/learn/figures/dev-d-eb04-1.svg'},{'revision':'82321453dddabcad801faa101fe71037','url':'/learn/figures/dev-d-eb04-2.svg'},{'revision':'09dd37cca5f9742b82fa774e72bf7a51','url':'/learn/figures/dev-d-eb05-1.svg'},{'revision':'d8bef0dd49fb6ced56640d51f97fdaa2','url':'/learn/figures/dev-d-eb05-2.svg'},{'revision':'7e9085d2e10cc6c79829d748857d7373','url':'/learn/figures/dev-d-el01-1.svg'},{'revision':'f92cc88670a03af3531369ca0b489c9a','url':'/learn/figures/dev-d-el01-2.svg'},{'revision':'23c07cc02941b2aefa08c184d1b28415','url':'/learn/figures/dev-d-el02-1.svg'},{'revision':'0d263758e7b1b0c1e86bc35ae36b078d','url':'/learn/figures/dev-d-el02-2.svg'},{'revision':'ca61144586291ba633cfff780f12aade','url':'/learn/figures/dev-d-el03-1.svg'},{'revision':'df7b0ca555a35cd0e95679f1082ed710','url':'/learn/figures/dev-d-el03-2.svg'},{'revision':'aaf87959ef1fbd49e1c8c69100ac596e','url':'/learn/figures/dev-d-el04-1.svg'},{'revision':'923469ddbe46bb42d02f42c96db0dbdc','url':'/learn/figures/dev-d-el04-2.svg'},{'revision':'31ea8574bcefe26eb96d85587ef078b9','url':'/learn/figures/dev-d-el05-1.svg'},{'revision':'efc8b80663beaca99ac13efd8c509d93','url':'/learn/figures/dev-d-el05-2.svg'},{'revision':'b1aad847e54ea7c89eec4520b6305b86','url':'/learn/figures/dev-d-el05-3.svg'},{'revision':'77a467553021e311afdcea48d738e41c','url':'/learn/figures/dev-d-wf01-1.svg'},{'revision':'26221b959f17728b7b3ea0483524329d','url':'/learn/figures/dev-d-wf01-2.svg'},{'revision':'31ce111cd4e8d37d637d856eaad00784','url':'/learn/figures/dev-d-wf02-1.svg'},{'revision':'220d156e425a4a8c81389bf1f5b203ad','url':'/learn/figures/dev-d-wf02-2.svg'},{'revision':'e86a8b6e3a5c18c0ac5eec95ccca81be','url':'/learn/figures/dev-d-wf03-1.svg'},{'revision':'9619a6bbc86719d840a97a039a2f6f11','url':'/learn/figures/dev-d-wf03-2.svg'},{'revision':'78e366b600da95271713ffd28d2a2d9a','url':'/learn/figures/dev-d-wf04-1.svg'},{'revision':'5279723daecfe002e4b61f0f64e2db96','url':'/learn/figures/dev-d-wf04-2.svg'},{'revision':'b7c1c9083fec2be676cf25289e6881f2','url':'/learn/figures/dev-d-wf05-1.svg'},{'revision':'aa4206b93dc425c41627aa8ad1d64ca7','url':'/learn/figures/dev-d-wf05-2.svg'},{'revision':'0012b0edcb9114f9765a3b22ea8420b8','url':'/learn/figures/diversification-combined-payoffs.svg'},{'revision':'20ecea79ac09d3719113e2ba0fdc9f96','url':'/learn/figures/drawdown-watermark.svg'},{'revision':'b376254ebd5a66ec4a81cdfff3fa522b','url':'/learn/figures/execution-shortfall-ledger.svg'},{'revision':'f8f61a08b1439da0410fca13e5e3f217','url':'/learn/figures/execution-urgency-tradeoff.svg'},{'revision':'9a925404981d140a688eff77743619d5','url':'/learn/figures/hrt-aos-vs-soa-lines.svg'},{'revision':'3bd12136b0759c680e52d6bb8a3fbdd5','url':'/learn/figures/hrt-branch-mispredicts.svg'},{'revision':'cdc6ff22b964e4c525fbbffa3e1b857e','url':'/learn/figures/hrt-copy-vs-move-bytes.svg'},{'revision':'e40f844afa7f93c4992ca79be3c8f001','url':'/learn/figures/hrt-copy-vs-reference-cost.svg'},{'revision':'c8709ca6d9a869c69f3950d969a4db34','url':'/learn/figures/hrt-dataset-first-vs-today.svg'},{'revision':'a67dcd8e3d8990bd0271d578989ac618','url':'/learn/figures/hrt-dataset-rows-vs-events.svg'},{'revision':'6f7cf32725bb5e0816660474a4850565','url':'/learn/figures/hrt-dataset-vendor-pitch.svg'},{'revision':'53fea105a1c489318cff52fcfafe7c95','url':'/learn/figures/hrt-defence-sheet.svg'},{'revision':'116b996325354350b039c6c68f72332c','url':'/learn/figures/hrt-harbour-rail-cost-per-share.svg'},{'revision':'8d205fb199ecde8256fc8829c13ad619','url':'/learn/figures/hrt-harbour-rail-size-scales-both.svg'},{'revision':'011ca16967b6c46aa78faa24c93b0e91','url':'/learn/figures/hrt-harbour-rail-three-problems.svg'},{'revision':'79b89439cc664d94093cc1f95deeb9d2','url':'/learn/figures/hrt-incident-trace.svg'},{'revision':'b9aa166d002ebd68c565695218fa0a42','url':'/learn/figures/hrt-kite-order-book.svg'},{'revision':'4b7fa922ff18ada4e1cd2bb89649fe74','url':'/learn/figures/hrt-kite-price-after-the-fill.svg'},{'revision':'2c7945271e5756fbc4a9bda46fa27f0d','url':'/learn/figures/hrt-kite-spread-versus-one-drop.svg'},{'revision':'5d728eb979c5a6627c17aa61e7c61988','url':'/learn/figures/hrt-line-coefficients.svg'},{'revision':'40c7f24fc7708b4d8c9b735508fd349b','url':'/learn/figures/hrt-line-in-vs-out-of-sample.svg'},{'revision':'92bc70aa18fddc7dd925db761146e84b','url':'/learn/figures/hrt-line-stock-v
2s-market.svg'},{'revision':'7f9225251f014f346180089f3be98889','url':'/learn/figures/hrt-loss-vs-forecast-week.svg'},{'revision':'5efa9285dc94ad79fc60d31ece4e14ad','url':'/learn/figures/hrt-memory-latency-ladder.svg'},{'revision':'0ec3d86d3de2984d7568cc04a654deb5','url':'/learn/figures/hrt-ml-imbalance-by-spread.svg'},{'revision':'5f22bf863200bc53602c6a1d48ff46c2','url':'/learn/figures/hrt-ml-seed-spread.svg'},{'revision':'456a6d9d1ddf47f0145c90ff548194ed','url':'/learn/figures/hrt-rain-contract-outcomes.svg'},{'revision':'1471bd317dff183fdb9a6c30e05357fd','url':'/learn/figures/hrt-reversal-model-vs-seeds.svg'},{'revision':'0afed6f01304865d3d357f22bcee3cfd','url':'/learn/figures/hrt-sell-volume-next-second.svg'},{'revision':'b17ea039943f86af3b5801748df7d76d','url':'/learn/figures/hrt-vector-growth-allocations.svg'},{'revision':'e44b3e902f41e0a00b8ebb3bc773afee','url':'/learn/figures/limit-price-time-queue.svg'},{'revision':'ee1a4d0615547c76391d6e751bea4ec6','url':'/learn/figures/log-growth-mapping.svg'},{'revision':'8cc274b61f29ac24f7e4c1630aef9f28','url':'/learn/figures/maker-adverse-selection.svg'},{'revision':'53420c4bca17eff2c827f1c7c866d8a2','url':'/learn/figures/maker-inventory-risk.svg'},{'revision':'dd6cf59ee2ba9b90c5e06813bcbdb6aa','url':'/learn/figures/order-book-levels.svg'},{'revision':'db5542b4298aca8e7971464d1a5976ed','url':'/learn/figures/order-book-weighted-fill.svg'},{'revision':'bc9732db76aebdd7a9481e2d7e338827','url':'/learn/figures/partial-fill-queue.svg'},{'revision':'8227ac35723deb8e766687be0e49d5b6','url':'/learn/figures/portfolio-drifting-weights.svg'},{'revision':'088e038fd45d9f1b077ce878034c7821','url':'/learn/figures/portfolio-weighted-return.svg'},{'revision':'d0d63c687a5a58e94e285859ca85a3e4','url':'/learn/figures/probability-bayes-counts.svg'},{'revision':'858d5c51f0ecec7ca196e2429c507526','url':'/learn/figures/probability-disjoint-events.svg'},{'revision':'341f5875118d79edb90a86b823a615e8','url':'/learn/figures/probability-quantile-counts.svg'},{'revision':'b5c1b93cfbf6da356d976ffb27c34457','url':'/learn/figures/probability-selected-sample.svg'},{'revision':'d2d0129a8dc42dca319232a860324a75','url':'/learn/figures/python-dataframe-source.svg'},{'revision':'5ff3b9e1cae656216a44c0f07757442d','url':'/learn/figures/python-function-contract.svg'},{'revision':'f6a8e53cd675a06b69188c9abd01ae3c','url':'/learn/figures/python-function-flow.svg'},{'revision':'c5e76b6a90a1147868594830cbb29c54','url':'/learn/figures/python-function-test-cases.svg'},{'revision':'4de910c8dcdf8abe69d0691ca6b601b3','url':'/learn/figures/python-information-timing.svg'},{'revision':'86c1c4da66cfec48f7b21e84eec41907','url':'/learn/figures/python-list-indices.svg'},{'revision':'d598ab876608c54fdbf646fae8e8fa9c','url':'/learn/figures/python-loop-accumulation.svg'},{'revision':'eaaf04f4d8abecd32202f6aefabd4dd9','url':'/learn/figures/python-number-string.svg'},{'revision':'0780cd89889221f7edf88e5cdccf6eea','url':'/learn/figures/python-price-bindings.svg'},{'revision':'65e869894b86796d253821edd572f405','url':'/learn/figures/python-rule-pipeline.svg'},{'revision':'06fa13f9a06b47e024742f1b951c6193','url':'/learn/figures/python-shifted-returns.svg'},{'revision':'bc28687a14fd3677797f3e65b810908b','url':'/learn/figures/python-signal-position-lanes.svg'},{'revision':'0a74f03bfa17d00a2f359394f3bc4d34','url':'/learn/figures/python-table-date-order.svg'},{'revision':'4be539f51e160e0f7cb730f3f743be56','url':'/learn/figures/python-table-missing.svg'},{'revision':'e85b7e0a2a3664449c697ee50003b2e9','url':'/learn/figures/python-threshold-condition.svg'},{'revision':'854c7be6bd27078da7c7dded2a166c57','url':'/learn/figures/python-trailing-window.svg'},{'revision':'d65f1049ac18179c24e502f7c63cf8d2','url':'/learn/figures/python-validation-lineage.svg'},{'revision':'a4f7ed8b5656f533f2739b38657c180a','url':'/learn/figures/research-r-cp01-1.svg'},{'revision':'ca1a7934e9df24526bd5d100dc951f76','url':'/learn/figures/research-r-cp01-2.svg'},{'revision':'bf1d5bb37c392921ea4b9ab8dc4ab76c','url':'/learn/figures/research-r-cp01-3.svg'},{'revision':'40bd92b766659d0decd02d51d7b11b8f','url':'/learn/figures/research-r-cp01-4.svg'},{'revision':'2316386a210c7af9dfbcaa6828b3648a','url':'/learn/figures/research-r-cp02-1.svg'},{'revision':'5f3f53e7aa7e65541d0c23a71afcc5db','url':'/learn/figures/research-r-cp02-2.svg'},{'revision':'e8da2f96935c35ce3bcfa246614d020e','url':'/learn/figures/research-r-cp02-3.svg'},{'revision':'461a26992abe7244ac8ce0034bfdc7b1','url':'/learn/figures/research-r-cp03-1.svg'},{'revision':'5be8129f542f4b34e4ad89e04f4d1432','url':'/learn/figures/research-r-cp03-2.svg'}
2,{'revision':'f7ead1adb61c454a97c6a28a934c773f','url':'/learn/figures/research-r-cp03-3.svg'},{'revision':'1da0e4f070956d857d850181d0e02810','url':'/learn/figures/research-r-cp03-4.svg'},{'revision':'e4056f4559e6aa75fa085c23cf66c22f','url':'/learn/figures/research-r-cp04-1.svg'},{'revision':'4a757d835930259fdc3dcc1c4cfc5eb4','url':'/learn/figures/research-r-cp04-2.svg'},{'revision':'f7c907fdcf194779359d4fe7c7e4f684','url':'/learn/figures/research-r-cp04-3.svg'},{'revision':'8e4fc88a9c9a256e4ac755515d420936','url':'/learn/figures/research-r-cp04-4.svg'},{'revision':'2965b25fd83266a4bc670f85c80af2dd','url':'/learn/figures/research-r-cp05-1.svg'},{'revision':'3cdff49aaa89a8ad9acef7f12c95fa8d','url':'/learn/figures/research-r-cp05-2.svg'},{'revision':'52ac0d37dc4567822cd2020641a21bc5','url':'/learn/figures/research-r-cp05-3.svg'},{'revision':'0effa991880be52100688f3d102446b1','url':'/learn/figures/research-r-cp05-4.svg'},{'revision':'a2e52ca3a3001388bc6ba7d4a031e892','url':'/learn/figures/research-r-cp05-5.svg'},{'revision':'a1ba3dd620247370f4390c8f9218a16b','url':'/learn/figures/research-r-cp06-1.svg'},{'revision':'221e291baf27cd7974d8ca115456a0c3','url':'/learn/figures/research-r-cp06-2.svg'},{'revision':'2a114e1fb924e80344d897c385898598','url':'/learn/figures/research-r-cp06-3.svg'},{'revision':'76186e658f06e0beaf61a0cc42623225','url':'/learn/figures/research-r-cp06-4.svg'},{'revision':'2d6f5d984d992d14171ae42e23f689c6','url':'/learn/figures/research-r-cp07-1.svg'},{'revision':'48a57cc4f6659be019dc7ccbd56f876c','url':'/learn/figures/research-r-cp07-2.svg'},{'revision':'f0e2c7d91f5b391e362f1110ce8bef9d','url':'/learn/figures/research-r-cp07-3.svg'},{'revision':'671512a863173e962bddaece17c88f31','url':'/learn/figures/research-r-fm01-1.svg'},{'revision':'6221d0fdb7d108ad9c3bb199a767ebbe','url':'/learn/figures/research-r-fm01-2.svg'},{'revision':'16c93301e1e30834a0b1353702686343','url':'/learn/figures/research-r-fm01-3.svg'},{'revision':'84f12fb3d34e21559f94c705a7e6abbe','url':'/learn/figures/research-r-fm01-4.svg'},{'revision':'201387d8c9e26f6e925abe0e5a4019ae','url':'/learn/figures/research-r-fm02-1.svg'},{'revision':'9ad97e7866f30baec6b7e612c91bcae1','url':'/learn/figures/research-r-fm02-2.svg'},{'revision':'c814186e4dff65178dc1e561ea5df07f','url':'/learn/figures/research-r-fm02-3.svg'},{'revision':'512a41ae6903d744cc7fbd860b0afa2e','url':'/learn/figures/research-r-fm02-4.svg'},{'revision':'8b5a8cdb31da311972d3426f606a65e4','url':'/learn/figures/research-r-fm03-1.svg'},{'revision':'707fbed526e3a07bd6fe65e8303c138d','url':'/learn/figures/research-r-fm03-2.svg'},{'revision':'1b999d94b7353f6f22e2c05344b56f10','url':'/learn/figures/research-r-fm03-3.svg'},{'revision':'c30d9f85e1a4ec8fdc7b887ca3005713','url':'/learn/figures/research-r-fm03-4.svg'},{'revision':'78c176040fbbf65e1b1ac624abd87e70','url':'/learn/figures/research-r-fm04-1.svg'},{'revision':'a338d215a402b091d836fd7b055aa43a','url':'/learn/figures/research-r-fm04-2.svg'},{'revision':'9e981716539e822cf19681aac29f3355','url':'/learn/figures/research-r-fm04-3.svg'},{'revision':'e1a375b39fbb178bc1ba1981bc92361f','url':'/learn/figures/research-r-fm04-4.svg'},{'revision':'88ac97c8967ca3c908097f1b1dd842cd','url':'/learn/figures/research-r-fm05-1.svg'},{'revision':'c0dd9792cbf891bef93ea469f5a182c1','url':'/learn/figures/research-r-fm05-2.svg'},{'revision':'9a60802ab418f0581dc3eb0ae94ad244','url':'/learn/figures/research-r-fm05-3.svg'},{'revision':'5015d182f08687f58888f19d8af3f031','url':'/learn/figures/research-r-fm05-4.svg'},{'revision':'1fd09d6780e6141327b6808fa8e1621b','url':'/learn/figures/research-r-fm06-1.svg'},{'revision':'cb87dc1fc3112dbfe9131960ce962dcd','url':'/learn/figures/research-r-fm06-2.svg'},{'revision':'a3742ca75c0a01589e2a45481c481d36','url':'/learn/figures/research-r-fm06-3.svg'},{'revision':'549d341a14f4ebfdddac30083f0c0796','url':'/learn/figures/research-r-fm06-4.svg'},{'revision':'0bb39bf36952c12637f492b4a1a59efd','url':'/learn/figures/research-r-fm07-1.svg'},{'revision':'f307ac0cdcada3c6ff54bacb07b52db4','url':'/learn/figures/research-r-fm07-2.svg'},{'revision':'b912ebcab3f876f3d4e195f85d19c95b','url':'/learn/figures/research-r-fm07-3.svg'},{'revision':'df9fc2be9ee17672bc7b972490cfc7ea','url':'/learn/figures/research-r-fm07-4.
2svg'},{'revision':'3d5cf1ece3b5d6b2737bcddbe053dbed','url':'/learn/figures/research-r-mr01-1.svg'},{'revision':'14c571dd8878bdc60c6cd03325d7a0c6','url':'/learn/figures/research-r-mr01-2.svg'},{'revision':'58c8ebba40086792a99ed52525b86da0','url':'/learn/figures/research-r-mr01-3.svg'},{'revision':'f91cbf58f274541f6911bf714afd7356','url':'/learn/figures/research-r-mr02-1.svg'},{'revision':'5a819f476df1caa64c96abc8f48f3fd6','url':'/learn/figures/research-r-mr02-2.svg'},{'revision':'219b7e920aaba25c2a12ad34e5530ff1','url':'/learn/figures/research-r-mr02-3.svg'},{'revision':'029b479cf4223a4495114da177bc0a11','url':'/learn/figures/research-r-mr03-1.svg'},{'revision':'bccf8ef901c349c204583166fab557ff','url':'/learn/figures/research-r-mr03-2.svg'},{'revision':'d5642f95b65a81f5c001b5e8bbffc240','url':'/learn/figures/research-r-mr03-3.svg'},{'revision':'83714560dc83a441f793e40e2a76ddbc','url':'/learn/figures/research-r-mr04-1.svg'},{'revision':'b51bf8ecf3a5a452eddc3f17d1351fda','url':'/learn/figures/research-r-mr04-2.svg'},{'revision':'021b4b1a94c99e498c00ea7a07050442','url':'/learn/figures/research-r-mr04-3.svg'},{'revision':'ca213e91bdea63f19b78c8329b5360d1','url':'/learn/figures/research-r-mr04-4.svg'},{'revision':'f983e11e3dece97ee6c8655f784c0eee','url':'/learn/figures/research-r-mr05-1.svg'},{'revision':'a3299e75f675a2b397d161372143954f','url':'/learn/figures/research-r-mr05-2.svg'},{'revision':'0ca7ef9d6b5da1505ebeb094130e0d6c','url':'/learn/figures/research-r-mr05-3.svg'},{'revision':'99d9742ce836445e51766c4f01faf94d','url':'/learn/figures/research-r-mr05-4.
2svg'},{'revision':'6faf57558fe66fc2e32bb34cad2240ac','url':'/learn/figures/research-r-mr05-5.svg'},{'revision':'9408b63382d93b449b7b7fdf72d160f2','url':'/learn/figures/research-r-mr06-1.svg'},{'revision':'0b4ad79cfca5dc94d64a879d4f5babec','url':'/learn/figures/research-r-mr06-2.svg'},{'revision':'5a3f9586f74e0048bbd43cee89f658a8','url':'/learn/figures/research-r-mr06-3.svg'},{'revision':'d84a2ef6f3eb62480488227cc1250fa6','url':'/learn/figures/research-r-mr07-1.svg'},{'revision':'93cc05e96ea13a5c45fe7dabe46b644d','url':'/learn/figures/research-r-mr07-2.svg'},{'revision':'e5fcd3d9f664c1a5ab8a48484e564610','url':'/learn/figures/research-r-mr07-3.svg'},{'revision':'df0595cca601b4660ef3530ff7717cf9','url':'/learn/figures/research-r-mr07-4.svg'},{'revision':'092c10320377aff2fa15bacd14b18c4b','url':'/learn/figures/research-r-mr07-5.svg'},{'revision':'20016edd580d5aa1cb2dccfb18881453','url':'/learn/figures/research-r-mr07-refit-policy.svg'},{'revision':'fe5c92d556f821e4b2f74e402aed9da1','url':'/learn/figures/research-r-mr08-1.svg'},{'revision':'6f46564df2c843498900511131b02c12','url':'/learn/figures/research-r-mr08-2.svg'},{'revision':'5ffa2d591dd5180dae5dea5739c0006d','url':'/learn/figures/research-r-mr08-3.svg'},{'revision':'33801a5d11efb1d0ddde9036dead46ba','url':'/learn/figures/research-r-mr08-4.svg'},{'revision':'0dd9870064728fbb40831efe340d6745','url':'/learn/figures/research-r-mr08-5.svg'},{'revision':'c6d908e160b92bf54ccbc93660d207ce','url':'/learn/figures/research-r-sn01-1.svg'},{'revision':'bdd2197d3ded78a737563c92c55232b6','url':'/learn/figures/research-r-sn01-2.svg'},{'revision':'75e0c9d57fa663105f8ff2e5d8ab28ba','url':'/learn/figures/research-r-sn01-3.svg'},{'revision':'3d419cef6f642809b625c6fa5c8ecd80','url':'/learn/figures/research-r-sn01-4.svg'},{'revision':'062a3a12d4e88e15906d6c229cefa6d7','url':'/learn/figures/research-r-sn02-1.svg'},{'revision':'94ff05dea19a07ed394556a4b4e1795b','url':'/learn/figures/research-r-sn02-2.svg'},{'revision':'4f0e099824afc240b56ec59df0ff3aae','url':'/learn/figures/research-r-sn02-3.svg'},{'revision':'4fbdf693967a6fe97387f9368f7e2bd9','url':'/learn/figures/research-r-sn02-4.svg'},{'revision':'a3bd0500606f56b9d2fb702f36597b11','url':'/learn/figures/research-r-sn03-1.svg'},{'revision':'71827a222cbf012e97eb250977283ce0','url':'/learn/figures/research-r-sn03-2.svg'},{'revision':'31bda0d92ef7fe787b95a380ab98bcdf','url':'/learn/figures/research-r-sn03-3.svg'},{'revision':'10284128d9880f099440587cb7ebf53a','url':'/learn/figures/research-r-sn03-4.svg'},{'revision':'7d3ff10d0c6c6777c4aff2e91b88cc03','url':'/learn/figures/research-r-sn03-5.svg'},{'revision':'fc8abc7e6d8a209ba58c7728f0488af4','url':'/learn/figures/research-r-sn04-1.svg'},{'revision':'20abd44f5715ba44f8fbe008176ba979','url':'/learn/figures/research-r-sn04-2.svg'},{'revision':'72dab40f0e511f282098fb69b4721eeb','url':'/learn/figures/research-r-sn04-3.svg'},{'revision':'67f38f33cd298c6a2e065cccf7e42a81','url':'/learn/figures/research-r-sn04-4.svg'},{'revision':'c7dc925ab53a8e756e73357a40167655','url':'/learn/figures/research-r-sn05-1.svg'},{'revision':'20d1e3e7b55b43138ef6ca7b1c4dc095','url':'/learn/figures/research-r-sn05-2.svg'},{'revision':'0e2716b8beed515fcbd6e2757b95823d','url':'/learn/figures/research-r-sn05-3.svg'},{'revision':'bb6573fb1497fde0ca4a53474a9402a0','url':'/learn/figures/research-r-sn06-1.svg'},{'revision':'03f45fc70a091eca57361c6576e542b4','url':'/learn/figures/research-r-sn06-2.svg'},{'revision':'d36d9e8f871933228c08037bc0fd4632','url':'/learn/figures/research-r-sn06-3.svg'},{'revision':'49ff0b44bcef7a78205f6a7e1681daea','url':'/learn/figures/research-r-ts01-1.svg'},{'revision':'f34a17c176f08afb28f558282214280f','url':'/learn/figures/research-r-ts01-2.svg'},{'revision':'48a520fc702e49cb0169e42c79016d68','url':'/learn/figures/research-r-ts01-3.svg'},{'revision':'b6ed46a90a5ecfe0a7da5cbd293806c4','url':'/learn/figures/research-r-ts02-1.svg'},{'revision':'2da63b8c34df24f8612b599e1a135178','url':'/learn/figures/research-r-ts02-2.svg'},{'revision':'5b4a9e961930cd43a4b2816fb8a0af9d','url':'/learn/figures/research-r-ts02-3.svg'},{'revision':'ce0cbf4bfd030941d8bf5655ec28b1ae','url':'/learn/figures/research-r-ts03-1.svg'},{'revision':'3b828fb92643791a83f2ef2f1e9d7ede','url':'/learn/figures/research-r-ts03-2.svg'}
2,{'revision':'3f203715d9f965ac3341e94dd75e618d','url':'/learn/figures/research-r-ts03-3.svg'},{'revision':'6cca0af67a0041f838b361aecd267b77','url':'/learn/figures/research-r-ts03-4.svg'},{'revision':'063655533334efe079359e87d6a16e24','url':'/learn/figures/research-r-ts03-5.svg'},{'revision':'704f86ee7c46e0fb6c2c6e8709e23e93','url':'/learn/figures/research-r-ts04-1.svg'},{'revision':'2c7c3bdc353fcc913311be50e1ad1ace','url':'/learn/figures/research-r-ts04-2.svg'},{'revision':'fc2115795de44e9b4b7acab44309d016','url':'/learn/figures/research-r-ts04-3.svg'},{'revision':'2c04f68e854579272bf82a4f60df89f3','url':'/learn/figures/research-r-ts05-1.svg'},{'revision':'20302f07848e196bf720b906303a8362','url':'/learn/figures/research-r-ts05-2.svg'},{'revision':'a8ba6dc7fa3b5087e0414f78e12ec874','url':'/learn/figures/research-r-ts05-3.svg'},{'revision':'9706936b197651271a6a0ec022d45672','url':'/learn/figures/return-cashflow-ledger.svg'},{'revision':'80099f4f684f3ab7fc629bcffd055753','url':'/learn/figures/return-split-adjustment.svg'},{'revision':'6f6008ff9e98a901f83cbf73571ca187','url':'/learn/figures/risk-comparison-horizons.svg'},{'revision':'c84b30b445ee07398c88f21cddfe967d','url':'/learn/figures/spread-profit-ledger.svg'},{'revision':'9e8e83208902e589f087521663af29e5','url':'/learn/figures/t-k01-asymmetry.svg'},{'revision':'08a21f436ac841009cd6109150113bc1','url':'/learn/figures/t-k01-costs.svg'},{'revision':'7d842486fff16b2416fb02214f469360','url':'/learn/figures/t-k02-fraction.svg'},{'revision':'2eec9a4c382d5339cde4797605c27f52','url':'/learn/figures/t-k02-ruin.svg'},{'revision':'6bcbe606b9f1050a890eef29453cf172','url':'/learn/figures/t-k03-grid.svg'},{'revision':'2e45492ca1a8c12096a4355eb911f323','url':'/learn/figures/t-k03-logs.svg'},{'revision':'50c55f9b1f73809790d27eff1f20a927','url':'/learn/figures/t-k04-fractions.svg'},{'revision':'71fd24d99b56d4a62b63ba08cc83aeba','url':'/learn/figures/t-k04-probabilities.svg'},{'revision':'376772f6e8d3f36d2c3f0367e1554f5f','url':'/learn/figures/t-k05-combined.svg'},{'revision':'63c458b587c6845cc18f4fdefe44d4c2','url':'/learn/figures/t-k05-shared.svg'},{'revision':'6162ca1c7933476a8ec5faedd3870aa5','url':'/learn/figures/t-k06-evidence.svg'},{'revision':'8abb14567b2b3a73b494cb80e720ddbc','url':'/learn/figures/t-k06-gap.svg'},{'revision':'eb1369fbee8c4f8ef80670579a898557','url':'/learn/figures/t-rp01-capital.svg'},{'revision':'50543167f8eb090cc2f654008ca1a9ea','url':'/learn/figures/t-rp01-scenarios.svg'},{'revision':'61f8569cb3997133bc91acc3544dbd4d','url':'/learn/figures/t-rp02-offset.svg'},{'revision':'fc21454fe27059cc408c1771e75f2229','url':'/learn/figures/t-rp02-regimes.svg'},{'revision':'43655eeb90ae5d30c10ad1d83a476403','url':'/learn/figures/t-rp03-contributions.svg'},{'revision':'8e60917f04b104fce9284eca06e1e673','url':'/learn/figures/t-rp03-covariance.svg'},{'revision':'5045d4bd19a6b6d4f1daeb4106197525','url':'/learn/figures/t-rp03-three.svg'},{'revision':'dfd66f726f9dac4c78478e1f1778a747','url':'/learn/figures/t-rp03-weights.svg'},{'revision':'a6e4b289cc865ff0a77e4a60e6f3be03','url':'/learn/figures/t-rp04-rebalance.svg'},{'revision':'f228aa800542de2f84daa5e9ba089a67','url':'/learn/figures/t-rp04-windows.svg'},{'revision':'145eaecdd2ca1a9c4b228199993c2b16','url':'/learn/figures/t-rp05-loan.svg'},{'revision':'81d49bbeb7e361edff3ba9b2ab6ed3c2','url':'/learn/figures/t-rp05-short.svg'},{'revision':'d202a57ad296c5a9673d7bb264d654c2','url':'/learn/figures/t-rp06-cap.svg'},{'revision':'7470a8d3bf19611ee681e64113fc9bc4','url':'/learn/figures/t-rp06-mismatch.svg'},{'revision':'da9b20607833d9aa3f57279fb0535003','url':'/learn/figures/t-rv01-budget.svg'},{'revision':'c1d27db70eaef6373589b5e163032386','url':'/learn/figures/t-rv01-shocks.svg'},{'revision':'b303fe1524fbbf5f564696d711f9d08c','url':'/learn/figures/t-rv02-confidence.svg'},{'revision':'72f61c6c8fea6d1fafaf78472fd42747','url':'/learn/figures/t-rv02-sorted.svg'},{'revision':'68414b48222fc75830381f51c1145520','url':'/learn/figures/t-rv03-small-tail.svg'},{'revision':'abfdfaabd2f6f985d0ec30f41d516da6','url':'/learn/figures/t-rv03-tail.svg'},{'revision':'2d3312a4a2d561c1a1f4d98b0be8e4ae','url':'/learn/figures/t-rv04-joint.svg'},{'revision':'c3793f3d3dc61668bccc9192ca13a4dd','url':'/learn/figures/t-rv04-reverse.svg'},{'revision':'3a42bc1116d30f572cecbcfef93e9fb2','url':'/learn/figures/t-rv05-clusters.svg'},{'revision':'ba0e4cf4a0a393084e2761aa43368958','url':'/learn/figures/t-rv05-pairs.svg'},{'revision':'795824e1b10be1289a13588ac3320d49','url':'/learn/figures/t-tc01-components.svg'},{'revision':'0c2cd72bfe6fc617fa066942c64bbcc9','url':'/learn/figures/t-tc01-ledger.svg'},{'revision':'2c75625d072054daebd4d6edd91b90b9','url':'/learn/figures/t-tc02-book.svg'},{'revision':'8af990c4d84c917dec4c9825289463b9','url':'/learn/figures/t-tc02-participation.svg'},{'revision':'fb12194c161d054e8997a1ed5dd6e0d5','url':'/learn/figures/t-tc03-paths.svg'},{'revision':'6fac46efd5293313715e90c12d9ad2ca','url':'/learn/figures/t-tc03-slices.svg'},{'revision':'8d0463acf1f6578f645846399ebc0f32','url':'/learn/figures/t-tc04-capacity.svg'},{'revision':'c9c1f4858436e870c1db1b0b5124be4d','url':'/learn/figures/t-tc04-uncertainty.svg'},{'revision':'18387371a941260fa4fb0ac826992756','url':'/learn/figures/t-tc05-evidence.svg'},{'revision':'dc6bcfd42515949ddc4b7ed006c596cd','url':'/learn/figures/t-tc05-record.svg'},{'revision':'86529b731184dc6f98673067a09b61c1','url':'/learn/figures/t-vb01-factor.svg'},{'revision':'134a5158e8b105b7c8f74f28c7bba1d8','url':'/learn/figures/t-vb01-pv.svg'},{'revision':'23afd960ff9a6627cc7ed7f322686033','url':'/learn/figures/t-vb02-stream.svg'},{'revision':'dc452ee747cd502200be5df9a48a9bb0','url':'/learn/figures/t-vb02-terminal.svg'},{'revision':'71553faab934839dc28f0910b70ff303','url':'/learn/figures/t-vb03-multiple.svg'},{'revision':'6a49d969b68a8de80008849be27a3450','url':'/learn/figures/t-vb03-peers.svg'},{'revision':'580cd774bed75baf71d464ce826b0fcc','url':'/learn/figures/t-vb04-scenarios.svg'},{'revision':'c5225654e3a445eda7773b101e322342','url':'/learn/figures/t-vb04-sensitivity.svg'},{'revision':'672459252026f36502feba8c3969f82a','url':'/learn/figures/t-vb05-buffer.svg'},{'revision':'a5e07118d567413026614cf1b2b9d0f8','url':'/learn/figures/t-vb05-waiting.svg'},{'revision':'cd34a0662e4a6b19cb330cd66f324a22','url':'/learn/figures/unfilled-execution-quality.svg'},{'revision':'046ba6ee7a8c0d6958ad40b4a0a7ae2c','url':'/learn/figures/venue-routing-size.svg'},{'revision':'1a53bb5f6312786d729245d22354639c','url':'/learn/figures/volatility-return-comparison.svg'},{'revision':'f6ddc757b4c7477a06446fee3b453320','url':'/learn/images/annualised-scenarios.webp'},{'revision':'0efa9a1a02685061dd76ca5357927109','url':'/learn/images/backtest-cost-sensitivity.webp'},{'revision':'07836d41d6a4eb0e31581f502757b39e','url':'/learn/images/backtest-experiment-contract.webp'},{'revision':'def1452701aad0ed8b6d2e27dbb8196a','url':'/learn/images/backtest-exposure-cap.webp'},{'revision':'2ab114b92b68c8349f4388c8034cfc60','url':'/learn/images/backtest-frozen-split.webp'},{'revision':'c3c10849ec1abe1d12c7a87212628edb','url':'/learn/images/backtest-gross-net-ledger.webp'},{'revision':'b5503dbcc1321a9c06540095630e5435','url':'/learn/images/backtest-information-boundary.webp'},{'revision':'99b3e109b842dc722a272b6c0627ecf1','url':'/learn/images/backtest-reproducible-output.webp'},{'revision':'d53bf8686f2597d8f21951ee93f9958d','url':'/learn/images/backtest-revision-vintages.webp'},{'revision':'7f364e24150f7c9fe905c45a16ce95b2','url':'/learn/images/backtest-selection-results.webp'},{'revision':'b93be61811c184cf7b659285d4721580','url':'/learn/images/backtest-strategy-benchmark.webp'},{'revision':'8f1f7be3e5c4e1e0c30be096b9bc0fc9','url':'/learn/images/backtest-survivor-universe.webp'},{'revision':'bf8bed36387da4ec5a3c5c1b0de2ed5e','url':'/learn/images/backtest-timed-
2positions.webp'},{'revision':'c056064afc856731d0ea189dbf5f8f71','url':'/learn/images/backtest-turnover-sides.webp'},{'revision':'cffd675dd6ca4a2e2178501848d70164','url':'/learn/images/backtest-validation-ledger.webp'},{'revision':'1ef31ba90b04d31fb99d710631da40ea','url':'/learn/images/backtest-window-evidence.webp'},{'revision':'a9e9d78390bb5f42f7c784738c6326f8','url':'/learn/images/benchmark-aligned-wealth.webp'},{'revision':'0b4368f232616141ec49bb7d951c1d56','url':'/learn/images/bond-coupon-timeline.webp'},{'revision':'92ce7c8984a5d162f6f10fa12f237ecb','url':'/learn/images/bond-credit-quality-bridges.webp'},{'revision':'a7f1ae4237b7943c5c4fda37604568a8','url':'/learn/images/bond-duration-seesaw.webp'},{'revision':'2f14eb07d9762c227d529a39af3ad3bb','url':'/learn/images/bond-price-yield-seesaw.webp'},{'revision':'8f08b66e99d7c9219adc3c3acb98744a','url':'/learn/images/bond-yield-curve-shapes.webp'},{'revision':'88930c94387147151d8dc07af7b9cf67','url':'/learn/images/call-payoff-hockey-stick.webp'},{'revision':'7180341d211bdfa895979ad11d7ca9c3','url':'/learn/images/compounding-up-down.webp'},{'revision':'fc8d338e437ff9771b1e5dcf81db9dcd','url':'/learn/images/correlation-nonlinear-example.webp'},{'revision':'f30577923d1fff78b998a9aa86e8885f','url':'/learn/images/correlation-patterns.webp'},{'revision':'2b171e924c9ce1e57572510933deaa87','url':'/learn/images/covariance-paired-deviations.webp'},{'revision':'c08cb5bca8713ac633353fd8d2d78c6f','url':'/learn/images/covered-call-capped-upside.webp'},{'revision':'efea3dabe73886d56ae832782bbcdbfa','url':'/learn/images/decision-before-the-news.webp'},{'revision':'f241dcc889a8ffd29cb3523693dca4ad','url':'/learn/images/dev-d-df01-1.webp'},{'revision':'66f7ea1cfc34efad86dd6ca248324531','url':'/learn/images/dev-d-df01-2.webp'},{'revision':'f95d91146cc86f4bdfeb7725ce3c27c0','url':'/learn/images/dev-d-df02-1.webp'},{'revision':'a3a0a2727022cc356dab63d73ddc774c','url':'/learn/images/dev-d-df02-2.webp'},{'revision':'03d1368600e8e01e92e89b5d870d9e32','url':'/learn/images/dev-d-df03-1.webp'},{'revision':'ee3e815f715cf994d2e6acc25cab77da','url':'/learn/images/dev-d-df03-2.webp'},{'revision':'37d029184bd3442663d599215ef73134','url':'/learn/images/dev-d-df04-1.webp'},{'revision':'2207ed67af3ffae43f3dbbe0a56a161c','url':'/learn/images/dev-d-df04-2.webp'},{'revision':'184f3b2b67ff4e3e08034d8d0f9ab34f','url':'/learn/images/dev-d-df05-1.webp'},{'revision':'0f076dfd11425cf913e7c64061268ec2','url':'/learn/images/dev-d-df05-2.webp'},{'revision':'a430e44049d0719e68214019fb91c0e0','url':'/learn/images/dev-d-dp01-1.webp'},{'revision':'f7b9572e5d10f8065c2cc9c47abd8992','url':'/learn/images/dev-d-dp01-2.webp'},{'revision':'75565db8a8843e54d030f69a481917b7','url':'/learn/images/dev-d-dp02-1.webp'},{'revision':'8e35c8522457e3d3876fc6949c20eca9','url':'/learn/images/dev-d-dp02-2.webp'},{'revision':'17c9fedb922519335e571d137837519e','url':'/learn/images/dev-d-dp03-1.webp'},{'revision':'82837c08dce74c3c073fabce7db3d846','url':'/learn/images/dev-d-dp03-2.webp'},{'revision':'25f2397c39bf2c010dd137cfc32cfa75','url':'/learn/images/dev-d-dp04-1.webp'},{'revision':'ebb8bd30ed93d056b7845f5ae28c25f7','url':'/learn/images/dev-d-dp04-2.webp'},{'revision':'514d85346ae5f58c60f91f99d3acb212','url':'/learn/images/dev-d-dp05-1.webp'},{'revision':'8187b7757e7df5fe1f8c7412cda3ca92','url':'/learn/images/dev-d-dp05-2.webp'},{'revision':'07e832cc099b30e7747f1a0c9ac1bcf7','url':'/learn/images/dev-d-eb01-1.webp'},{'revision':'365ae8927e8c429a3baac3a5deba5732','url':'/learn/images/dev-d-eb01-2.webp'},{'revision':'01188439049112db4696671f3709c276','url':'/learn/images/dev-d-eb01-3.webp'},{'revision':'0e6e27f64d8a4baf284de03ac4f52b9e','url':'/learn/images/dev-d-eb01-4.webp'},{'revision':'01ed5f85c941953d28ed6f581735a2ca','url':'/learn/images/dev-d-eb02-1.webp'},{'revision':'0a27ae0f136b48e8ce4632a2b1cad71c','url':'/learn/images/dev-d-eb02-2.webp'},{'revision':'4acf8f9d49b0c10ee642cd2ffaf8d71a','url':'/learn/images/dev-d-eb03-1.webp'},{'revision':'c914a5ff6d4023fa514dc72edb48938c','url':'/learn/images/dev-d-eb03-2.webp'},{'revision':'784060eb4ba725a1fa15bd984bd1519d','url':'/learn/images/dev-d-eb04-1.webp'},{'revision':'3e0da108b62dfb18a36abd388f4d4116','url':'/learn/images/dev-d-eb04-2.webp'},{'revision':'fbdc8290ebf11af77d29febaff19174a','url':'/learn/images/dev-d-eb05-1.webp'},{'revision':'805a3e494d1db1503d9662405d862feb','url':'/learn/images/dev-d-eb05-2.webp'},{'revision':'d3fd36944965ff09fecbf2eea29856de','url':'/learn/images/dev-d-el01-1.webp'},{'revision':'05cace258b3abe88fa04b9057a33c7a2','url':'/learn/images/dev-d-el01-2.webp'},{'revision':'0c8c6368ad3e2401df5ef20a56a858ad','url':'/learn/images/dev-d-el02-1.webp'},{'revision':'3e82f87677b6d63059b52a39cb365c4e','url':'/learn/images/dev-d-el02-2.webp'},{'revision':'0b5140ecb3412a6240ed45d5698e2b90','url':'/learn/images/dev-d-el03-1.webp'},{'revision':'9c43e8576f193da8750a3379f6b693a2','url':'/learn/images/dev-d-el03-2.webp'},{'revision':'b820e37ebb158f72a077545afaf648b4','url':'/learn/images/dev-d-el04-1.webp'},{'revision':'c14318ac3c8c9cb86ef530c3f3bdcd78','url':'/learn/images/dev-d-el04-2.webp'},{'revision':'46da18d866a7ff363d8dfcbd64fe2850','url':'/learn/images/dev-d-el05-1.webp'},{'revision':'15d6d4b3b03ef58707d3e49e003f7e2e','url':'/learn/images/dev-d-el05-2.webp'},{'revision':'d923623fda2bde99d90fe1a3775768b6','url':'/learn/images/dev-d-el05-3.webp'},{'revision':'acd835fa1800aeddaab0e277b918d2b1','url':'/learn/images/dev-d-wf01-1.webp'},{'revision':'873a623a3c80be1d87904762e38f84d7','url':'/learn/images/dev-d-wf01-2.webp'},{'revision':'6c654bea9d33cdbbb3bf2d314d1c869a','url':'/learn/images/dev-d-wf02-1.webp'},{'revision':'5e511be105f9c4518f965c487aba9994','url':'/learn/images/dev-d-wf02-2.webp'},{'revision':'55b546936014bd96cd35487555fab255','url':'/learn/images/dev-d-wf03-1.webp'},{'revision':'1d2679359448aad33b615b9506a09f9c','url':'/learn/images/dev-d-wf03-2.webp'},{'revision':'96c4570a992397669d31a19bd49ae2d1','url':'/learn/images/dev-d-wf04-1.webp'},{'revision':'604b3002be38efd8474c967c4ca598c6','url':'/learn/images/dev-d-wf04-2.webp'},{'revision':'b1693657819c4fabba7232b891ba6bd5','url':'/learn/images/dev-d-wf05-1.webp'},{'revision':'030085f2867d0ed2f0b978e9ec9aed87','url':'/learn/images/dev-d-wf05-2.webp'},{'revision':'bf95986e59d1cc2c4852df810ef51e81','url':'/learn/images/diversification-combined-payoffs.webp'},{'revision':'e706324e32607ba8513820b0ea41c95a','url':'/learn/images/drawdown-watermark.webp'},{'revision':'1335abdc25a02aa2a4b423130b10f764','url':'/learn/images/equity-buyback-share-retirement.webp'},{'revision':'455dae0544668f2482e67bf1148a98bd','url':'/learn/images/equity-certificate-sl
2ices.webp'},{'revision':'6f1d96dfcfe99a01f4bc08467b3ee917','url':'/learn/images/equity-dilution-pie-reslice.webp'},{'revision':'f0012e6318157ee508a3acf134d312ce','url':'/learn/images/equity-dividend-cash-payout.webp'},{'revision':'fb7ee083e56069460fb5f376dcbed346','url':'/learn/images/equity-etf-fund-basket.webp'},{'revision':'702500759d270c65defabeb7ea761a63','url':'/learn/images/equity-index-basket-weighting.webp'},{'revision':'54ab4eae4aa66ee22e909d2b551ddea1','url':'/learn/images/equity-ipo-door-exchange.webp'},{'revision':'5e03cb78ff13636ea10233170b1400c5','url':'/learn/images/equity-limited-liability-boundary.webp'},{'revision':'2008d5ee8c694994d243434fdf071f47','url':'/learn/images/equity-price-illusion-shares.webp'},{'revision':'072715f95b1cab8b4f5ff0847f6580e4','url':'/learn/images/equity-stock-split-restack.webp'},{'revision':'9ef460873698e0e1b1e8a9e850552af7','url':'/learn/images/equity-total-return-cashflows.webp'},{'revision':'c03ea64b66f611a24b4569acb126afaa','url':'/learn/images/execution-shortfall-ledger.webp'},{'revision':'a3770de5621c6dfc80e2f9fa4c0bae2d','url':'/learn/images/execution-urgency-tradeoff.webp'},{'revision':'e1e4b16ad92923f955ca3ca120c8815b','url':'/learn/images/fills-above-decision-line.webp'},{'revision':'054a4f587f2d0ddb6243fbbfe85b119a','url':'/learn/images/futures-backwardation-scarce-barrel.webp'},{'revision':'6c9b3226a60fe1f202ec66689312f251','url':'/learn/images/futures-basis-risk-mismatch.webp'},{'revision':'ee54bedc8efefa7cce9b83843db686fb','url':'/learn/images/futures-convergence-barrel-contract.webp'},{'revision':'91b3b2eb825c59ed6b202424cdb4041a','url':'/learn/images/futures-farmer-forward-handshake.webp'},{'revision':'26199f7c0568a866baca75f5d819a506','url':'/learn/images/futures-hedgers-and-speculators.webp'},{'revision':'e59f9c15373b6ffd5819455960b21a19','url':'/learn/images/futures-margin-safety-deposit.webp'},{'revision':'07ae85437a4a9acf24b76e0f5133e8ce','url':'/learn/images/futures-payoff-line.webp'},{'revision':'280f04047096354105215a93f64c7509','url':'/learn/images/futures-storage-cost-contango.webp'},{'revision':'3b1a6ac66cbb1adedb45fd4526e55378','url':'/learn/images/hrt-aos-vs-soa-lines.webp'},{'revision':'85a3ea9b749ab9e3a007da40a84ef26b','url':'/learn/images/hrt-branch-mispredicts.webp'},{'revision':'6545ccf98023e9761fe49a782c754448','url':'/learn/images/hrt-copy-vs-move-bytes.webp'},{'revision':'1f61da122740614a88049cfdcb08344d','url':'/learn/images/hrt-copy-vs-reference-cost.webp'},{'revision':'37aad63055e1be116c14e5da14cde705','url':'/learn/images/hrt-dataset-first-vs-today.webp'},{'revision':'2a31414f745077d1042b01c0f0107007','url':'/learn/images/hrt-dataset-rows-vs-events.webp'},{'revision':'9ab5528da5a22b878068b6bf3b5ba671','url':'/learn/images/hrt-dataset-vendor-pitch.webp'},{'revision':'50efc9b3a070f8b88d3a2a2e5e1e90d9','url':'/learn/images/hrt-defence-sheet.webp'},{'revision':'7cf433a0a8f41f058ec55c5d58bce492','url':'/learn/images/hrt-harbour-rail-cost-per-share.webp'},{'revision':'ff3f54248ba9255da90176d259546359','url':'/learn/images/hrt-harbour-rail-size-scales-both.webp'},{'revision':'33f0d55c3f7d9dd4e30c0a213c0022d3','url':'/learn/images/hrt-harbour-rail-three-problems.webp'},{'revision':'bf9cdf7a53acf4d7be5b19168c2f8083','url':'/learn/images/hrt-incident-trace.webp'},{'revision':'80fd5e82b4051ff629f989636b795246','url':'/learn/images/hrt-kite-order-book.webp'},{'revision':'f7b922aef44c11aabb3cfed2860bf1de','url':'/learn/images/hrt-kite-price-after-the-fill.webp'},{'revision':'a335b3e5a82953fbfde26204a4e3716c','url':'/learn/images/hrt-kite-spread-versus-one-drop.webp'},{'revision':'5b0609387d0ff8c583c0a706415604dd','url':'/learn/images/hrt-line-coefficients.webp'},{'revision':'e88cece9ebc710b8920002dc58a035db','url':'/learn/images/hrt-line-in-vs-out-of-sample.webp'},{'revision':'0f7a37d3ff4de5e1fe994d11ae4aa013','url':'/learn/images/hrt-line-stock-vs-market.webp'},{'revision':'c823a2b1c780ac72880b46ebbd768aae','url':'/learn/images/hrt-loss-vs-forecast-week.webp'},{'revision':'31496da708e87189429be679a6dd7f13','url':'/learn/images/hrt-memory-latency-ladder.webp'},{'revision':'3f946d628142a58d3758dd5315be634d','url':'/learn/images/hrt-ml-imbalance-by-spread.webp'},{'revision':'f9592907fcc691dffc6393da5688ca1d','url':'/learn/images/hrt-ml-seed-s
2pread.webp'},{'revision':'0e678a3f8c312b8a2d7e2b672cf5493d','url':'/learn/images/hrt-rain-contract-outcomes.webp'},{'revision':'d297d96044266bc6a0108b2b7c28aef1','url':'/learn/images/hrt-reversal-model-vs-seeds.webp'},{'revision':'f8d1acf46e041ea6bd080f9420ad5654','url':'/learn/images/hrt-sell-volume-next-second.webp'},{'revision':'e14c13fe5973fce01b6797f460330c5f','url':'/learn/images/hrt-vector-growth-allocations.webp'},{'revision':'03faaca429b686f27fc4f474cb891feb','url':'/learn/images/limit-price-time-queue.webp'},{'revision':'87a99be716a19d4b006e948c47973994','url':'/learn/images/log-growth-mapping.webp'},{'revision':'924654fd054d140f3e57e6788f2b5cb1','url':'/learn/images/maker-adverse-selection.webp'},{'revision':'efd8e6bc30a0221014591d75cab1fc3d','url':'/learn/images/maker-buys-low-sells-high-booth.webp'},{'revision':'e4ff7ce540f0c55cc4e07370af3e20c1','url':'/learn/images/maker-inventory-risk.webp'},{'revision':'838076d7029df2b6521b75141a7b17ec','url':'/learn/images/market-meeting-point.webp'},{'revision':'b74d6c8de0299f49a724d847ca004063','url':'/learn/images/markets-arbitrage-scale.webp'},{'revision':'07abe1deac7b3e1f6f68bda5e99ab07e','url':'/learn/images/markets-bid-ask-gap.webp'},{'revision':'0503f1564e56d9ee951634289d033c46','url':'/learn/images/markets-exchange-otc-link.webp'},{'revision':'1b3ddee8f29187c0ed9e2b83eca3d063','url':'/learn/images/markets-hedger-vs-speculator.webp'},{'revision':'c4bc6b00f91032371631c31f13b38629','url':'/learn/images/markets-liquidity-deep-vs-thin.webp'},{'revision':'dc000d70bd68caf1c26465778708e620','url':'/learn/images/markets-liquidity-depth.webp'},{'revision':'95d7bb447f6d14738bb30b0df290b8f5','url':'/learn/images/markets-maker-two-sided-quote.webp'},{'revision':'b7ccb7ea5849db0a7746db93416a4e42','url':'/learn/images/markets-order-types-tradeoff.webp'},{'revision':'11d10108ebd26ba21913ecd0a0a52338','url':'/learn/images/markets-price-discovery-jolt.webp'},{'revision':'c0fe06943e64d9bdcbebb0f080934059','url':'/learn/images/markets-primary-secondary-fork.webp'},{'revision':'d414230ef3c94b473b5b7437e3a3f762','url':'/learn/images/markets-risk-handoff.webp'},{'revision':'a8f68ef5ccd43bccb08893b4c47f8111','url':'/learn/images/markets-shares-bonds-fork.webp'},{'revision':'b93926323c4ff7aaf484bb6033564899','url':'/learn/images/markets-who-trades.webp'},{'revision':'9642f0ca24d6e691538b35d0f1e27ec4','url':'/learn/images/one-account-two-jars.webp'},{'revision':'a82b0202ed59ab5cafb998b6d7f52ad8','url':'/learn/images/one-machine-two-trades.webp'},{'revision':'62666b24a24faa915e9a089389339bcf','url':'/learn/images/option-moneyness-and-premium-split.webp'},{'revision':'ce1f25664a548a9e1437cfbe45cd4775','url':'/learn/images/option-volatility-truncated-tail.webp'},{'revision':'d99e30ca28fa4d55288fd09b2d24832e','url':'/learn/images/option-vs-forward-choice.webp'}
2,{'revision':'7c1bb3382c8f366713bd4dc62ad47b5f','url':'/learn/images/order-book-levels.webp'},{'revision':'e88e6f70e1f84430c802cc1bb7244f99','url':'/learn/images/order-book-shelves-of-waiting-orders.webp'},{'revision':'b0c685350596d0f7a77e7210f7c1e81a','url':'/learn/images/order-book-weighted-fill.webp'},{'revision':'73091d9d593064121c95672e1ff05bdd','url':'/learn/images/partial-fill-queue.webp'},{'revision':'41b691693c056fbbd714cdacd1f6c21f','url':'/learn/images/portfolio-drifting-weights.webp'},{'revision':'b93127679096b42102ee7e429d11cf62','url':'/learn/images/portfolio-weighted-return.webp'},{'revision':'36b76bf36854e26b2b47e31028d2cd2d','url':'/learn/images/price-file-meets-its-contract.webp'},{'revision':'c00b73f66a1352188130f6146f5aa57b','url':'/learn/images/probability-bayes-counts.webp'},{'revision':'7689d801b1523a541ecfb4e9d5e8abcd','url':'/learn/images/probability-coin-pair-table.webp'},{'revision':'01783acba2d6901f10925381e4e3bf9f','url':'/learn/images/probability-coin-payoffs.webp'},{'revision':'05ba0904f5035da90c179361927327a7','url':'/learn/images/probability-conditional-bags.webp'},{'revision':'7ece7b89fa1d5efe99f4ddfe77f3aec6','url':'/learn/images/probability-disjoint-events.webp'},{'revision':'9b8ba14f9afa679d4de975a0b41c8a84','url':'/learn/images/probability-distribution-shapes.webp'},{'revision':'5d66fede4d460dfe336e5cee24b5df02','url':'/learn/images/probability-equal-mean-payoffs.webp'},{'revision':'37fb97a1bdaf4e3b3a3e48f30d34bfb0','url':'/learn/images/probability-independent-draws.webp'},{'revision':'f7bf7c8f2ca09e3ed88ee584457b87b5','url':'/learn/images/probability-large-sample-tokens.webp'},{'revision':'856d23172eaac615861796c749e4167e','url':'/learn/images/probability-quantile-counts.webp'},{'revision':'02beedc82c0f6981ef91bae94941659b','url':'/learn/images/probability-sample-trays.webp'},{'revision':'2a86a8db63165170dd098f23add75c03','url':'/learn/images/probability-selected-sample.webp'},{'revision':'ced5b85381ca1b4b304c00de858ccad6','url':'/learn/images/probability-six-outcomes.webp'},{'revision':'1bc3733d9cef6fa30dfe21cdc66a68ff','url':'/learn/images/probability-squared-deviations.webp'},{'revision':'08c4cd89093c54258caced3fdc2e813a','url':'/learn/images/probability-weighted-payoffs.webp'},{'revision':'6cbaf652f2f9b34c9992e3c1a2568041','url':'/learn/images/protective-put-umbrella.webp'},{'revision':'f5fa23dc683bb169460117a624607232','url':'/learn/images/python-dataframe-source.webp'},{'revision':'a0d5aff2d285ebe0a30df61d08215c5c','url':'/learn/images/python-function-contract.webp'},{'revision':'189deb6cfd8a551702977a7976bd75f6','url':'/learn/images/python-function-flow.webp'},{'revision':'90887f007f0cc71ecf68ba231f06ffca','url':'/learn/images/python-function-test-cases.webp'},{'revision':'3089e027533adde24d682aadcbb7993d','url':'/learn/images/python-information-timing.webp'},{'revision':'78451536536d2ac8ab30dfc7b3611bd9','url':'/learn/images/python-list-indices.webp'},{'revision':'f0afe7810f53d007eece83d1561c6717','url':'/learn/images/python-loop-accumulation.webp'},{'revision':'c65efa9845ecd5fe6234ff4efe031114','url':'/learn/images/python-number-string.webp'},{'revision':'ed41650c4a73e2a768f6b35478b1abe4','url':'/learn/images/python-price-bindings.webp'},{'revision':'3393c08164471abc62780f46b060be7b','url':'/learn/images/python-rule-pipeline.webp'},{'revision':'46fa9a032eddb7b0af8681f16747f310','url':'/learn/images/python-shifted-returns.webp'},{'revision':'0c4f219278c5e7e2c81d02461e7f459e','url':'/learn/images/python-signal-position-lanes.webp'},{'revision':'d433601372484634d79cd29597d8a455','url':'/learn/images/python-table-date-order.webp'},{'revision':'9bae6ce24cd61b8dd37ce385d397f3ec','url':'/learn/images/python-table-missing.webp'},{'revision':'b1822a9ad2810be8863547cc77b7baae','url':'/learn/images/python-threshold-condition.webp'},{'revision':'01141eac4daf479fead39737817665a4','url':'/learn/images/python-trailing-window.webp'},{'revision':'6b141d85d1b91c302c360ab390ef23d5','url':'/learn/images/python-validation-lineage.webp'},{'revision':'c3b90818f0571f6508e4201d082774a8','url':'/learn/images/queue-behind-two-orders.webp'},{'revision':'b2cc9b0abba4413b09c9a757946ffba3','url':'/learn/images/research-r-cp01-1.webp'},{'revision':'04c937c8a0a08126e21646f215a978e4','url':'/learn/images/research-r-cp01-2.webp'},{'revision':'c4b6de71eaf99581b1bcce96093a4fdf','url':'/learn/images/research-r-cp01-3.webp'},{'revision':'2c03c7e6161f72ad2f430a71170e0874','url':'/learn/images/research-r-cp01-4.webp'},{'revision':'e1d45f877fba51d7a7c59ede0016bed9','url':'/learn/images/research-r-cp02-1.webp'},{'revision':'1cb8719899b25d58b70cb2eaec2e1096','url':'/learn/images/research-r-cp02-2.webp'},{'revision':'3fbad73404fd27971d48b5e0a99024c2','url':'/learn/images/research-r-cp02-3.webp'},{'revision':'5d623a3639c0a990a7a527b49d129674','url':'/learn/images/research-r-cp03-1.webp'},{'revision':'dab05c478962042a53d81b82cc4ae52f','url':'/learn/images/research-r-cp03-2.webp'},{'revision':'3df397e9ebef0419ba1dd190e575261d','url':'/learn/images/research-r-cp03-3.webp'},{'revision':'4d0fba85d4ab2d33d1bc06a14f8b455a','url':'/learn/images/research-r-cp03-4.webp'},{'revision':'9083f38892e7766026a75adf4c1d4545','url':'/learn/images/research-r-cp04-1.webp'},{'revision':'b7063d0af7cf214ac457ffb19f8acc6b','url':'/learn/images/research-r-cp04-2.webp'},{'revision':'18dd035e8da70aeab889452c763156f5','url':'/learn/images/research-r-cp04-3.webp'},{'revision':'9a4d7e71b7e994f5230ef1ccb3ca9be5','url':'/learn/images/research-r-cp04-4.webp'},{'revision':'a896d63e29fb56dd0a4bf96de9914c7e','url':'/learn/images/research-r-cp05-1.webp'},{'revision':'239c658f44fab560272b4d4fa807a1ed','url':'/learn/images/research-r-cp05-2.webp'},{'revision':'ae9dda1456e48401b904813ecac65a54','url':'/learn/images/research-r-cp05-3.webp'},{'revision':'2c04298d62278adfaee576d2608ae0fe','url':'/learn/images/research-r-cp05-4.webp'},{'revision':'ac660a7306290b992be4e98232515b6c','url':'/learn/images/research-r-cp05-5.webp'},{'revision':'bad565adeb4397327f1a947c55b7b874','url':'/learn/images/research-r-cp06-1.webp'},{'revision':'2a2c20efc8fb007c177b418664fe87a7','url':'/learn/images/research-r-cp06-2.webp'},{'revision':'23d72d154143ee54e2442ef15ea9e3a1','url':'/learn/images/research-r-cp06-3.webp'},{'revision':'870a6060a3329b4c77d0533aaa8bd356','url':'/learn/images/research-r-cp06-4.webp'},{'revision':'6f8efd6e1a135f1bd623971ce6121b99','url':'/learn/images/research-r-cp07-1.webp'},{'revision':'8decdd8929f947b25d3e0a8dfeacf237','url':'/learn/images/research-r-cp07-2.webp'},{'revision':'e23f792ad427b2703c280758d066f74c','url':'/learn/images/research-r-cp07-3.webp'},{'revision':'05a973b28775f4e63e899f9bcc1ebe31','url':'/learn/images/research-r-fm01-1.webp'},{'revision':'792949da8f53ec7e1a7acc5557e388f8','url':'/learn/images/research-r-fm01-2.webp'},{'revision':'61137be6d34d14c3b61fb3ca32b5dba2','url':'/learn/images/research-r-fm01-3.webp'},{'revision':'823a10fb13bd760a9a2831191e9f429c','url':'/learn/images/research-r-fm01-4.webp'},{'revision':'9c49ac5a6665b927ac8a84a643fc073d','url':'/learn/images/research-r-fm02-1.webp'},{'revision':'27fe097111815a7d6693bd32275ccf04','url':'/learn/images/research-r-fm02-2.webp'},{'revision':'a1ad99b3e600f9da508bea3f6bcd729e','url':'/learn/images/research-r-fm02-3.webp'},{'revision':'b3549414d8d9345e5c55a8117e405a35','url':'/learn/images/research-r-fm02-4.webp'},{'revision':'3df5ceedb373fcd6b6f8a2d08e00ed2a','url':'/learn/images/research-r-fm03-1.webp'},{'revision':'f0ab2dcc29393fdcea5523fdce4b42c8','url':'/learn/images/research-r-fm03-2.webp'},{'revision':'bcd035b5943fa9b09e33f95bccf04a83','url':'/learn/images/research-r-fm03-3.webp'},{'revision':'1ec02a10372ff672fedcbd35a4b219ea','url':'/learn/images/research-r-fm03-4.webp'},{'revision':'8ce357086e5c3c43686397bd00d77c25','url':'/learn/images/research-r-fm04-1.webp'},{'revision':'f110e5d4e8f13f3177a396181ece72d8','url':'/learn/images/research-r-fm04-2.webp'},{'revision':'3fab63d795984fda379da81a2efd0087','url':'/learn/images/research-r-fm04-3.webp'},{'revision':'e830e49b66dd598c0653b8029ccc7646','url':'/learn/images/research-r-fm04-4.webp'},{'revision':'0ad6d21a94c52c34eecf80041faeac7b','url':'/learn/images/research-r-fm05-1.webp'},{'revision':'e0cc3ab52fdd17c7f14a3f62d444c8ab','url':'/learn/images/research-r-fm05-2.webp'},{'revision':'75776e94cbbcbf94a6efe4eb05222c9f','url':'/learn/images/research-r-fm05-3.webp'},{'revision':'a52538ff1025b2d44560055811d3decf','url':'/learn/images/research-r-fm05-4.webp'},{'revision':'ed78708ffb554c175c0092c5b7b5f977','url':'/learn/images/research-r-fm06-1.webp'},{'revision':'b56b2150ade270e22134a3de0334934e','url':'/learn/images/research-r-fm06-2.webp'},{'revision':'707e7c7f5e7278da453d517d74e7fd4e','url':'/learn/images/research-r-fm06-3.webp'},{'revision':'d8d6e29c486f6102e8956b80a4569085','url':'/learn/images/research-r-fm06-4.webp'},{'revision':'a155fb86c13456aa9c652d0c62087f0d','url':'/learn/images/research-r-fm07-1.webp'},{'revision':'ed230cd04eeed35af96259045dffe314','url':'/learn/images/research-r-fm07-2.webp'},{'revision':'b36c4192de5088aee220993adb7b063b','url':'/learn/images/research-r-fm07-3.webp'},{'revision':'1ae767b3d323a3dd1b86297fe1e186a1','url':'/learn/images/research-r-fm07-4.webp'},{'revision':'5f00c1826ed99b29d1236752cf2a0500','url':'/learn/images/research-r-mr01-1.webp'},{'revision':'625c1f17879c61bd54426d0380aa62a5','url':'/learn/images/research-r-mr01-2.webp'},{'revision':'c05c15618e18aa2991ba4e941308da21','url':'/learn/images/research-r-mr01-3.webp'},{'revision':'00e87c09f17944adbc9bbbac4b5c4c2e','url':'/learn/images/research-r-mr02-1.webp'},{'revision':'c10548c23f906b88612644dc6fbbaf28','url':'/learn/images/research-r-mr02-2.webp'},{'revision':'3fd85439cb16b63772aa051b8447ad81','url':'/learn/images/research-r-mr02-3.webp'},{'revision':'46408f125f9b75400e6f69ade54d638d','url':'/learn/images/research-r-mr03-1.webp'},{'revision':'19116e98ce3c9e2375b47eddc16ad2bd','url':'/learn/images/research-r-mr03-2.webp'},{'revision':'b4d74b657a88bd0d19544295cd63c0ab','url':'/learn/images/research-r-mr03-3.webp'},{'revision':'9a98632d6f45a0f53b0cf60b24b32516','url':'/learn/images/research-r-mr04-1.webp'},{'revision':'6caa8623d17b556277f970ea8936eae4','url':'/learn/images/research-r-mr04-2.webp'},{'revision':'9d4d9aff343f28f00783758bad303bd4','url':'/learn/images/research-r-mr04-3.webp'},{'revision':'c350a8bc8fd18eebd4a45e364de795c8','url':'/learn/images/research-r-mr04-4.webp'}
2,{'revision':'7b5bf658655c5d718d98291945eddaad','url':'/learn/images/research-r-mr05-1.webp'},{'revision':'9ebf2f9f62c94e7bcf707d6918b164dd','url':'/learn/images/research-r-mr05-2.webp'},{'revision':'5d3618c63e1226fc1f8bddfc448d7464','url':'/learn/images/research-r-mr05-3.webp'},{'revision':'e49d46bb510707a9ddcff88fc73491cc','url':'/learn/images/research-r-mr05-4.webp'},{'revision':'03be1493ec0c773f2d5273e3cf4a5d45','url':'/learn/images/research-r-mr05-5.webp'},{'revision':'22b7e4694a1bce0be5a9b642d999e1f5','url':'/learn/images/research-r-mr06-1.webp'},{'revision':'d984f5b17406e8cd5890cb1d47aadec5','url':'/learn/images/research-r-mr06-2.webp'},{'revision':'aa071d4a2239536c9bfcdc1a6d0b53fd','url':'/learn/images/research-r-mr06-3.webp'},{'revision':'35daf2e8c2ebeb61a408f75e24515f2e','url':'/learn/images/research-r-mr07-1.webp'},{'revision':'e6a5b07969e15c2f12c4cdaf2e09f94d','url':'/learn/images/research-r-mr07-2.webp'},{'revision':'9c7dfb744e3bff33bc0d0455acbfd8ab','url':'/learn/images/research-r-mr07-3.webp'},{'revision':'097f51b19a204fba383281bbcf0a9c67','url':'/learn/images/research-r-mr07-4.webp'},{'revision':'10814ca7900042be77e90da5117c1759','url':'/learn/images/research-r-mr07-5.webp'},{'revision':'711886dd02324951b42ea1ecc47ff387','url':'/learn/images/research-r-mr07-refit-policy.webp'},{'revision':'9245e9b35a4edb7f30c55f296edd4123','url':'/learn/images/research-r-mr08-1.webp'},{'revision':'1f7fd51156c2e2af4442cf81ba2e8ae2','url':'/learn/images/research-r-mr08-2.webp'},{'revision':'839d60a6bb1654cd0be1b41183dc009a','url':'/learn/images/research-r-mr08-3.webp'},{'revision':'c7a262bccce56562d3b923ed14325a33','url':'/learn/images/research-r-mr08-4.webp'},{'revision':'7bbe6aebbbd3379597ddb12ab066aa4e','url':'/learn/images/research-r-mr08-5.webp'},{'revision':'394e2a8de94211525ec29948d05be933','url':'/learn/images/research-r-sn01-1.webp'},{'revision':'a998e2637e3dab20f685779527f4a00c','url':'/learn/images/research-r-sn01-2.webp'},{'revision':'31c493952e1aa430522c72eac5b2a1da','url':'/learn/images/research-r-sn01-3.webp'},{'revision':'8e59189cb2b34661077377f3f3d28aef','url':'/learn/images/research-r-sn01-4.webp'},{'revision':'a72640178fcd95101db1813355fd23ef','url':'/learn/images/research-r-sn02-1.webp'},{'revision':'64b2f3affb018ef7a78b7ba35ecb72df','url':'/learn/images/research-r-sn02-2.webp'},{'revision':'a18e3f9e404052a6a5832541288f055f','url':'/learn/images/research-r-sn02-3.webp'},{'revision':'edcb92fbc99e51e035dd8455e7655c09','url':'/learn/images/research-r-sn02-4.webp'},{'revision':'aa5fa7c829eb02234777d55437bf7441','url':'/learn/images/research-r-sn03-1.webp'},{'revision':'2bd3c7fd81d99fc4716aad169019d845','url':'/learn/images/research-r-sn03-2.webp'},{'revision':'f80ebae4d2437c16a88ba9efc410e816','url':'/learn/images/research-r-sn03-3.webp'},{'revision':'011e59e2bc1a28324d306f612d0560a7','url':'/learn/images/research-r-sn03-4.webp'},{'revision':'15560477fe582b312f02dedb7b6a59b7','url':'/learn/images/research-r-sn03-5.webp'},{'revision':'f01dee4665d42cbe403779d6149f4e55','url':'/learn/images/research-r-sn04-1.webp'},{'revision':'611ec2e455cc9867360c7db5f0fec2f4','url':'/learn/images/research-r-sn04-2.webp'},{'revision':'4752c660499b20457fbd2228ab074546','url':'/learn/images/research-r-sn04-3.webp'},{'revision':'4ea05e1cacd67f0f02074197e9892528','url':'/learn/images/research-r-sn04-4.webp'},{'revision':'ad14771485a2822f820cf5b8895b68c8','url':'/learn/images/research-r-sn05-1.webp'},{'revision':'794d14ac3739813fffcc415474762ab1','url':'/learn/images/research-r-sn05-2.webp'},{'revision':'b2dfd84bf034021923fbe002d8da437b','url':'/learn/images/research-r-sn05-3.webp'},{'revision':'1fb782f79b3f66273d0bcb8ace399ea5','url':'/learn/images/research-r-sn06-1.webp'},{'revision':'7cea608af777d334da62fa77c113a745','url':'/learn/images/research-r-sn06-2.webp'},{'revision':'8105d0d0b27282b2fada004c0cc407c0','url':'/learn/images/research-r-sn06-3.webp'},{'revision':'1662dcd71a83f3abadca1a7f5788d700','url':'/learn/images/research-r-ts01-1.webp'},{'revision':'96a116177f66c35da4c11ed3bd4388c4','url':'/learn/images/research-r-ts01-2.webp'},{'revision':'35cffab690ea03dc6f010ec65f57dba0','url':'/learn/images/research-r-ts01-3.webp'},{'revision':'d33c92050b9db8fbb211bcbe91a5907f','url':'/learn/images/research-r-ts02-1.webp'},{'revision':'0c6474ab52c6b47b1f5b2f19a11aa45f','url':'/learn/images/research-r-ts02-2.webp'},{'revision':'cc94a1c713fd657c66434bb2206c71fe','url':'/learn/images/research-r-ts02-3.webp'},{'revision':'66bf93598bdd9eb1cc59d4d02aa8a965','url':'/learn/images/research-r-ts03-1.webp'},{'revision':'a82682b10ea76065f3533eb5487ab50f','url':'/learn/images/research-r-ts03-2.webp'},{'revision':'ac6a8843a84545ed55a4ff44cb9789f9','url':'/learn/images/research-r-ts03-3.webp'},{'revision':'2ef258e900eccc98ba7728889904a20e','url':'/learn/images/research-r-ts03-4.webp'},{'revision':'dedc242671d4b5e503604189ccfb44a6','url':'/learn/images/research-r-ts03-5.webp'},{'revision':'bd0ee10c870e6d6fe54c5249ec305265','url':'/learn/images/research-r-ts04-1.webp'},{'revision':'d14e4ce27302ff729e3989a27887940d','url':'/learn/images/research-r-ts04-2.webp'},{'revision':'502c5251586c9388f429ecd8a6908b94','url':'/learn/images/research-r-ts04-3.webp'},{'revision':'7fa1ccd32f6a1a7a563bb24e7af64a14','url':'/learn/images/research-r-ts05-1.webp'},{'revision':'e62ae622c3f0bdf7aa1626e0cdcd5517','url':'/learn/images/research-r-ts05-2.webp'},{'revision':'b6e94754fa8a06fa9b85f44bee8db666','url':'/learn/images/research-r-ts05-3.webp'},{'revision':'f8a79d67c97552548315cd0be29fd6fd','url':'/learn/images/return-cashflow-ledger.webp'},{'revision':'f6ed00e1a4bc905cefdd1e7bae10b160','url':'/learn/images/return-split-adjustment.webp'},{'revision':'8853359f292359b783eca3b6ebb4a0ff','url':'/learn/images/risk-comparison-horizons.webp'},{'revision':'a8b2b318b688d2d9a6edc4379a02fe4f','url':'/learn/images/signal-at-dusk-held-at-dawn.webp'},{'revision':'82d10c9cc75dc7bf1eed23e9be392169','url':'/learn/images/spread-profit-ledger.webp'},{'revision':'1cf96a687d2c028e7af755895220fb80','url':'/learn/images/t-k01-asymmetry.webp'},{'revision':'de2ae9ab7e4e13edff564579c6e5f889','url':'/learn/images/t-k01-costs.webp'},{'revision':'007090f19d2b5595d7167db40b82a80c','url':'/learn/images/t-k02-fraction.webp'},{'revision':'a6f7fc98a03ee1b065152e893173745a','url':'/learn/images/t-k02-ruin.webp'},{'revision':'a5e3474f65ff84dda28bd089fe6e1d95','url':'/learn/images/t-k03-grid.webp'},{'revision':'c07aee28093c95825d864000a6f55289','url':'/learn/images/t-k03-logs.webp'},{'revision':'acf18cff630fd78fa3520ca6696ee28c','url':'/learn/images/t-k04-fractions.webp'},{'revision':'573b3bd1973c8ee8def400c0da7c0f32','url':'/learn/images/t-k04-probabilities.webp'},{'revision':'ec779dacf2246cb7d604148b7ecd51e3','url':'/learn/images/t-k05-combined.webp'},{'revision':'3b8bbe26ffb56a3d4b1bdce2e328a777','url':'/learn/images/t-k05-shared.webp'},{'revision':'ee739d3d18649732e67baf8c95d4a56a','url':'/learn/images/t-k06-evidence.webp'}
2,{'revision':'f6fbe6382695090fcbb2a9c9a9415526','url':'/learn/images/t-k06-gap.webp'},{'revision':'4d57055dbabe3a5e737d11fb5bc32419','url':'/learn/images/t-rp01-capital.webp'},{'revision':'c15a0e802ed45d5ec67d8f9e1f960b71','url':'/learn/images/t-rp01-scenarios.webp'},{'revision':'ce06543a63b6eb470ed2f7dcce24f25d','url':'/learn/images/t-rp02-offset.webp'},{'revision':'0fde62ccd6a8bcffd24e3e87f3238601','url':'/learn/images/t-rp02-regimes.webp'},{'revision':'a4b5c8d7865e083c06028df61671371f','url':'/learn/images/t-rp03-contributions.webp'},{'revision':'c7d0131919e2d961b1f4b36dda2bfdeb','url':'/learn/images/t-rp03-covariance.webp'},{'revision':'d6d0803e981cfd1d4c0e387e3452b843','url':'/learn/images/t-rp03-three.webp'},{'revision':'852493cd75688e38ce500f93c17b8dcc','url':'/learn/images/t-rp03-weights.webp'},{'revision':'f0f4e79992b6338722352cbbaf69d9be','url':'/learn/images/t-rp04-rebalance.webp'},{'revision':'116fcb82212edd6abf8f37d2e5c9ffaf','url':'/learn/images/t-rp04-windows.webp'},{'revision':'3667d70fc4783f29c778e7626c224a09','url':'/learn/images/t-rp05-loan.webp'},{'revision':'22b7d19c6e48ef2e710ab656517297dc','url':'/learn/images/t-rp05-short.webp'},{'revision':'d2b1df1e0073addc096b6058316cc01d','url':'/learn/images/t-rp06-cap.webp'},{'revision':'fa598c500efb678427a9a4f0cb2beb5e','url':'/learn/images/t-rp06-mismatch.webp'},{'revision':'b1306ecdaca00c460be4fd1f719b83f8','url':'/learn/images/t-rv01-budget.webp'},{'revision':'cab380af5c6b2a66c0b643baaaad7748','url':'/learn/images/t-rv01-shocks.webp'},{'revision':'5767d2c0e587baf68375f18b6e11acb7','url':'/learn/images/t-rv02-confidence.webp'},{'revision':'0b2a31beeefd25021ee1107c665230d6','url':'/learn/images/t-rv02-sorted.webp'},{'revision':'59cde49455c223860cd2091e1abdb0dc','url':'/learn/images/t-rv03-small-tail.webp'},{'revision':'bad004dbdd062cf25704309204392300','url':'/learn/images/t-rv03-tail.webp'},{'revision':'c19a5ab33afd6cb8f45fc75c07a3a729','url':'/learn/images/t-rv04-joint.webp'},{'revision':'6713c291aa45d984ec4e162f7b5a808c','url':'/learn/images/t-rv04-reverse.webp'},{'revision':'26a4d8412730de8ea91b8677bd84c9de','url':'/learn/images/t-rv05-clusters.webp'},{'revision':'7537f322cb73fd766af1cdf73822471d','url':'/learn/images/t-rv05-pairs.webp'},{'revision':'d5677bed6e866725c5364bf2bda31b97','url':'/learn/images/t-tc01-components.webp'},{'revision':'8438f484020d0579215796f1afca871d','url':'/learn/images/t-tc01-ledger.webp'},{'revision':'3529d149dc76ba479703ca78d018c961','url':'/learn/images/t-tc02-book.webp'},{'revision':'11ff5b3adc53084881977d1a016ac461','url':'/learn/images/t-tc02-participation.webp'},{'revision':'618fd5acef223196e80d0496ba663944','url':'/learn/images/t-tc03-paths.webp'},{'revision':'97a03fa00f4c0cda1d8fd5121ddabb74','url':'/learn/images/t-tc03-slices.webp'},{'revision':'73cf8134151097a4c51b7745cff1be01','url':'/learn/images/t-tc04-capacity.webp'},{'revision':'266bcea50bb4954d7dcf2f74ab47d4ac','url':'/learn/images/t-tc04-uncertainty.webp'},{'revision':'fe09fe986821f86537a8bf2eaece562a','url':'/learn/images/t-tc05-evidence.webp'},{'revision':'ca7f41ff5be25a23c7ccdc07b42dc2f8','url':'/learn/images/t-tc05-record.webp'},{'revision':'47fa380bbfc77c1e0a51cfa5dc936762','url':'/learn/images/t-vb01-factor.webp'},{'revision':'928fb6c92040d7450770a052a9ca7adf','url':'/learn/images/t-vb01-pv.webp'},{'revision':'26aedafc0a3a9dfa8ad9a9b4133afd2c','url':'/learn/images/t-vb02-stream.webp'},{'revision':'6dc53ae9d00238f9717109b675de66e1','url':'/learn/images/t-vb02-terminal.webp'},{'revision':'2e1041263b4037a86cbd84b6f981e8d1','url':'/learn/images/t-vb03-multiple.webp'},{'revision':'7d699bf6748ac156c67d014821ac598d','url':'/learn/images/t-vb03-peers.webp'},{'revision':'905f1fedd9ab988fa0d2d7d305104409','url':'/learn/images/t-vb04-scenarios.webp'},{'revision':'0a1ed345dc34868c55d5dde78a3f77bb','url':'/learn/images/t-vb04-sensitivity.webp'},{'revision':'2a28a0dbee65e97fddaaa84865bbdb94','url':'/learn/images/t-vb05-buffer.webp'},{'revision':'a6e7157d55529e62c875c19fad70866d','url':'/learn/images/t-vb05-waiting.webp'},{'revision':'21c60b52a546579bf088bb426f92e4b6','url':'/learn/images/toll-on-every-position-change.webp'},{'revision':'0587a8bad0b8e1ad27c1f8dbdc862338','url':'/learn/images/trade-values-on-name-tags.webp'},{'revision':'43ea9caf57b747d8395be43425f41d55','url':'/learn/images/tuesday-left-blank.webp'},{'revision':'59dcfa8e616ed760f98a6e5878941171','url':'/learn/images/two-desk-clocks-one-instant.webp'},{'revision':'d386955b1fceecfee9f090e7d3463255','url':'/learn/images/two-lanes-one-finish-line.webp'},{'revision':'0ab6feaa1fb9c77319fa7eb5dca9703b','url':'/learn/images/two-pendulums-same-centre.webp'},{'revision':'c1d8d76ed452c90c64cd66c94750fbdd','url':'/learn/images/unfilled-execution-quality.webp'},{'revision':'36c8748a066ebd10e7237be3b07d31e9','url':'/learn/images/venue-routing-size.webp'},{'revision':'a4b1bd9b5fe6c176e4055d688b7dcf97','url':'/learn/images/volatility-return-comparison.webp'},{'revision':'12147ed06de63e29e21c291e9bc500d0','url':'/learn/python-worker.js'},{'revision':'1e56c8d935f084212bcd44e05e366acd','url':'/logos/apple-touch-icon.png'},{'revision':'e3badb94206329a1438e98b696cbe177','url':'/logos/email-sig-border-dark.png'},{'revision':'4426e16845fc1d4d35c7cb325b11ec80','url':'/logos/email-sig-border-light.png'}
2,{'revision':'f31c31707c8a7263ebfdab2855b9ac81','url':'/logos/email-sig-rule-dark.png'},{'revision':'28a6d078624bfcb28f07bcc748b23d21','url':'/logos/email-sig-rule-light.png'},{'revision':'3c43f3e931124a5fd914d725cbc5860f','url':'/logos/email-sig-surface-dark.png'},{'revision':'f4f85b054aaf1235c5919ba58405bd3f','url':'/logos/email-sig-surface-light.png'},{'revision':'a2a340ca840dd6c13800c0fc5b022f1f','url':'/logos/email-signature-dark.png'},{'revision':'e708a71f483c36342996c39b757b631a','url':'/logos/email-signature.png'},{'revision':'90c1d104917a8f5fcd2994b9ba2dfdb4','url':'/logos/favicon-192.png'},{'revision':'17954a66e1ebd3d89de955952b688c56','url':'/logos/favicon-48.png'},{'revision':'384260b0f49c1423f1f54f0ffd37c560','url':'/logos/favicon-512.png'},{'revision':'4a59d1c58af5f29682ca863d0683cd9c','url':'/logos/logo-animation.gif'},{'revision':'995f45afbbf25e090017860dc8a07d97','url':'/logos/logo-badge.png'},{'revision':'7ffedba9f123fa595e50be3a06189e17','url':'/logos/logo-dark.png'},{'revision':'3d3492f33a66ed96e355d144cc2c6728','url':'/logos/logo-light.png'},{'revision':'dc332fd15516cd3864a6e1a538901a6e','url':'/logos/logo-metal-bronze.png'},{'revision':'10a85ee50cf1304d71895df4372ce0b1','url':'/logos/logo-metal-gold.png'},{'revision':'d3c9170a8d8e5e8e364b68eae91cebff','url':'/logos/logo-metal-platinum.png'},{'revision':'0227108b5251d4a77c3e61258c89310b','url':'/logos/logo-metal-silver.png'},{'revision':'e3daee727d8b164a28eca8df740e1dd3','url':'/logos/logo-metallic.svg'},{'revision':'e6c9b4e2594408c21d5c30715444a807','url':'/logos/logo.svg'},{'revision':'ba5ff63ec7645618eb4a4252411f5305','url':'/logos/logo1024.png'},{'revision':'366818a80ea6771e350d4029fd48f8a5','url':'/logos/logo192-maskable.png'},{'revision':'366818a80ea6771e350d4029fd48f8a5','url':'/logos/logo192.png'},{'revision':'e8745d8bf88752e0f860fd3f67065e70','url':'/logos/logo512-maskable.png'},{'revision':'ea7408566157a79ba3b2ae330f177429','url':'/marketing/quantsoc-trailer-16x9.mp4'},{'revision':'d7b6f4039a109d86653e6eedd1572e08','url':'/marketing/quantsoc-trailer-1x1.mp4'},{'revision':'3c4ba53ce1c03b13ebdf894c57d4885d','url':'/marketing/quantsoc-trailer-9x16.mp4'},{'revision':'6501db23b594bf93b1a87a46d3d7fd74','url':'/marketing/quantsoc-trailer-poster.jpg'},{'revision':'bfd3aed848bad6f89cb97207d6289ebe','url':'/marketing/quantsoc-trailer.srt'},{'revision':'c418b65fff607c78912ae0f3bcbd2d36','url':'/offline-warm-paths.json'},{'revision':'c7de261595e126fe5a9e45e128c8db64','url':'/og/marketing-snapshot-dark.jpg'},{'revision':'66883208771545166787a470e2da652e','url':'/og/marketing-snapshot-light.jpg'},{'revision':'c73cf4448df463274dfcb2e0603ed31e','url':'/partners/compsoc.png'},{'revision':'8610cffc62c269347c48497c6415a9d0','url':'/partners/hudson-river-trading.svg'},{'revision':'b534e91b3714f8479915ed806b7853d7','url':'/partners/jane-street.svg'},{'revision':'885e85ace85511edc31b775f042de90b','url':'/partners/university-of-edinburgh.png'},{'revision':'7711876c09cd456d451bfaccd819b4e4','url':'/prizes/cap.webp'},{'revision':'0a5680c06a5718793115ded7bee8cd9e','url':'/prizes/hoodie.webp'},{'revision':'745900a164c3880459e2900e0a02e57e','url':'/prizes/logo.webp'},{'revision':'8c9254dcbf53b16190af8a44f8f01f22','url':'/prizes/tee.webp'},{'revision':'c611f47a7bad2307f7654c43e198e3d5','url':'/sponsors-showcase/achievements.jpg'},{'revision':'8a3cc4aa1659f0808e1d76a98b5cddb9','url':'/sponsors-showcase/games.jpg'},{'revision':'eeb1d21dd2b075e5de3d8a9e334bf1a3','url':'/sponsors-showcase/interview-questions.jpg'},{'revision':'47a4739b2dfde0bb3718764107908f23','url':'/sponsors-showcase/leaderboards.jpg'},{'revision':'dbfe074a155319a8d47dfd5e1d63b6ed','url':'/sponsors-showcase/learn-course-cover.jpg'},{'revision':'184bd1e2c3172de5cc075cf4b756a8be','url':'/sponsors-showcase/learn-interactive-widget.jpg'},{'revision':'7f31fab451c45a4a4bd184a6db162ec5','url':'/sponsors-showcase/learn.jpg'},{'revision':'5bfec753a991352079b00b4b630f9788','url':'/sponsors-showcase/prizes.jpg'},{'revision':'ac6f3347ffe593c1786753aed7a6225d','url':'/sponsors/citadel-securities.svg'},{'revision':'82cf7aa570000b4dd591dbe310868414','url':'/sponsors/five-rings.svg'},{'revision':'a3eb4176da2f3ef8b1d11b00c3c996b3','url':'/sponsors/g-research.svg'},{'revision':'4853d9f0be2e2aa8ea311821c85c23e4','url':'/sponsors/hudson-river-trading.svg'}
2,{'revision':'e8ae78e477652c9fccd66ed824ddfd72','url':'/sponsors/imc-trading.svg'},{'revision':'b534e91b3714f8479915ed806b7853d7','url':'/sponsors/jane-street.svg'},{'revision':'b14701bda04e67b4c2744c76ed1616b5','url':'/sponsors/jump-trading.png'},{'revision':'4923f2741726c63f645c7056169371cb','url':'/sponsors/marshall-wace.png'},{'revision':'4a60907e93bbd3f04f1297c3ccbc4474','url':'/sponsors/optiver.svg'},{'revision':'9f2487440e7766688a2aaa73fbda6c29','url':'/sponsors/susquehanna-international-group.svg'},{'revision':'2c4459cbf5049f01fdb2d308fce94131','url':'/sponsors/tpp.png'}],skipWaiting:!0,clientsClaim:!0,navigationPreload:!1,runtimeCaching:eG});async function eQ(){try{let e=await caches.open(eH);await Promise.all([e.add(new Request(eT,{cache:"reload"})),e.add(new Request(eq,{cache:"reload"}))])}catch(e){}}async function ez(e){let t=eC(e.url);if(t)try{let e=await caches.open(eN),a=null,n=-1;for(let s of(await e.keys())){if(eC(s.url)!==t)continue;let e=function(e){try{let t=new URL(e).searchParams.get("w");if(!t)return 0;let a=Number.parseInt(t,10);return Number.isFinite(a)?a:0}catch(e){return 0}}(s.url);e>n&&(n=e,a=s)}if(a){let t=await e.match(a);if(t)return t}}catch(e){}let a=await caches.open(eH),n=await a.match(eq);return null!=n?n:Response.error()}async function eY(){let e;try{e=await caches.open(eR.html)}catch(e){return}for(let t of ek)try{let a=new Request(t,{credentials:"omit",cache:"reload",headers:{Accept:"text/html,application/xhtml+xml;q=0.9,*/*;q=0.8"}}),n=await fetch(a);if(!n.ok||200!==n.status||n.redirected)continue;await e.put(a,n.clone())}catch(e){}}eV.addEventListeners(),self.addEventListener("install",e=>{e.waitUntil(eQ())}),eV.setCatchHandler(async e=>{let{request:t}=e;if("document"===t.destination||"navigate"===t.mode){let e=await caches.open(eH),t=await e.match(eT);return t||Response.error()}return"image"===t.destination?ez(t):Response.error()}),self.addEventListener("push",e=>{var t,a,n;let s={};try{s=null!=(n=null==(a=e.data)?void 0:a.json())?n:{}}catch(e){}let r={body:s.body||"",icon:s.icon||"/logos/logo192-maskable.png",badge:s.badge||"/logos/logo-badge.png",tag:s.tag||"notification",data:{url:s.url||"/",actionUrls:s.actionUrls||{}}};s.image&&(r.image=s.image),s.lang&&(r.lang=s.lang),s.dir&&(r.dir=s.dir),s.timestamp&&(r.timestamp=s.timestamp),s.vibrate&&(r.vibrate=s.vibrate),s.renotify&&(r.renotify=!0),s.requireInteraction&&(r.requireInteraction=!0),s.silent&&(r.silent=!0),(null==(t=s.actions)?void 0:t.length)&&(r.actions=s.actions),e.waitUntil(self.registration.showNotification(s.title||eW.adminInbox.notifications.fallbackTitle,r))}),self.addEventListener("notificationclick",e=>{var t;e.notification.close();let a=e.notification.data,n=e.action&&(null==a||null==(t=a.actionUrls)?void 0:t[e.action])||(null==a?void 0:a.url)||"/";e.waitUntil((async()=>{for(let e of(await self.clients.matchAll({type:"window",includeUncontrolled:!0})))if(e.url.includes(n)&&"focus"in e)return e.focus();return self.clients.openWindow(n)})())}),self.addEventListener("activate",e=>{e.waitUntil((async()=>{try{await Promise.all(e$.map(e=>caches.delete(e)))}catch(e){}await eQ(),await eY()})())})})();
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.