1 2!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="7b8c9fbd-3143-59a3-b124-6517e449edbb")}catch(e){}}(); 3(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`60a1924d55a4363bf7a02119bb1e098b4535fc4f`}}catch{}})();var e=[{code:`AB`,aliases:[`alberta`,`ab`]},{code:`BC`,aliases:[`british columbia`,`colombie britannique`,`bc`,`c b`]},{code:`MB`,aliases:[`manitoba`,`mb`]},{code:`NB`,aliases:[`new brunswick`,`nouveau brunswick`,`nb`,`n b`]},{code:`NL`,aliases:[`newfoundland and labrador`,`terre neuve et labrador`,`newfoundland`,`labrador`,`nl`,`t n l`]},{code:`NS`,aliases:[`nova scotia`,`nouvelle ecosse`,`ns`,`n e`]},{code:`NT`,aliases:[`northwest territories`,`territoires du nord ouest`,`nt`,`t n o`]},{code:`NU`,aliases:[`nunavut`,`nu`]},{code:`ON`,aliases:[`ontario`,`on`]},{code:`PE`,aliases:[`prince edward island`,`ile du prince edouard`,`pei`,`pe`,`i p e`]},{code:`QC`,aliases:[`quebec`,`qc`,`pq`]},{code:`SK`,aliases:[`saskatchewan`,`sk`]},{code:`YT`,aliases:[`yukon`,`yt`]}];function t(e){return e.normalize(`NFKD`).replace(/\p{Mark}+/gu,``).toLocaleLowerCase(`en-CA`).replace(/[^\p{Letter}\p{Number}]+/gu,` `).trim().replace(/\s+/gu,` `).slice(0,160)}var n=new Map([[`levis`,`Lévis`],[`montreal`,`Montréal`],[`quebec`,`Québec`],[`quebec city`,`Québec`],[`saint jerome`,`Saint-Jérôme`],[`trois rivieres`,`Trois-Rivières`]]);function r(e){let r=e.trim();return n.get(t(r))||(r!==r.toLocaleUpperCase(`en-CA`)||!/\p{Letter}/u.test(r)?r:r.toLocaleLowerCase(`en-CA`).replace(/(^|[\s.-]|(?<=(?:^|[\s-])\p{Letter})['â])(\p{Letter})/gu,(e,t,n)=>`${t}${n.toLocaleUpperCase(`en-CA`)}`))}function i(e){return new Map(e.flatMap(([e,t,n])=>n.map(n=>[n,{city:e,regionCode:t}])))}var a=i([[`quebec`,`QC`,[`quebec city`,`ville de quebec`,`city of quebec`]],[`montreal`,`QC`,[`ville de montreal`,`city of montreal`,`mtl`]],[`st john s`,`NL`,[`st johns`,`saint johns`]],[`toronto`,`ON`,[`city of toronto`]],[`ottawa`,`ON`,[`city of ottawa`,`ville d ottawa`]],[`st catharines`,`ON`,[`st catherines`,`saint catherines`]],[`sault ste marie`,`ON`,[`sault st marie`]],[`vancouver`,`BC`,[`city of vancouver`]]]);i([[`toronto`,`ON`,[`gta`,`greater toronto area`,`greater toronto`]],[`montreal`,`QC`,[`greater montreal`,`grand montreal`]],[`gatineau`,`QC`,[`hull`]],[`ottawa`,`ON`,[`ottawa gatineau`,`gatineau ottawa`,`national capital region`]],[`sudbury`,`ON`,[`greater sudbury`,`grand sudbury`]],[`kitchener`,`ON`,[`kitchener waterloo`,`kw`]],[`vancouver`,`BC`,[`greater vancouver`,`metro vancouver`,`lower mainland`]],[`victoria`,`BC`,[`greater victoria`]],[`halifax`,`NS`,[`hrm`,`halifax regional municipality`]]]);var o=new Set([`quebec`]);function s(n){let r=t(n).replace(/\bcanada\b/gu,``).trim().replace(/\s+/gu,` `),i=r.replace(/\s+/gu,``).toUpperCase(),s=/^[ABCEGHJ-NPRSTVXY]\d[ABCEGHJ-NPRSTVWXYZ]/u.test(i)?i.slice(0,3):null,c=a.get(r);if(c)return{normalized:r,cityQuery:c.city,regionCode:c.regionCode,postalPrefix:null};let l=` ${r} `,u=e.flatMap(({code:e,aliases:t})=>t.flatMap(t=>{let n=` ${t} `,r=l.lastIndexOf(n);return r<0?[]:[{code:e,alias:t,index:r,atEnd:r+n.length===l.length}]})).sort((e,t)=>Number(t.atEnd)-Number(e.atEnd)||t.alias.length-e.alias.length)[0],d=u?`${l.slice(0,u.index)} ${l.slice(u.index+u.alias.length+2)}`.trim().replace(/\s+/gu,` `):r,f=u?a.get(d):void 0;if(f&&f.regionCode===u?.code)return{normalized:r,cityQuery:f.city,regionCode:f.regionCode,postalPrefix:null};let p=u?e.find(({aliases:e})=>e.includes(d))?.code??null:null,m=!!(u&&p&&(p!==u.code||!o.has(d)));return{normalized:r,cityQuery:m?``:d,regionCode:m?p:u?.code??null,postalPrefix:s}}var c=[{code:`AB`,en:`Alberta`,fr:`Alberta`},{code:`BC`,en:`British Columbia`,fr:`Colombie-Britannique`},{code:`MB`,en:`Manitoba`,fr:`Manitoba`},{code:`NB`,en:`New Brunswick`,fr:`Nouveau-Brunswick`},{code:`NL`,en:`Newfoundland and Labrador`,fr:`Terre-Neuve-et-Labrador`},{code:`NS`,en:`Nova Scotia`,fr:`Nouvelle-Ãcosse`},{code:`NT`,en:`Northwest Territories`,fr:`Territoires du Nord-Ouest`},{code:`NU`,en:`Nunavut`,fr:`Nunavut`},{code:`ON`,en:`Ontario`,fr:`Ontario`},{code:`PE`,en:`Prince Edward Island`,fr:`Ãle-du-Prince-Ãdouard`},{code:`QC`,en:`Quebec`,fr:`Québec`},{code:`SK`,en:`Saskatchewan`,fr:`Saskatchewan`},{code:`YT`,en:`Yukon`,fr:`Yukon`}];function l(e,t){let n=c.find(t=>t.code===e);return n?t===`fr`?n.fr:n.en:null}function u(e){let t=s(e);return t.regionCode&&!t.cityQuery&&!t.postalPrefix?{regionCode:t.regionCode}:null}export{s as a,t as i,u as n,r,l as t}; 4//# debugId=7b8c9fbd-3143-59a3-b124-6517e449edbb
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.