From 4030c3fef01b7d9e5748f7be78f142da60d299e6 Mon Sep 17 00:00:00 2001 From: sstent Date: Tue, 17 Feb 2026 16:04:22 -0800 Subject: [PATCH] Fix: Unified plug identity to Library/sstent/icalendar (v0.3.18) --- PLUG.md | 4 ++-- icalendar.plug.js | 2 +- icalendar.plug.yaml | 4 ++-- icalendar.ts | 2 +- repro_check.png | Bin 0 -> 100039 bytes verify_test_results.cjs | 35 +++++++++++++++++++++++++++++++++++ 6 files changed, 41 insertions(+), 6 deletions(-) create mode 100644 repro_check.png create mode 100644 verify_test_results.cjs diff --git a/PLUG.md b/PLUG.md index 78f2d0a..5957060 100644 --- a/PLUG.md +++ b/PLUG.md @@ -1,8 +1,8 @@ --- name: Library/sstent/icalendar -version: 0.3.17 +version: 0.3.18 tags: meta/library files: - icalendar.plug.js --- -iCalendar sync plug for SilverBullet. \ No newline at end of file +iCalendar sync plug for SilverBullet. diff --git a/icalendar.plug.js b/icalendar.plug.js index ea9da10..af4a19a 100644 --- a/icalendar.plug.js +++ b/icalendar.plug.js @@ -1,4 +1,4 @@ var ft=Object.defineProperty;var I=(e,t)=>{for(var n in t)ft(e,n,{get:t[n],enumerable:!0})};function pe(e){let t=atob(e),n=t.length,r=new Uint8Array(n);for(let o=0;o(...r)=>{let o=this.prefix?[this.prefix,...r]:r;this.originalConsole[n](...o),this.captureLog(n,r)};console.log=t("log"),console.info=t("info"),console.warn=t("warn"),console.error=t("error"),console.debug=t("debug")}captureLog(t,n){let r={level:t,timestamp:Date.now(),message:n.map(o=>{if(typeof o=="string")return o;try{return JSON.stringify(o)}catch{return String(o)}}).join(" ")};this.logBuffer.push(r),this.logBuffer.length>this.maxCaptureSize&&this.logBuffer.shift()}async postToServer(t,n){if(this.logBuffer.length>0){let o=[...this.logBuffer];this.logBuffer=[];try{if(!(await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o.map(i=>({...i,source:n})))})).ok)throw new Error("Failed to post logs to server")}catch(s){console.warn("Could not post logs to server",s.message),this.logBuffer.unshift(...o)}}}},ye;function fe(e=""){return ye=new Z(e),ye}var L=e=>{throw new Error("Not initialized yet")},ee=typeof window>"u"&&typeof globalThis.WebSocketPair>"u";typeof Deno>"u"&&(self.Deno={args:[],build:{arch:"x86_64"},env:{get(){}}});var X=new Map,Q=0;ee&&(globalThis.syscall=async(e,...t)=>await new Promise((n,r)=>{Q++,X.set(Q,{resolve:n,reject:r}),L({type:"sys",id:Q,name:e,args:t})}));function ge(e,t,n){ee&&(L=n,self.addEventListener("message",r=>{(async()=>{let o=r.data;switch(o.type){case"inv":{let s=e[o.name];if(!s)throw new Error(`Function not loaded: ${o.name}`);try{let i=await Promise.resolve(s(...o.args||[]));L({type:"invr",id:o.id,result:i})}catch(i){console.error("An exception was thrown as a result of invoking function",o.name,"error:",i.message),L({type:"invr",id:o.id,error:i.message})}}break;case"sysr":{let s=o.id,i=X.get(s);if(!i)throw Error("Invalid request id");X.delete(s),o.error?i.reject(new Error(o.error)):i.resolve(o.result)}break}})().catch(console.error)}),L({type:"manifest",manifest:t}),fe(`[${t.name} plug]`))}async function gt(e,t){if(typeof e!="string"){let n=new Uint8Array(await e.arrayBuffer()),r=n.length>0?J(n):void 0;t={method:e.method,headers:Object.fromEntries(e.headers.entries()),base64Body:r},e=e.url}return syscall("sandboxFetch.fetch",e,t)}globalThis.nativeFetch=globalThis.fetch;function vt(){globalThis.fetch=async function(e,t){let n=t&&t.body?J(new Uint8Array(await new Response(t.body).arrayBuffer())):void 0,r=await gt(e,t&&{method:t.method,headers:t.headers,base64Body:n});return new Response(r.base64Body?pe(r.base64Body):null,{status:r.status,headers:r.headers})}}ee&&vt();var x={};I(x,{alert:()=>tr,configureVimMode:()=>Er,confirm:()=>er,copyToClipboard:()=>mr,deleteLine:()=>pr,dispatch:()=>Qt,downloadFile:()=>kt,filterBox:()=>_t,flashNotification:()=>Vt,fold:()=>or,foldAll:()=>ar,getCurrentEditor:()=>At,getCurrentPage:()=>Et,getCurrentPageMeta:()=>Tt,getCurrentPath:()=>St,getCursor:()=>xt,getRecentlyOpenedPages:()=>ht,getSelection:()=>Ct,getText:()=>Pt,getUiOption:()=>rr,goHistory:()=>Ft,hidePanel:()=>jt,insertAtCursor:()=>Zt,insertAtPos:()=>qt,invokeCommand:()=>Dt,isMobile:()=>Sr,moveCursor:()=>Gt,moveCursorToLine:()=>Jt,moveLineDown:()=>gr,moveLineUp:()=>fr,navigate:()=>Ot,newWindow:()=>Ut,openCommandPalette:()=>wt,openPageNavigator:()=>Nt,openSearchPanel:()=>dr,openUrl:()=>Yt,prompt:()=>Xt,rebuildEditorState:()=>Kt,redo:()=>cr,reloadConfigAndCommands:()=>zt,reloadPage:()=>It,reloadUI:()=>Lt,replaceRange:()=>Wt,save:()=>Rt,sendMessage:()=>Tr,setSelection:()=>Mt,setText:()=>bt,setUiOption:()=>nr,showPanel:()=>$t,showProgress:()=>Ht,toggleComment:()=>yr,toggleFold:()=>sr,undo:()=>ur,unfold:()=>ir,unfoldAll:()=>lr,uploadFile:()=>Bt,vimEx:()=>vr});typeof self>"u"&&(self={syscall:()=>{throw new Error("Not implemented here")}});function l(e,...t){return globalThis.syscall(e,...t)}function Et(){return l("editor.getCurrentPage")}function Tt(){return l("editor.getCurrentPageMeta")}function St(){return l("editor.getCurrentPath")}function ht(){return l("editor.getRecentlyOpenedPages")}function At(){return l("editor.getCurrentEditor")}function Pt(){return l("editor.getText")}function bt(e,t=!1){return l("editor.setText",e,t)}function xt(){return l("editor.getCursor")}function Ct(){return l("editor.getSelection")}function Mt(e,t){return l("editor.setSelection",e,t)}function Dt(e,t){return l("editor.invokeCommand",e,t)}function Rt(){return l("editor.save")}function Ot(e,t=!1,n=!1){return l("editor.navigate",e,t,n)}function Nt(e="page"){return l("editor.openPageNavigator",e)}function wt(){return l("editor.openCommandPalette")}function It(){return l("editor.reloadPage")}function Lt(){return l("editor.reloadUI")}function Kt(){return l("editor.rebuildEditorState")}function zt(){return l("editor.reloadConfigAndCommands")}function Yt(e,t=!1){return l("editor.openUrl",e,t)}function Ut(){return l("editor.newWindow")}function Ft(e){return l("editor.goHistory",e)}function kt(e,t){return l("editor.downloadFile",e,t)}function Bt(e,t){return l("editor.uploadFile",e,t)}function Vt(e,t="info"){return l("editor.flashNotification",e,t)}function _t(e,t,n="",r=""){return l("editor.filterBox",e,t,n,r)}function $t(e,t,n,r=""){return l("editor.showPanel",e,t,n,r)}function jt(e){return l("editor.hidePanel",e)}function Ht(e,t){return l("editor.showProgress",e,t)}function qt(e,t){return l("editor.insertAtPos",e,t)}function Wt(e,t,n){return l("editor.replaceRange",e,t,n)}function Gt(e,t=!1){return l("editor.moveCursor",e,t)}function Jt(e,t=1,n=!1){return l("editor.moveCursorToLine",e,t,n)}function Zt(e,t=!1,n=!1){return l("editor.insertAtCursor",e,t,n)}function Qt(e){return l("editor.dispatch",e)}function Xt(e,t=""){return l("editor.prompt",e,t)}function er(e){return l("editor.confirm",e)}function tr(e){return l("editor.alert",e)}function rr(e){return l("editor.getUiOption",e)}function nr(e,t){return l("editor.setUiOption",e,t)}function or(){return l("editor.fold")}function ir(){return l("editor.unfold")}function sr(){return l("editor.toggleFold")}function ar(){return l("editor.foldAll")}function lr(){return l("editor.unfoldAll")}function ur(){return l("editor.undo")}function cr(){return l("editor.redo")}function dr(){return l("editor.openSearchPanel")}function mr(e){return l("editor.copyToClipboard",e)}function pr(){return l("editor.deleteLine")}function yr(){return l("editor.toggleComment")}function fr(){return l("editor.moveLineUp")}function gr(){return l("editor.moveLineDown")}function vr(e){return l("editor.vimEx",e)}function Er(){return l("editor.configureVimMode")}function Tr(e,t){return l("editor.sendMessage",e,t)}function Sr(){return l("editor.isMobile")}var K={};I(K,{del:()=>Cr,get:()=>xr,set:()=>br});function br(e,t){return l("clientStore.set",e,t)}function xr(e){return l("clientStore.get",e)}function Cr(e){return l("clientStore.delete",e)}var di=new Uint8Array(16);var z={};I(z,{batchDel:()=>Fr,batchDeletePrefix:()=>Vr,batchGet:()=>Yr,batchSet:()=>Kr,del:()=>Ur,get:()=>zr,listFunctions:()=>$r,query:()=>kr,queryDelete:()=>_r,queryLua:()=>Br,set:()=>Lr});function Lr(e,t){return l("datastore.set",e,t)}function Kr(e){return l("datastore.batchSet",e)}function zr(e){return l("datastore.get",e)}function Yr(e){return l("datastore.batchGet",e)}function Ur(e){return l("datastore.delete",e)}function Fr(e){return l("datastore.batchDelete",e)}function kr(e){return l("datastore.query",e)}function Br(e,t,n){return l("datastore.queryLua",e,t,n)}function Vr(e){return l("datastore.batchDeletePrefix",e)}function _r(e,t){return l("datastore.queryDelete",e,t)}function $r(){return l("datastore.listFunctions")}var B={};I(B,{define:()=>Zr,get:()=>qr,has:()=>Jr,insert:()=>Gr,set:()=>Wr});function qr(e,t){return l("config.get",e,t)}function Wr(e,t){return l("config.set",e,t)}function Gr(e,t){return l("config.insert",e,t)}function Jr(e){return l("config.has",e)}function Zr(e,t){return l("config.define",e,t)}var V={};I(V,{ensureFullIndex:()=>tn,getObjectByRef:()=>en,indexObjects:()=>Qr,queryLuaObjects:()=>Xr});function Qr(e,t){return l("index.indexObjects",e,t)}function Xr(e,t,n,r){return l("index.queryLuaObjects",e,t,n,r)}function en(e,t,n){return l("index.getObjectByRef",e,t,n)}function tn(){return l("index.ensureFullIndex")}var b=e=>Object.fromEntries(Object.entries(e).map(([t,n])=>[n,t])),v=e=>Object.keys(e),be={action:"ACTION",description:"DESCRIPTION",duration:"DURATION",repeat:"REPEAT",summary:"SUMMARY",trigger:"TRIGGER",attachments:"ATTACH",attendees:"ATTENDEE"},xe=b(be),Ci=v(xe),Mi=v(be),Ce={method:"METHOD",prodId:"PRODID",version:"VERSION",name:"X-WR-CALNAME"},Me=b(Ce),Di=v(Me),Ri=v(Ce),De={alarms:"ALARM",categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",location:"LOCATION",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",timeTransparent:"TRANSP",url:"URL",end:"DTEND",duration:"DURATION",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",priority:"PRIORITY",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT"},Re=b(De),Oi=v(Re),Ni=v(De),Oe={id:"TZID",lastModified:"LAST-MODIFIED",url:"TZURL"},Ne=b(Oe),wi=v(Ne),Ii=v(Oe),we={comment:"COMMENT",name:"TZNAME",offsetFrom:"TZOFFSETFROM",offsetTo:"TZOFFSETTO",recurrenceDate:"RDATE",recurrenceRule:"RRULE",start:"DTSTART"},Ie=b(we),Li=v(Ie),Ki=v(we),Le={byDay:"BYDAY",byHour:"BYHOUR",byMinute:"BYMINUTE",byMonth:"BYMONTH",byMonthday:"BYMONTHDAY",bySecond:"BYSECOND",bySetPos:"BYSETPOS",byWeekNo:"BYWEEKNO",byYearday:"BYYEARDAY",count:"COUNT",frequency:"FREQ",interval:"INTERVAL",until:"UNTIL",workweekStart:"WKST"},Ke=b(Le),zi=v(Ke),Yi=v(Le),ze={categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",location:"LOCATION",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",url:"URL",duration:"DURATION",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",priority:"PRIORITY",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT",completed:"COMPLETED",due:"DUE",percentComplete:"PERCENT-COMPLETE"},Ye=b(ze),Ui=v(Ye),Fi=v(ze),Ue={categories:"CATEGORIES",created:"CREATED",description:"DESCRIPTION",lastModified:"LAST-MODIFIED",exceptionDates:"EXDATE",recurrenceRule:"RRULE",stamp:"DTSTAMP",start:"DTSTART",summary:"SUMMARY",uid:"UID",url:"URL",geo:"GEO",class:"CLASS",organizer:"ORGANIZER",sequence:"SEQUENCE",status:"STATUS",attach:"ATTACH",recurrenceId:"RECURRENCE-ID",attendees:"ATTENDEE",comment:"COMMENT"},Fe=b(Ue),ki=v(Fe),Bi=v(Ue),ke={stamp:"DTSTAMP",start:"DTSTART",uid:"UID",url:"URL",organizer:"ORGANIZER",attendees:"ATTENDEE",comment:"COMMENT",end:"DTEND",freeBusy:"FREEBUSY"},Be=b(ke),Vi=v(Be),_i=v(ke),Ve="BEGIN",_e="END",rn="VCALENDAR",$e="VTIMEZONE",nn="STANDARD",on="DAYLIGHT",je="VEVENT",He="VALARM",qe="VTODO",We="VJOURNAL",Ge="VFREEBUSY";var ve=e=>new RegExp(`${Ve}:${e}([\\s\\S]*?)${_e}:${e}`,"g"),sn=e=>new RegExp(`${Ve}:${e}|${_e}:${e}`,"g");var re=/\r\n|\r|\n/;var Ee=` `,an=":",N=",",ln='"',ne=";";var Te="=";var un=Math.pow(10,8)*24*60*60*1e3,$i=-un,cn=6048e5;var Je=6e4,Ze=36e5,dn=3600,Qe=dn*24,ji=Qe*7,mn=Qe*365.2425,pn=mn/12,Hi=pn*3,Se=Symbol.for("constructDateFrom");function A(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Se in e?e[Se](t):e instanceof Date?new e.constructor(t):new Date(t)}function d(e,t){return A(t||e,e)}function ie(e,t,n){let r=d(e,n?.in);return isNaN(t)?A(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function Xe(e,t,n){let r=d(e,n?.in);if(isNaN(t))return A(n?.in||e,NaN);if(!t)return r;let o=r.getDate(),s=A(n?.in||e,r.getTime());s.setMonth(r.getMonth()+t+1,0);let i=s.getDate();return o>=i?s:(r.setFullYear(s.getFullYear(),s.getMonth(),o),r)}function H(e,t,n){return A(n?.in||e,+d(e)+t)}function yn(e,t,n){return H(e,t*Ze,n)}var fn={};function q(){return fn}function $(e,t){var n,r,o,s;let i=q(),a=t?.weekStartsOn??((r=(n=t?.locale)==null?void 0:n.options)==null?void 0:r.weekStartsOn)??i.weekStartsOn??((s=(o=i.locale)==null?void 0:o.options)==null?void 0:s.weekStartsOn)??0,u=d(e,t?.in),c=u.getDay(),m=(ctypeof r=="object"));return t.map(n)}function vn(e,t){let n=d(e,t?.in);return n.setHours(0,0,0,0),n}function et(e,t,n){let r=d(e,n?.in);return r.setTime(r.getTime()+t*Je),r}function En(e,t,n){return H(e,t*1e3,n)}function se(e,t,n){return ie(e,t*7,n)}function tt(e,t,n){return Xe(e,t*12,n)}function ae(e,t){let n=+d(e)-+d(t);return n<0?-1:n>0?1:n}function he(e,t){let n=d(e,t?.in),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function Tn(e,t){let[n,r]=gn(e,t.start,t.end);return{start:n,end:r}}function Sn(e,t){let{start:n,end:r}=Tn(t?.in,e),o=+n>+r,s=o?+n:+r,i=o?r:n;i.setHours(0,0,0,0);let a=t?.step??1;if(!a)return[];a<0&&(a=-a,o=!o);let u=[];for(;+i<=s;)u.push(A(n,i)),i.setDate(i.getDate()+a),i.setHours(0,0,0,0);return o?u.reverse():u}function Ae(e,t){let n=d(e,t?.in);return n.setDate(1),n.setHours(0,0,0,0),n}function hn(e,t){let n=d(e,t?.in),r=n.getFullYear();return n.setFullYear(r+1,0,0),n.setHours(23,59,59,999),n}function An(e,t){let n=d(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}function Pn(e,t){var n,r,o,s;let i=d(e,t?.in),a=i.getFullYear(),u=q(),c=t?.firstWeekContainsDate??((r=(n=t?.locale)==null?void 0:n.options)==null?void 0:r.firstWeekContainsDate)??u.firstWeekContainsDate??((s=(o=u.locale)==null?void 0:o.options)==null?void 0:s.firstWeekContainsDate)??1,m=A(t?.in||e,0);m.setFullYear(a+1,0,c),m.setHours(0,0,0,0);let E=$(m,t),y=A(t?.in||e,0);y.setFullYear(a,0,c),y.setHours(0,0,0,0);let T=$(y,t);return+i>=+E?a+1:+i>=+T?a:a-1}function bn(e,t){var n,r,o,s;let i=q(),a=t?.firstWeekContainsDate??((r=(n=t?.locale)==null?void 0:n.options)==null?void 0:r.firstWeekContainsDate)??i.firstWeekContainsDate??((s=(o=i.locale)==null?void 0:o.options)==null?void 0:s.firstWeekContainsDate)??1,u=Pn(e,t),c=A(t?.in||e,0);return c.setFullYear(u,0,a),c.setHours(0,0,0,0),$(c,t)}function xn(e,t){let n=d(e,t?.in),r=+$(n,t)-+bn(n,t);return Math.round(r/cn)+1}function _(e,t){return d(e,t?.in).getDay()}function rt(e,t){let n=d(e,t?.in),r=n.getFullYear(),o=n.getMonth(),s=A(n,0);return s.setFullYear(r,o+1,0),s.setHours(0,0,0,0),s.getDate()}function Cn(e,t){return d(e,t?.in).getHours()}function Mn(e,t){return d(e,t?.in).getMinutes()}function nt(e,t){return d(e,t?.in).getMonth()}function Dn(e){return d(e).getSeconds()}function Rn(e,t){return d(e,t?.in).getFullYear()}function On(e,t){return+d(e)==+d(t)}function Nn(e,t,n){let r=d(e,n?.in),o=xn(r,n)-t;return r.setDate(r.getDate()-o*7),d(r,n?.in)}function j(e,t,n){var r,o,s,i;let a=q(),u=n?.weekStartsOn??((o=(r=n?.locale)==null?void 0:r.options)==null?void 0:o.weekStartsOn)??a.weekStartsOn??((i=(s=a.locale)==null?void 0:s.options)==null?void 0:i.weekStartsOn)??0,c=d(e,n?.in),m=c.getDay(),E=(t%7+7)%7,y=7-u,T=t<0||t>6?t-(m+y)%7:(E+y)%7-(m+y)%7;return ie(c,T,n)}function ot(e,t,n){let r=+d(e,n?.in),[o,s]=[+d(t.start,n?.in),+d(t.end,n?.in)].sort((i,a)=>i-a);return r>=o&&r<=s}function wn(e){let t=e/Ze;return Math.trunc(t)}function In(e){let t=e/Je;return Math.trunc(t)}function Ln(e,t,n){let r=d(e,n?.in),o=r.getFullYear(),s=r.getDate(),i=A(n?.in||e,0);i.setFullYear(o,t,15),i.setHours(0,0,0,0);let a=rt(i);return r.setMonth(t,Math.min(s,a)),r}function Kn(e,t,n){let r=d(e,n?.in);return r.setDate(t),r}function zn(e,t,n){let r=d(e,n?.in);return r.setMonth(0),r.setDate(t),r}function Yn(e,t,n){let r=d(e,n?.in);return r.setHours(t),r}function Un(e,t,n){let r=d(e,n?.in);return r.setMinutes(t),r}function Fn(e,t,n){let r=d(e,n?.in);return r.setSeconds(t),r}function kn(e,t,n){return H(e,-t,n)}function Bn(e,t,n){return se(e,-t,n)}var Vn=[nn,on];var _n=["SECONDLY","MINUTELY","HOURLY","DAILY","WEEKLY","MONTHLY","YEARLY"];var it=["SU","MO","TU","WE","TH","FR","SA"];var R=(e,t)=>t===void 0?!1:e>=t,$n=(e,{start:t,end:n},r)=>{if(R(r.length,e.count))return;let o=e.frequency,s=e.interval||1;if(!o)return;let i=t;if(o==="SECONDLY"){for(;i{let o=n.map(({day:s,occurrence:i})=>({occurrence:i,day:it.indexOf(s)}));return e.frequency==="YEARLY"?e.byYearday||e.byMonthday?t.map(s=>s.filter(i=>o.find(({day:a})=>a===_(i)))):e.byWeekNo?t.map(s=>s.flatMap(i=>o.map(({day:a})=>j(i,a,{weekStartsOn:r})))):e.byMonth?t.map(s=>s.flatMap(i=>o.flatMap(({day:a,occurrence:u})=>te(C(Ae(i)),C(he(i)),a,r,u)))):t.map(s=>s.flatMap(i=>o.flatMap(({day:a,occurrence:u})=>te(C(An(i)),C(hn(i)),a,r,u)))):e.frequency==="MONTHLY"?e.byMonthday?t.map(s=>s.filter(i=>o.find(({day:a})=>a===_(i)))):t.map(s=>s.flatMap(i=>o.flatMap(({day:a,occurrence:u})=>te(C(Ae(i)),C(he(i)),a,r,u)))):e.frequency==="WEEKLY"?t.map(s=>s.flatMap(i=>o.map(({day:a})=>j(i,a,{weekStartsOn:r})))):t.map(s=>s.filter(i=>o.find(({day:a})=>a===_(i))))},te=(e,t,n,r,o)=>{if(o!==void 0){if(!(o<0)){let a=j(e,n,{weekStartsOn:r}),u=e>a;return se(a,(o||1)-1+(u?1:0))}let s=j(t,n,{weekStartsOn:r}),i=tC(s)).filter(s=>ot(s,{start:e,end:t})).filter(s=>n===_(s))},C=e=>et(e,-e.getTimezoneOffset()),Hn=(e,t,n)=>e.frequency==="YEARLY"||e.frequency==="MONTHLY"||e.frequency==="WEEKLY"||e.frequency==="DAILY"?t.map(r=>r.flatMap(o=>n.map(s=>Yn(o,s)))):t.map(r=>r.filter(o=>n.includes(Cn(o)))),qn=(e,t,n)=>e.frequency==="YEARLY"||e.frequency==="MONTHLY"||e.frequency==="WEEKLY"||e.frequency==="DAILY"||e.frequency==="HOURLY"?t.map(r=>r.flatMap(o=>n.map(s=>Un(o,s)))):t.map(r=>r.filter(o=>n.includes(Mn(o)))),Wn=(e,t,n)=>e.frequency==="YEARLY"?t.map(r=>r.flatMap(o=>n.map(s=>Ln(o,s)))):t.map(r=>r.filter(o=>n.includes(nt(o)))),Gn=(e,t,n)=>e.frequency==="YEARLY"||e.frequency==="MONTHLY"?t.map(r=>r.flatMap(o=>{let s=rt(o);return n.map(i=>i>s?void 0:Kn(o,i)).filter(i=>!!i)})):e.frequency==="WEEKLY"?t:t.map(r=>r.filter(o=>n.includes(nt(o)))),Jn=(e,t,n)=>e.frequency==="YEARLY"||e.frequency==="MONTHLY"||e.frequency==="WEEKLY"||e.frequency==="DAILY"||e.frequency==="HOURLY"||e.frequency==="MINUTELY"?t.map(r=>r.flatMap(o=>n.map(s=>Fn(o,s)))):t.map(r=>r.filter(o=>n.includes(Dn(o)))),Zn=(e,t,n)=>!e.byYearday&&!e.byWeekNo&&!e.byMonthday&&!e.byMonth&&!e.byDay&&!e.byHour&&!e.byMinute&&!e.bySecond?t:t.map(r=>r.sort(ae).filter((o,s)=>n.some(i=>i>0?s===0?!1:s%i===0:s===0?r.length-1+i===0:s%(r.length-1+i)===0))),Qn=(e,t,n,r)=>e.frequency==="YEARLY"?t.map(o=>o.flatMap(s=>n.map(i=>Nn(s,i,{weekStartsOn:r})))):t,Xn=(e,t,n)=>e.frequency==="YEARLY"?t.map(r=>r.flatMap(o=>n.map(s=>zn(o,s)))):e.frequency==="MONTHLY"||e.frequency==="WEEKLY"||e.frequency==="DAILY"?t:t.map(r=>r.filter(o=>n.includes(Rn(o)))),eo=(e,t,n)=>{let r=n;return e.byMonth&&(r=Wn(e,r,e.byMonth)),e.byWeekNo&&(r=Qn(e,r,e.byWeekNo,t.weekStartsOn)),e.byYearday&&(r=Xn(e,r,e.byYearday)),e.byMonthday&&(r=Gn(e,r,e.byMonthday)),e.byDay&&(r=jn(e,r,e.byDay,t.weekStartsOn)),e.byHour&&(r=Hn(e,r,e.byHour)),e.byMinute&&(r=qn(e,r,e.byMinute)),e.bySecond&&(r=Jn(e,r,e.bySecond)),e.bySetPos&&(r=Zn(e,r,e.bySetPos)),r.map(o=>o.sort(ae).filter(s=>!(t.exceptions.length>0&&t.exceptions.some(i=>On(i,s))||!ot(s,{start:t.start,end:t.end}))))},to=2,ro=(e,t)=>{var n;let r=t.start,o=((n=e.until)==null?void 0:n.date)||t?.end||tt(r,to),s=t.exceptions||[],i=(e.workweekStart?it.indexOf(e.workweekStart):1)%7,a=[[r]];$n(e,{start:r,end:o},a);let u=eo(e,{start:r,end:o,exceptions:s,weekStartsOn:i},a);return e.count?u.flat().splice(0,e.count):u.flat()},no=(e,t)=>t.flatMap(n=>!n.recurrenceRule||n.recurrenceRule.until&&n.recurrenceRule.until.date({...n,start:r}))),oe=e=>{let t=e[0]==="+"?1:-1,n=Number(e.slice(1,3)),r=e.length>3?Number(e.slice(3,5)):0,o=e.length>5?Number(e.slice(5,7)):0;return((n*60+r)*60+o)*1e3*t},oo=(e,t)=>{let n="en-US",r=new Date(t.toLocaleString(n,{timeZone:"UTC"}));try{return new Date(t.toLocaleString(n,{timeZone:e})).getTime()-r.getTime()}catch{return t.getTime()-r.getTime()}},io=(e,t,n)=>{let r=n?.find(s=>s.id===t);if(r){let s=no(e,r.props).sort((u,c)=>ae(u.start,c.start));for(let u=0;u5?c.substring(0,5):c;return{offset:m,milliseconds:oe(m)}}let i=s[s.length-1].offsetTo,a=i.length>5?i.substring(0,5):i;return{offset:a,milliseconds:oe(a)}}let o=oo(t,e);if(!Number.isNaN(o)){let s=o<0,i=Math.abs(wn(o)),a=Math.abs(In(o))-i*60,u=i.toString().length===1?`0${i}`:i.toString(),c=a.toString().length===1?`0${a}`:a.toString();return{offset:`${s?"-":"+"}${u}${c}`,milliseconds:o}}};var p=(e,t)=>{if(e===void 0)return t;let n=e["~standard"].validate(t);if(n instanceof Promise)throw new TypeError("Schema validation must be synchronous");if(n.issues)throw new Error(JSON.stringify(n.issues,null,2));return n.value},so=(e,t)=>{var n,r,o,s;let i=((n=t.options)==null?void 0:n.VALUE)==="BINARY"?{type:"binary",encoding:((r=t.options)==null?void 0:r.ENCODING)||"BASE64",binary:t.value,value:(o=t.options)==null?void 0:o.VALUE}:{type:"uri",url:t.value,formatType:(s=t.options)==null?void 0:s.FMTTYPE};return p(e,i)},O=e=>e.replace(/mailto:/gi,""),F=(e,t)=>{var n,r,o,s,i,a,u,c,m,E,y;return p(e,{email:O(t.value),delegatedFrom:(n=t.options)!=null&&n["DELEGATED-FROM"]?O((r=t.options)==null?void 0:r["DELEGATED-FROM"]):void 0,dir:(o=t.options)==null?void 0:o.DIR,member:(s=t.options)!=null&&s.MEMBER?O(t.options.MEMBER):void 0,name:(i=t.options)==null?void 0:i.CN,partstat:(a=t.options)==null?void 0:a.PARTSTAT,role:(u=t.options)==null?void 0:u.ROLE,sentBy:(c=t.options)!=null&&c["SENT-BY"]?O(t.options["SENT-BY"]):void 0,rsvp:(m=t.options)!=null&&m.RSVP?((E=t.options)==null?void 0:E.RSVP)==="TRUE"?!0:((y=t.options)==null?void 0:y.RSVP)==="FALSE"?!1:void 0:void 0})},k=(e,t)=>{let n=t.value,r={};n[0]==="-"&&(r.before=!0,n=n.slice(1)),n=n.slice(1);let o=n.split("T"),s=o[0];if(s.includes("D")){let[a,u]=s.split("D");r.days=Number(a),s=u}if(s.includes("W")){let[a,u]=s.split("W");r.weeks=Number(a),s=u}let i=o[1];if(i){if(i.includes("H")){let[a,u]=i.split("H");r.hours=Number(a),i=u}if(i.includes("M")){let[a,u]=i.split("M");r.minutes=Number(a),i=u}if(i.includes("S")){let[a,u]=i.split("S");r.seconds=Number(a),i=u}}return p(e,r)},ao=(e,t)=>{let n=Number.parseInt(t.value.slice(0,4),10),r=Number.parseInt(t.value.slice(4,6),10)-1,o=Number.parseInt(t.value.slice(6,8),10),s=new Date(Date.UTC(n,r,o));return p(e,s)},Y=(e,t)=>{let n=Number.parseInt(t.value.slice(0,4),10),r=Number.parseInt(t.value.slice(4,6),10)-1,o=Number.parseInt(t.value.slice(6,8),10),s=Number.parseInt(t.value.slice(9,11),10),i=Number.parseInt(t.value.slice(11,13),10),a=Number.parseInt(t.value.slice(13,15),10),u=new Date(Date.UTC(n,r,o,s,i,a));return p(e,u)},lo=(e,t,n)=>{let r=oe(n),o=Y(void 0,t),s=kn(o,r);return p(e,s)},uo=(e,t)=>{var n,r,o,s,i,a;if(((n=e.options)==null?void 0:n.VALUE)==="DATE")return{date:ao(void 0,e),type:(r=e.options)==null?void 0:r.VALUE};let u=((o=e.options)==null?void 0:o.VALUE)||"DATE-TIME",c=Y(void 0,e);if(!((s=e.options)!=null&&s.TZID))return{date:c,type:u};let m=io(c,e.options.TZID,t?.timezones);return m?{date:H(c,-m.milliseconds),type:u,local:(i=e.options)!=null&&i.TZID?{date:c,timezone:(a=e.options)==null?void 0:a.TZID,tzoffset:m.offset}:void 0}:{date:c,type:u}},f=(e,t,n)=>p(e,uo(t,n)),co=(e,t,n)=>{var r,o,s,i;let a=((r=t.options)==null?void 0:r.VALUE)==="DATE-TIME"||((o=t.options)==null?void 0:o.VALUE)==="DATE"?{type:"absolute",value:f(void 0,t,n),options:{related:(s=t.options)==null?void 0:s.RELATED}}:{type:"relative",value:k(void 0,t),options:{related:(i=t.options)==null?void 0:i.RELATED}};return p(e,a)},mo=e=>e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e,st=e=>e.map(t=>{let[n,...r]=t.split(Te),o=r.join(Te);return{property:n,value:mo(o)}},{}),po=e=>e.reduce((t,n)=>(t[n.property]=n.value,t),{}),yo=e=>po(st(e)),fo=e=>{let t=!1,n;for(let s=0;s{let{property:t,value:n}=fo(e);if(t.includes(ne)){let[r,...o]=t.split(ne),s=yo(o);return{property:r,line:{options:s,value:n}}}return{property:t,line:{value:n}}},Pe=e=>/^[ \t]/.test(e),vo=e=>/^[A-Z]+(?:-[A-Z]+)*[:;]/.test(e),Eo=e=>{let t=[],n=e.split(re);for(;n[0]==="";)n.shift();let r=n.length;for(;r>0&&n[r-1]==="";)r-=1,n.pop();for(let o=0;oo!=="")},To=(e,t,n)=>{if(!t)return e;let r={};return Object.entries(t).forEach(([o,s])=>{let i=Object.entries(n||{}).find(([c,m])=>m.name===o);if(!i){r[So(o)]=s.value;return}let a=i[1].convert(s),u=i[1].schema;if(!u){r[i[0]]=a;return}r[i[0]]=p(u,a)}),e.nonStandard=r,e},So=e=>{let t=e.startsWith("X-")?e.slice(2):e,n="",r=!1;for(let o of t)o==="-"?r=!0:(n+=r?o.toUpperCase():o.toLowerCase(),r=!1);return n},ho=e=>e.startsWith("X-"),M=(e,t,n)=>{let r=t.replace(sn(n?.icsComponent),""),o=[...new Set(Object.values(n.childComponents||{}).flatMap(({icsComponent:E})=>E))],s=Eo(o.reduce((E,y)=>E.replace(ve(y),""),r)),i=n.defaultValues||{},a={};s.forEach(E=>{var y,T;let{property:S,line:P}=go(E);ho(S)&&(a[S]=P);let g=n.objectKeyMap[S];if(!g)return;let w=(y=n.convertArrayValues)==null?void 0:y[g];if(w){let D=w({line:P});if(!D)return;(i[g]===void 0||i[g]===null||!Array.isArray(i[g]))&&(i[g]=[]),Array.isArray(D)?i[g].push(...D):i[g].push(D);return}let me=(T=n.convertValues)==null?void 0:T[g];if(me){let D=me({line:P});if(!D)return;i[g]=D;return}i[g]=P.value});let u=n.childComponents,c=u?Object.keys(u||{}):[];u&&c.length>0&&c.forEach(E=>{let y=u?.[E];if(!y)return;let T=Array.isArray(y.icsComponent)?y.icsComponent:[y.icsComponent],S=[],P=[];T.forEach(g=>{P.push(...r.matchAll(ve(g)))}),P.map(g=>g[0]).forEach(g=>{let w=y.convert(g,{data:i});w&&S.push(w)}),S.length!==0&&(i[E]=S)});let m=p(e,i);return n!=null&&n.nonStandard?To(m,a,n?.nonStandard):m},W=(e,t)=>{var n,r,o;return p(e,{name:(n=t.options)==null?void 0:n.CN,dir:(r=t.options)==null?void 0:r.DIR,sentBy:(o=t.options)!=null&&o["SENT-BY"]?O(t.options["SENT-BY"]):void 0,email:O(t.value)})},le=(e,t,n)=>{var r;return p(e,{value:f(void 0,t,n),range:(r=t.options)==null?void 0:r.RANGE})},Ao=e=>{if(e.length===2)return{day:e};let t=e.slice(0,-2);return{day:e.replace(t,""),occurrence:Number(t)}},Po=(e,t)=>p(e,Ao(t.value)),bo=(e,t)=>p(e,t.value),xo=["until"],Co=e=>xo.includes(e),Mo=["bySecond","byMinute","byHour","byMonthday","byYearday","byWeekNo","bySetPos"],Do=e=>Mo.includes(e),Ro=["byDay"],Oo=e=>Ro.includes(e),No=["count","interval"],wo=e=>No.includes(e),G=(e,t,n)=>{let r={};return st(t.value.split(ne)).forEach(o=>{let{property:s,value:i}=o,a=Ke[s];if(a){if(Co(a)){r[a]=f(void 0,{value:i,options:{VALUE:i.includes("T")?"DATE-TIME":"DATE"}},{timezones:n?.timezones});return}if(Do(a)){r[a]=i.split(N).map(u=>Number(u));return}if(a==="byMonth"){r[a]=i.split(N).map(u=>Number(u)-1);return}if(Oo(a)){r[a]=i.split(N).map(u=>Po(void 0,{value:u}));return}if(wo(a)){r[a]=Number(i);return}if(a==="frequency"){if(!i||!_n.includes(i))return;r[a]=i;return}if(a==="workweekStart"){r[a]=bo(void 0,{value:i});return}}}),p(e,r)},ue=(e,t)=>p(e,t.value),Io=(e,t)=>p(e,t.value),ce=(e,t,n)=>p(e,t.value.split(",").map(r=>f(void 0,{value:r,options:t.options},n))),Lo=(e,t)=>p(e,t.value),Ko=(e,t)=>p(e,t.value),zo=(e,t)=>p(e,t.value),U=(e,t)=>p(e,Number.parseInt(t.value,10)),Yo=e=>e.replace(/\\(([,;\\])|([nN]))/g,(t,n,r)=>r||` -`),h=(e,t)=>p(e,Yo(t.value)),Uo=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:He,objectKeyMap:xe,convertValues:{trigger:({line:o})=>co(void 0,o,{timezones:r?.timezones}),duration:({line:o})=>k(void 0,o),repeat:({line:o})=>U(void 0,o)},convertArrayValues:{attachments:({line:o})=>so(void 0,o),attendees:({line:o})=>F(void 0,o)},nonStandard:r?.nonStandard,timezones:r?.timezones})},Fo=(...e)=>{let[t,n,r]=e,o,s=M(t,n,{icsComponent:je,objectKeyMap:Re,convertValues:{stamp:({line:i})=>f(void 0,i,{timezones:r?.timezones}),start:({line:i})=>f(void 0,i,{timezones:r?.timezones}),end:({line:i})=>f(void 0,i,{timezones:r?.timezones}),created:({line:i})=>f(void 0,i,{timezones:r?.timezones}),lastModified:({line:i})=>f(void 0,i,{timezones:r?.timezones}),categories:({line:i})=>i.value.split(N),description:({line:i})=>{var a;return(a=i.options)!=null&&a.ALTREP&&(o=i.options.ALTREP),h(void 0,i)},location:({line:i})=>h(void 0,i),comment:({line:i})=>h(void 0,i),summary:({line:i})=>h(void 0,i),recurrenceRule:({line:i})=>G(void 0,i,{timezones:r?.timezones}),duration:({line:i})=>k(void 0,i),organizer:({line:i})=>W(void 0,i),sequence:({line:i})=>U(void 0,i),class:({line:i})=>ue(void 0,i),recurrenceId:({line:i})=>le(void 0,i,{timezones:r?.timezones}),status:({line:i})=>Lo(void 0,i),timeTransparent:({line:i})=>Io(void 0,i)},convertArrayValues:{attendees:({line:i})=>F(void 0,i),exceptionDates:({line:i})=>ce(void 0,i,{timezones:r?.timezones})},childComponents:{alarms:{icsComponent:He,convert:i=>Uo(void 0,i,{nonStandard:r?.nonStandard,timezones:r?.timezones})}},timezones:r?.timezones,nonStandard:r?.nonStandard});return o&&(s.descriptionAltRep=o),s},ko=(...e)=>{let[t,n,r]=e,o=n.split("BEGIN:")[1].split(re)[0],s=Vn.includes(o)?o:"STANDARD",i=n.split("TZOFFSETTO:")[1].split(re)[0];return M(t,n,{icsComponent:s,objectKeyMap:Ie,defaultValues:{type:s},convertValues:{start:({line:a})=>lo(void 0,a,i),recurrenceRule:({line:a})=>G(void 0,a,{timezones:r?.timezones}),recurrenceDate:({line:a})=>f(void 0,a,{timezones:r?.timezones})},nonStandard:r?.nonStandard,timezones:r?.timezones})},Bo=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:$e,objectKeyMap:Ne,convertValues:{lastModified:({line:o})=>Y(void 0,o)},childComponents:{props:{icsComponent:["DAYLIGHT","STANDARD"],convert:o=>ko(void 0,o,{nonStandard:r?.nonStandard,timezones:r?.timezones})}},nonStandard:r?.nonStandard,timezones:r?.timezones})},Vo=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:qe,objectKeyMap:Ye,convertValues:{stamp:({line:o})=>f(void 0,o,{timezones:r?.timezones}),start:({line:o})=>f(void 0,o,{timezones:r?.timezones}),due:({line:o})=>f(void 0,o,{timezones:r?.timezones}),created:({line:o})=>f(void 0,o,{timezones:r?.timezones}),lastModified:({line:o})=>f(void 0,o,{timezones:r?.timezones}),completed:({line:o})=>f(void 0,o,{timezones:r?.timezones}),categories:({line:o})=>o.value.split(N),description:({line:o})=>h(void 0,o),location:({line:o})=>h(void 0,o),comment:({line:o})=>h(void 0,o),summary:({line:o})=>h(void 0,o),recurrenceRule:({line:o})=>G(void 0,o,{timezones:r?.timezones}),duration:({line:o})=>k(void 0,o),organizer:({line:o})=>W(void 0,o),sequence:({line:o})=>U(void 0,o),percentComplete:({line:o})=>U(void 0,o),class:({line:o})=>ue(void 0,o),recurrenceId:({line:o})=>le(void 0,o,{timezones:r?.timezones}),status:({line:o})=>Ko(void 0,o)},convertArrayValues:{attendees:({line:o})=>F(void 0,o),exceptionDates:({line:o})=>ce(void 0,o,{timezones:r?.timezones})},nonStandard:r?.nonStandard,timezones:r?.timezones})},_o=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:We,objectKeyMap:Fe,convertValues:{stamp:({line:o})=>f(void 0,o,{timezones:r?.timezones}),start:({line:o})=>f(void 0,o,{timezones:r?.timezones}),created:({line:o})=>f(void 0,o,{timezones:r?.timezones}),lastModified:({line:o})=>f(void 0,o,{timezones:r?.timezones}),categories:({line:o})=>o.value.split(N),description:({line:o})=>h(void 0,o),comment:({line:o})=>h(void 0,o),summary:({line:o})=>h(void 0,o),recurrenceRule:({line:o})=>G(void 0,o,{timezones:r?.timezones}),organizer:({line:o})=>W(void 0,o),sequence:({line:o})=>U(void 0,o),class:({line:o})=>ue(void 0,o),recurrenceId:({line:o})=>le(void 0,o,{timezones:r?.timezones}),status:({line:o})=>zo(void 0,o)},convertArrayValues:{attendees:({line:o})=>F(void 0,o),exceptionDates:({line:o})=>ce(void 0,o,{timezones:r?.timezones})},nonStandard:r?.nonStandard,timezones:r?.timezones})},$o=(e,t)=>{var n;return p(e,{type:(n=t.options)==null?void 0:n.FBTYPE,values:t.value.split(",").map(r=>{let[o,s]=r.split("/"),i=Y(void 0,{value:o});if(s.startsWith("PT")){let u=k(void 0,{value:s});return{start:i,duration:u}}let a=Y(void 0,{value:s});return{start:i,end:a}})})},jo=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:Ge,objectKeyMap:Be,convertValues:{stamp:({line:o})=>f(void 0,o,{timezones:r?.timezones}),start:({line:o})=>f(void 0,o,{timezones:r?.timezones}),end:({line:o})=>f(void 0,o,{timezones:r?.timezones}),comment:({line:o})=>h(void 0,o),organizer:({line:o})=>W(void 0,o)},convertArrayValues:{attendees:({line:o})=>F(void 0,o),freeBusy:({line:o})=>$o(void 0,o)},nonStandard:r?.nonStandard,timezones:r?.timezones})},at=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:rn,objectKeyMap:Me,convertValues:{version:({line:o})=>o.value},childComponents:{timezones:{icsComponent:$e,convert:o=>Bo(void 0,o,{nonStandard:r?.nonStandard})},events:{icsComponent:je,convert:(o,{data:s})=>Fo(void 0,o,{nonStandard:r?.nonStandard,timezones:s.timezones})},todos:{icsComponent:qe,convert:(o,{data:s})=>Vo(void 0,o,{nonStandard:r?.nonStandard,timezones:s.timezones})},journals:{icsComponent:We,convert:(o,{data:s})=>_o(void 0,o,{nonStandard:r?.nonStandard,timezones:s.timezones})},freeBusy:{icsComponent:Ge,convert:(o,{data:s})=>jo(void 0,o,{nonStandard:r?.nonStandard,timezones:s.timezones})}},nonStandard:r?.nonStandard})};var lt="0.3.17",ut="icalendar:lastSync";console.log(`[iCalendar] Plug script executing at top level (Version ${lt})`);var Ho={"GMT Standard Time":0,"W. Europe Standard Time":1,"Central Europe Standard Time":1,"Romance Standard Time":1,"Central European Standard Time":1,"Eastern Standard Time":-5,"Central Standard Time":-6,"Mountain Standard Time":-7,"Pacific Standard Time":-8,UTC:0,None:0};async function qo(){try{let e=await B.get("icalendar",{sources:[]}),t=e.sources||[],n=e.tzShift||0;return{sources:t,tzShift:n}}catch{return{sources:[],tzShift:0}}}async function Wo(e,t=0){let n=await fetch(e.url);if(!n.ok)return[];let r=await n.text(),o=at(void 0,r);if(!o.events)return[];let s=[];for(let i of o.events){let a=i.start,u="";if(a.local&&typeof a.local.date=="string"?u=a.local.date:typeof a.date=="string"&&(u=a.date),!u)continue;let c=new Date(u.replace("Z","")+"Z"),m=a.local?.timezone||a.timezone||"UTC",E=Ho[m]??0,y=c.getTime()-E*36e5,T=new Date(y+t*36e5),S=g=>String(g).padStart(2,"0"),P=T.getFullYear()+"-"+S(T.getMonth()+1)+"-"+S(T.getDate())+"T"+S(T.getHours())+":"+S(T.getMinutes())+":"+S(T.getSeconds());s.push({...i,start:P,tag:"ical-event",sourceName:e.name})}return s}async function de(){try{let{sources:e,tzShift:t}=await qo();if(e.length===0)return;await x.flashNotification("Syncing calendars...","info");let n=[];for(let r of e)try{let o=await Wo(r,t);n.push(...o)}catch(o){console.error(`Failed to sync ${r.name}:`,o)}await V.indexObjects("$icalendar",n),await x.flashNotification(`Synced ${n.length} events`,"info")}catch(e){console.error("Sync failed:",e)}}async function ct(){await K.del(ut),await de()}async function dt(){if(!await x.confirm("Clear all calendar events?"))return;let e=await z.query({prefix:["ridx","$icalendar"]}),t=[];for(let{key:n}of e)t.push(n),t.push(["idx",...n.slice(2),"$icalendar"]);t.length>0&&await z.batchDel(t),await K.del(ut),await x.flashNotification("Calendar index cleared","info")}async function mt(){await x.flashNotification(`iCalendar Plug ${lt}`,"info")}var pt={syncCalendars:de,forceSync:ct,clearCache:dt,showVersion:mt},yt={name:"Library/sstent/icalendar",version:"0.3.17",author:"sstent",index:"icalendar.ts",permissions:["fetch","http"],functions:{syncCalendars:{path:"icalendar.ts:syncCalendars",command:{name:"iCalendar: Sync",priority:-1},events:["editor:init"]},forceSync:{path:"icalendar.ts:forceSync",command:{name:"iCalendar: Force Sync",priority:-1}},clearCache:{path:"icalendar.ts:clearCache",command:{name:"iCalendar: Clear All Events",priority:-1}},showVersion:{path:"icalendar.ts:showVersion",command:{name:"iCalendar: Version",priority:-2}}},assets:{}},os={manifest:yt,functionMapping:pt};ge(pt,yt,self.postMessage);export{os as plug}; +`),h=(e,t)=>p(e,Yo(t.value)),Uo=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:He,objectKeyMap:xe,convertValues:{trigger:({line:o})=>co(void 0,o,{timezones:r?.timezones}),duration:({line:o})=>k(void 0,o),repeat:({line:o})=>U(void 0,o)},convertArrayValues:{attachments:({line:o})=>so(void 0,o),attendees:({line:o})=>F(void 0,o)},nonStandard:r?.nonStandard,timezones:r?.timezones})},Fo=(...e)=>{let[t,n,r]=e,o,s=M(t,n,{icsComponent:je,objectKeyMap:Re,convertValues:{stamp:({line:i})=>f(void 0,i,{timezones:r?.timezones}),start:({line:i})=>f(void 0,i,{timezones:r?.timezones}),end:({line:i})=>f(void 0,i,{timezones:r?.timezones}),created:({line:i})=>f(void 0,i,{timezones:r?.timezones}),lastModified:({line:i})=>f(void 0,i,{timezones:r?.timezones}),categories:({line:i})=>i.value.split(N),description:({line:i})=>{var a;return(a=i.options)!=null&&a.ALTREP&&(o=i.options.ALTREP),h(void 0,i)},location:({line:i})=>h(void 0,i),comment:({line:i})=>h(void 0,i),summary:({line:i})=>h(void 0,i),recurrenceRule:({line:i})=>G(void 0,i,{timezones:r?.timezones}),duration:({line:i})=>k(void 0,i),organizer:({line:i})=>W(void 0,i),sequence:({line:i})=>U(void 0,i),class:({line:i})=>ue(void 0,i),recurrenceId:({line:i})=>le(void 0,i,{timezones:r?.timezones}),status:({line:i})=>Lo(void 0,i),timeTransparent:({line:i})=>Io(void 0,i)},convertArrayValues:{attendees:({line:i})=>F(void 0,i),exceptionDates:({line:i})=>ce(void 0,i,{timezones:r?.timezones})},childComponents:{alarms:{icsComponent:He,convert:i=>Uo(void 0,i,{nonStandard:r?.nonStandard,timezones:r?.timezones})}},timezones:r?.timezones,nonStandard:r?.nonStandard});return o&&(s.descriptionAltRep=o),s},ko=(...e)=>{let[t,n,r]=e,o=n.split("BEGIN:")[1].split(re)[0],s=Vn.includes(o)?o:"STANDARD",i=n.split("TZOFFSETTO:")[1].split(re)[0];return M(t,n,{icsComponent:s,objectKeyMap:Ie,defaultValues:{type:s},convertValues:{start:({line:a})=>lo(void 0,a,i),recurrenceRule:({line:a})=>G(void 0,a,{timezones:r?.timezones}),recurrenceDate:({line:a})=>f(void 0,a,{timezones:r?.timezones})},nonStandard:r?.nonStandard,timezones:r?.timezones})},Bo=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:$e,objectKeyMap:Ne,convertValues:{lastModified:({line:o})=>Y(void 0,o)},childComponents:{props:{icsComponent:["DAYLIGHT","STANDARD"],convert:o=>ko(void 0,o,{nonStandard:r?.nonStandard,timezones:r?.timezones})}},nonStandard:r?.nonStandard,timezones:r?.timezones})},Vo=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:qe,objectKeyMap:Ye,convertValues:{stamp:({line:o})=>f(void 0,o,{timezones:r?.timezones}),start:({line:o})=>f(void 0,o,{timezones:r?.timezones}),due:({line:o})=>f(void 0,o,{timezones:r?.timezones}),created:({line:o})=>f(void 0,o,{timezones:r?.timezones}),lastModified:({line:o})=>f(void 0,o,{timezones:r?.timezones}),completed:({line:o})=>f(void 0,o,{timezones:r?.timezones}),categories:({line:o})=>o.value.split(N),description:({line:o})=>h(void 0,o),location:({line:o})=>h(void 0,o),comment:({line:o})=>h(void 0,o),summary:({line:o})=>h(void 0,o),recurrenceRule:({line:o})=>G(void 0,o,{timezones:r?.timezones}),duration:({line:o})=>k(void 0,o),organizer:({line:o})=>W(void 0,o),sequence:({line:o})=>U(void 0,o),percentComplete:({line:o})=>U(void 0,o),class:({line:o})=>ue(void 0,o),recurrenceId:({line:o})=>le(void 0,o,{timezones:r?.timezones}),status:({line:o})=>Ko(void 0,o)},convertArrayValues:{attendees:({line:o})=>F(void 0,o),exceptionDates:({line:o})=>ce(void 0,o,{timezones:r?.timezones})},nonStandard:r?.nonStandard,timezones:r?.timezones})},_o=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:We,objectKeyMap:Fe,convertValues:{stamp:({line:o})=>f(void 0,o,{timezones:r?.timezones}),start:({line:o})=>f(void 0,o,{timezones:r?.timezones}),created:({line:o})=>f(void 0,o,{timezones:r?.timezones}),lastModified:({line:o})=>f(void 0,o,{timezones:r?.timezones}),categories:({line:o})=>o.value.split(N),description:({line:o})=>h(void 0,o),comment:({line:o})=>h(void 0,o),summary:({line:o})=>h(void 0,o),recurrenceRule:({line:o})=>G(void 0,o,{timezones:r?.timezones}),organizer:({line:o})=>W(void 0,o),sequence:({line:o})=>U(void 0,o),class:({line:o})=>ue(void 0,o),recurrenceId:({line:o})=>le(void 0,o,{timezones:r?.timezones}),status:({line:o})=>zo(void 0,o)},convertArrayValues:{attendees:({line:o})=>F(void 0,o),exceptionDates:({line:o})=>ce(void 0,o,{timezones:r?.timezones})},nonStandard:r?.nonStandard,timezones:r?.timezones})},$o=(e,t)=>{var n;return p(e,{type:(n=t.options)==null?void 0:n.FBTYPE,values:t.value.split(",").map(r=>{let[o,s]=r.split("/"),i=Y(void 0,{value:o});if(s.startsWith("PT")){let u=k(void 0,{value:s});return{start:i,duration:u}}let a=Y(void 0,{value:s});return{start:i,end:a}})})},jo=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:Ge,objectKeyMap:Be,convertValues:{stamp:({line:o})=>f(void 0,o,{timezones:r?.timezones}),start:({line:o})=>f(void 0,o,{timezones:r?.timezones}),end:({line:o})=>f(void 0,o,{timezones:r?.timezones}),comment:({line:o})=>h(void 0,o),organizer:({line:o})=>W(void 0,o)},convertArrayValues:{attendees:({line:o})=>F(void 0,o),freeBusy:({line:o})=>$o(void 0,o)},nonStandard:r?.nonStandard,timezones:r?.timezones})},at=(...e)=>{let[t,n,r]=e;return M(t,n,{icsComponent:rn,objectKeyMap:Me,convertValues:{version:({line:o})=>o.value},childComponents:{timezones:{icsComponent:$e,convert:o=>Bo(void 0,o,{nonStandard:r?.nonStandard})},events:{icsComponent:je,convert:(o,{data:s})=>Fo(void 0,o,{nonStandard:r?.nonStandard,timezones:s.timezones})},todos:{icsComponent:qe,convert:(o,{data:s})=>Vo(void 0,o,{nonStandard:r?.nonStandard,timezones:s.timezones})},journals:{icsComponent:We,convert:(o,{data:s})=>_o(void 0,o,{nonStandard:r?.nonStandard,timezones:s.timezones})},freeBusy:{icsComponent:Ge,convert:(o,{data:s})=>jo(void 0,o,{nonStandard:r?.nonStandard,timezones:s.timezones})}},nonStandard:r?.nonStandard})};var lt="0.3.18",ut="icalendar:lastSync";console.log(`[iCalendar] Plug script executing at top level (Version ${lt})`);var Ho={"GMT Standard Time":0,"W. Europe Standard Time":1,"Central Europe Standard Time":1,"Romance Standard Time":1,"Central European Standard Time":1,"Eastern Standard Time":-5,"Central Standard Time":-6,"Mountain Standard Time":-7,"Pacific Standard Time":-8,UTC:0,None:0};async function qo(){try{let e=await B.get("icalendar",{sources:[]}),t=e.sources||[],n=e.tzShift||0;return{sources:t,tzShift:n}}catch{return{sources:[],tzShift:0}}}async function Wo(e,t=0){let n=await fetch(e.url);if(!n.ok)return[];let r=await n.text(),o=at(void 0,r);if(!o.events)return[];let s=[];for(let i of o.events){let a=i.start,u="";if(a.local&&typeof a.local.date=="string"?u=a.local.date:typeof a.date=="string"&&(u=a.date),!u)continue;let c=new Date(u.replace("Z","")+"Z"),m=a.local?.timezone||a.timezone||"UTC",E=Ho[m]??0,y=c.getTime()-E*36e5,T=new Date(y+t*36e5),S=g=>String(g).padStart(2,"0"),P=T.getFullYear()+"-"+S(T.getMonth()+1)+"-"+S(T.getDate())+"T"+S(T.getHours())+":"+S(T.getMinutes())+":"+S(T.getSeconds());s.push({...i,start:P,tag:"ical-event",sourceName:e.name})}return s}async function de(){try{let{sources:e,tzShift:t}=await qo();if(e.length===0)return;await x.flashNotification("Syncing calendars...","info");let n=[];for(let r of e)try{let o=await Wo(r,t);n.push(...o)}catch(o){console.error(`Failed to sync ${r.name}:`,o)}await V.indexObjects("$icalendar",n),await x.flashNotification(`Synced ${n.length} events`,"info")}catch(e){console.error("Sync failed:",e)}}async function ct(){await K.del(ut),await de()}async function dt(){if(!await x.confirm("Clear all calendar events?"))return;let e=await z.query({prefix:["ridx","$icalendar"]}),t=[];for(let{key:n}of e)t.push(n),t.push(["idx",...n.slice(2),"$icalendar"]);t.length>0&&await z.batchDel(t),await K.del(ut),await x.flashNotification("Calendar index cleared","info")}async function mt(){await x.flashNotification(`iCalendar Plug ${lt}`,"info")}var pt={syncCalendars:de,forceSync:ct,clearCache:dt,showVersion:mt},yt={name:"Library/sstent/icalendar",version:"0.3.18",author:"sstent",index:"icalendar.ts",permissions:["fetch","http"],functions:{syncCalendars:{path:"icalendar.ts:syncCalendars",command:{name:"iCalendar: Sync",priority:-1},events:["editor:init"]},forceSync:{path:"icalendar.ts:forceSync",command:{name:"iCalendar: Force Sync",priority:-1}},clearCache:{path:"icalendar.ts:clearCache",command:{name:"iCalendar: Clear All Events",priority:-1}},showVersion:{path:"icalendar.ts:showVersion",command:{name:"iCalendar: Version",priority:-2}}},assets:{}},os={manifest:yt,functionMapping:pt};ge(pt,yt,self.postMessage);export{os as plug}; //# sourceMappingURL=icalendar.plug.js.map diff --git a/icalendar.plug.yaml b/icalendar.plug.yaml index 1a4977a..6c5afae 100644 --- a/icalendar.plug.yaml +++ b/icalendar.plug.yaml @@ -1,5 +1,5 @@ name: Library/sstent/icalendar -version: 0.3.17 +version: 0.3.18 author: sstent index: icalendar.ts permissions: @@ -27,4 +27,4 @@ functions: path: icalendar.ts:showVersion command: name: "iCalendar: Version" - priority: -2 + priority: -2 \ No newline at end of file diff --git a/icalendar.ts b/icalendar.ts index 2c7be3b..68e3b26 100644 --- a/icalendar.ts +++ b/icalendar.ts @@ -1,7 +1,7 @@ import { clientStore, config, datastore, editor, index } from "@silverbulletmd/silverbullet/syscalls"; import { convertIcsCalendar } from "https://esm.sh/ts-ics@2.4.0"; -const VERSION = "0.3.17"; +const VERSION = "0.3.18"; const CACHE_KEY = "icalendar:lastSync"; console.log(`[iCalendar] Plug script executing at top level (Version ${VERSION})`); diff --git a/repro_check.png b/repro_check.png new file mode 100644 index 0000000000000000000000000000000000000000..8df8a3d2f19d0d1febdafb58142de2523cbb886c GIT binary patch literal 100039 zcmc$`WmH^U5G_c81_%Uq2<{MqLx2E{Ly+Ja+#v+_0Kq-DyL+(U2_7`KySuy1>3r|4 zd2jyBtXVVnPeb?Zd(S2E zXD~3YV5A_z$}Xw<3-H?5u4D+uPf92ZpM2nP@u%JDOt&-&13hn(O;dgBoZOw9du9%1 zLKf0!Ly&Q4KD}a)X+`IM%hFWIlofdDA#`nI1^koaMOh zPghyb)s<=0mrEvtVYj$l6iY;s60mo>;(IPMIx^rKJrg-!GK8VI71^jY|8#^ynq|(2 zruDAQZL&~Tm>chc;Ae*x_I|UA8)G24bHvef!`1v?)8dhc9Q!mscEwn${n%TLIL#PW z$Fp_a`ZaFb#S0gb@8mKc+zVDG2)WAAsfTV5T+;Tj$RknF0^sm+UAz#FYVfnF3bzAx0@ZiCr`Z1&Ig@Ci7tgbo96Zr zZ6Og;(t&&ed};%)zg@M8rP%gWdpH_*g%t9d6i((zsC4TAceDl%LdNGn$44WVto*}B zYEalEIDPvU624rnqnO#MCmh7Q_N3CjjFi)1oP(6VM@&>E`^2hnWF zM{)Pq%w0-WPt6DWN{y2rXV@9`S_P||3VIS4J`eGwH5F1Gqd`779@U#pmGk%*PHGfi zY-@8eu7TNCl*MDwPUN!IOnPffBbyjSEyFZLnMI4B4;SWivMLr$K@NL$wDh#t;y&;T zBGm~aYm~?om#h+^p{HVE_eH^Uvc6(Tstr;+MQYlT%}3lfZWrQ86y|{DNQliI&if~` zV5{6^`N=$#yL3DALLJU{a`a_C$vrfZx@kXG~QREHsh>dV0$@MWq$NpN2TSW@s7jd z?d1nvL)ZP!vrO>SiH$92o*O$Csw(dm5-h%S4G9!4q`9SAeaD6aWU!__dOs5N?7XlkQJ5D2F zM6HrdZ{TZ3><o*j;3Sfk2i!8OEwVUagln-dO z*hext_xyBSYNQ@NsrRH7YzCpf_f;S|SzT4tpHyD<#)td+!^IXx#AR%>p1A_~46moh z2Vp-1wg*gVLfALaS*tBAISi1C2HaAP@PmiGLVk$Xi(fo{t^RVpBWFl+H#K%-IEejy z;5a_ft&z&W`{of71B0OS%SImy3(NL&o%LJ<34iAm%#QQ!c#&iq)H6r2#lTeK!oE@b zq39L-vnoxLx@T=zR!B&n-nvTAo|a~NrNwqwn%gVlbk=$#*#fQH7~dBxqL-{}8{|*W zvqZX^#5}n`$va`V7S9r`xtE?>7knlx9}=jU8M?B_1U-;213tF!H5o+DS?X(6ZXBBk zGtwNME!LZf5d;dk5^`W*jCcb-TLp0+#PBY8H|;fuxVXtcVsFOoM2Xr`lXHb$n-{p5 zR1b`7tjDN{W3PeRs?IjQZH1cf1bg>S5%r7nA3b~cV99V93w~};>n?a)mYb7z*sPYi zIoen&-{YW#H`Wv@zw6xJEYrVhUcfCY-0nn@1>29_@!6UC)uGPC?!*OT9_%}Law)1* zeZxXe+EoT!VEKDJN#D7AKHHQl8wtT-j2H6u5{9_3!C+C78OIxR*(0N~t~d@I*i?%o z7f`odeCFTE<8*6G#gW0AU)eZW*^Ef5m%jST7kYEBA(peH&1G*f-C$cSl2OgEdK7}A zcrw+h5gFf=;}&ne)G!psW>bOTBg22Mk#^+^;KA*rubrV zf6Z;Gfcxa&pj?URr%$iJ!Zm}q^IefIaMuy}P<^^4v7x!DcI`FDarOkLHz^2$m* zOIQ^X++H>s_x9RD>Ww;E7TmPyE(di6V&(-t9)xc|kk2RP{j#jrDOLpQ;pw@su#ks# z&*&)R{it1-5kiH@;(RzyN=gc>c=F@3$LkZrWDax4+nr3BAi5Rkh+{^xG!smE0&Oml zJe@7ODxC9xPU)Rbv9fw4%}}o?3>&ND3xi^oAK$5EOomcj z!9tJr_xARJr6w?pnY5vU8kS2Hld{={ehtX7^Hw}7pT=kP zwA6oN#k99SYp~xEbUme_quWKCURn|Y*r~g_dm9ZMT|(Z{($YaoLt|!cE)+tq{qs1C zfZfBx<2*8+QH=#4CC;uqnFKfx(!eni8G-ZvAEx|&0B2=^Awk3Ozp;Nfxxcah4|zh) zbJpnp{x8_`-zkd4zhHnDLyw~8uy01{v2bynR@(g&SoK=nE*R+OBwvBe&?1gSr?FI{ z+N3|e%;V;ihGw3Y_Ey{liz(Z7eJG9p?&`>P{%2KLSy@_IT3lQl6q1cIynekrQ*A0J zDEM@LCf^b85(S5WDrkETiY0NQyvPLH#%nFrpku=x8_km;Atp{uO@+hoG#2*_YW*=+ zZ!6?=pSY6%fW5)R-BFvno7?K=hS%8@Vb2n`ErXR&UcMA?IsTNuq61whMdC)sy*lTk z#mdSz=1;<}My7s)NO#ZS-N>T-^KYfTDD*zLYHQu$RdcT$*%7cjslhh%M`~{id4W~8 zxi^`!1Pq#Dlu;(02|W4uZ1g8o8fo3;4L-#mBez}O`G9%s@9#rz6|H-Dd0C;`f;r-j zf$T4`8=3Hh8-p4HYUEK^6{->n3a>I;p!0dsjt1*Qw0>Sf;FshR{2c|Hp|peR<=6rI z9wVAOw-kJ^fy%_u*A9v0X+}t-lUkK-iyrxRkKY{5QQLD4 z1+&rnKA9i=3w+{+UiNxBct{t`8&&qJw=h^>7AVYgV3|h3TAN7|>FDvl?lk4Qxq1y} zxeIT_sEz zRiyBpo(!v%chZkc`6`Dh6;Ibkb}(-0h#C}qqw^b)uAk+ICI~dr#JaGuOVyR~wo6{$ z`Nn2*xpDM;ydIT4bAmlRt?C-#yg<(c>Oa!2%(uuXC`2qHeYt0;q;X4O#;%yoJLZ0U zc1&<}V?>Fmlz(<4w6)?uP&U~5I9Yc05qr-T2Rc(e=c&(`_0R`SSrxOZp35#(Rmva1 zicIKq$0sq%iMd4C{@P+s7&DPgC>+bclC3{3nL!M+g?d2r@AcV=AVWk^(wLr^U`&uD zwi;$Z2ls5coxxN2+4Rzr{j+I`oH+mMT?6`ii#)x@x8Q4vzP(Mas?yD9oKYyGvD2T+ zEu~am9R^-%U%reSVej2LHen5)daS>yXkyN`4ZoQ9Q8_s*pLrE$h#0BUbagz^v2`Re zHoZO+!-7tyJaQM8z3HbT@IKP4 zw|RJcxPwJR>-GGQ{;t7fFu6a06*$~aqd(t4eBYa?E~u@oh5E6rWGf2CsBP{LY}C44 z4RX705NZdE>=IGTxj#`2V_1YdTgHv$nUu`unfd?81qgETb;ySkVGkxU5jppkxss%A zb#b2CUvM8!)=eOK3SG&>RD38{BE%jxCv`YF9eP>vAq4I%Hy(AU_YFabx^6VB^LmX2 zM!GIVMvf%QU@|8P8d|*GBS_~!4%E@+hlu_mhGr1NmaXB8HuozVZfxWOnQ7bX@bXW$}<`gfu`7IJ*)@Wv{$xT#BK2U*m-E3kzu#L$LO_( zE$H?WaJpB-_q52lpmQ62=S6 z$MV50BuwIRe|-XWPaH7f^RnIsJSp|zvB*TPV9Y>ZqG~G{*CQ5X){Itni!avm;SEKbl1!u3t!Nad~ z*A!VIZSUPxFfnvwt$-(j(8{fDfEqwtmie0YT(k>}PxmX%MwpdRAEv++&H?|{@p?%=29HZ%r6Q0vye>Fw_k9!ms zL~(TwCR$ELMw)Z?yrU4oP`;O%-vnFjo~$PZCJAYog5gG+Q5+WML(tj+Sv3jS3cdGn zmOsTwW?RktSXrW#Pe+2r*k=@mqx&7zX~EwQi53`x=v@8bZ(9>cR}E7aY09dQ(2rl< zdZ3u?g~jW!K6DeBTBA(SS(cCz65Kq_w^vm^H8>p2@T-gqRHiTSGJO9vtLb27>TvFo zdzUusIhu=+l|}LH7JEk`GDfpOE`{p=K>TL=tq(i#M9Bc|Ib0v>|MNiwVALFWXc+96 zdl6)R#(oB2`U10-$?$zHD5--xIf+Z7pRtJO(Ms*0nR5Q;^O~{Ft=E^g@wPWwGu!UW zfvr6C`kUK6-VRoC#BjPlo(&5LxL?jUIzl(}Y+JfXe4#FuicC!)~lu;4-IoxZ3f8?`XJ>229xsXpkAQ|OHeVxJ8%EZ0<+N(hz_`K+;3m#59| zca7*qoCZoW(5%&4&PHLEB9(+tN=h$X#YDo0aQfMbeBnE@1iDXUwgQm10`zqI{0Q%} z&5rvM9?h8ynq}HRDp+qeVgM+-9EnITke&r&Qs>L1Ot!dRahSJ?7t(^s;W5{_Etw&Y ze652({AbT681sLi#gma1B#BlYiQOpMJK}O0XRFy7bHJQIeTPmET)<|cIIb!=Iy!ou z+;L5BXY%itK-uH`zmR|xfG?%;+@+ODdn}M9yGS+)i6z(P{N=Nd0q+|jl~wdX1Vs*X z(dYNO$B59U`W^&M()0V@DCzGpKF*d@zy(9_t{8*9lK><=)vm_`^+~uxkyoAqV08bE zf2=PUI)E8a4^|M2_66v*)e&lV@DR_G=wTZlAg zd$y0f9ergA&cdf`A9AAJwwkNsZ1dRLSw95@AuZX<6xgUrdG>@8(Sl(Ht+HE;(+NZL zu)ttURaGaY!#?+TfDa(x!06wH_v*upfZ1P5`7^NZ4;%(OGIodLt7y0v z>TuWBB{gm(&y_{YtqqM?pjQmqcJGFfJx@|HufTqMrg$^;v|Gr)`vu#odWK&e4)OY~ zWS}fokKxzjVN=heZd+K4-^UpQ5(H-6ds%Ae*T0L^TGXaE6Z3ct7WEMF;}1XW=rmZ} zO*n7pGE`iYg~Z#mO=!LPw=$k4HrB>@*v}+?{eE_sel76gym>QxDQWpDOcumWebwH; ztUurL@|y2wSfW6ygw#aWjzCiw-|D{y|Ngr-`XL1mcM1=EhyP|Bh17^v+6D@+lSgMY zi$of@d48SEvZs9C7;F((@bp7Lye|9}R~Fa!eBa(+Qk{Fm>Cez_$9-8!3P_GPXDGVE zjpgDJv-hqVM;dg7q?405z1fO&nv_OXbn;o|4wXh~A%wz^KY=)(vdyF!iR@LrR(OAn zY%2I%x~1JWdzD;JA&rx%l+8u#_@eSDZGqO~fUrrqI#Q5a(_F3G=|$dD5@n=IP&{;k zf;H-tYD1C*K<>rn{08LCpjt2zTX=>XC;v4v!ToETVNrX;mhY7A#iiXjI#<2w5**+3 z)Z85Rad#{Ne7;!=r~9Yz+KzmRXO9n8O8{elSjhC|&6|(;vNJ!7OO%V009hp#;&8q_ z0%(6`%^FFndbJAOa8iLrkURmZ4x@;u?wb!RqSL`_E!c-wB~A_(nm{mdcX1i7(9tY)v^T4UHu8d2P|B^O0@}mo=!I;7zHXlUSol-IGRB*?BKP=NcY5w*xsW&(SU$ zJcs6%>KgsR;~e$*?N*zcOus737TZ3zwlR(*wEJ2sT7*o^Oi4*W@t0ME`Q1BhH}gz@ zmrVzg9gmlPLz6&1s&^jO#~=^h>Wf2R%@FiV4hq>`>xsl->wSf0L6Ow#dWNu~_t%-) zE+wk1%{yN)SJF4>tLkjciDx9wN#S7OnE`{9w_#s(0>wN5DJchxu zES24-AUYoq42-0S7|&qjot?eyB_y=$?MvE)W^QeHw+NU@t#Sil=5UKO`*!~x#?j8o z+8WWO9TR^x?dWaL9TL4&>5Ko$o(cQ>xvZSr#yJWN4b8`V55ek2t$LelXRy}bHI3c$ z!{^V(fZik(a63QUkm=ma@P2I2thE?Te7L)^{hRrW0fE@e|4ZfwL+%fuI}lw_AehiJFfZC-x2 z(BupjHar4@QXHFE6FZdQVhL>ifaSEK%L3Gdx@3`^h=>T6)%4eTup;E{m-}U!wS6hv zwxx27fTld#8aCvBFg5FFl1^8f4tIs(Ewy=Pkc$Q=;388&{|K)ywUhu1guzB{O|F&D~E36xu%Z?MOIxu;vA%Ix8!*`L|)LP~22$|qLn zMT&B%yI94Wy{F%>Xr~FsjbHS48hZ!NHyNGcthxzyBV~SfQV>LCkQW7o^ zS-D|{zvyYbuV{PxQB^fkJv}{pvL*Ql z8wb(!Ui#~~*8S2$9!zN(iw>WMcU6|AmX>9U%oXM2nXA;2O>@`6f=-^2zNPJ0et2G9 z-s{`+Z_Uk4>t2$F0YV$`L&DVq(UjFZ_B)4XAM%Kqv)$labgq!G{oydEqfWj)gN4H= zy3w2cVek}Zn*F{>*E+4#m38+A97lcsSBu0W6_Vphl`C@Nbb|R+{3Aj8@6e*ruji%0r_q@h?Ml~t`_h` zB2>Qw$=WM7751YId+GsCKbpSU9ZpmQ8{!eVpofBj@=br8m`WCv&uJfj)1QPNjw|fz z&!F5uNS2Bzqk84*%jbE*(^FR`C%@q~@<6mE{Z3>O_})J;Fl+ioJfPF4sv=B4aRBXv zNVrPBBS0kW{FPnRk2F5VVx>If%La^+T%9w26g-OHi^Bz?XXyPjasBH*S$>y09nLpk z+*i(p8^6Z~q3>HwXkGUV&Xq zvdm1j21fPOM;3)lm`4x?-Vp9i>3PRdun`huC`J(TuFihTEwh{~)lj#D<0{3*C9)2U zRGDQmR+nRf;pztwBQuMmp29;HDTBv1vw>|}4}Y+XB$_Bo@eIYErX7Q#lrZ1Vn!bGJ zTR?!cD|#@}OMg|7&=vb0eH4$K$|xQeaydX4qyX1kQRgS#D=N&NL6WRiXDxlsMQ&9; zt^BIKQY`qVzGdVdV?g*bJ?hfe@oj*$nI>J;^#8eOxqP~O7a{&W*&18!3MCI7#ba-h zdC<^8D(m9vrFSSUlls?4m>&2_VFS^w?>RHIi+Oh#Jr}OQ+qT>haQbT!MFd1di$lrm zo~)l^x4@RJ=3Jgwd;i_8h1@ThM>Ay=Jw4iWwniAQ-gd@gUH7XJ+GifX(v)IXURPQq{8 zaUDu@Jj*0M=z|hi%W6qIZu%Z^UTdNaAmURv^g+T@d7bf5-=Dt9eyCyFK^ctuvTB72 z&zh!^@6O-G+9?c1NplopQA~VFP;Aw~-Aw{TM!Xk3>b@G33Ry0U<36}e{YW~~@Chd5 zDjIBrO2kSZOZjuAz2h!Zs@4lzUax1;`jQoMkIqHoBfcceZF^1A@uAGak#3af2i;p3 zr)`WEm0C>HERc`;YZQMe1}$3g+|Rae`dQl~KmIzU+$2ZHX%0a0$?wShOZJB#G_Wud zLViGzDU~;`TkwHopTe*zubB0+E3X4f(#$2eh`c;8DTzFp!hW@7v@E3(FXG%cD)Ms> z>N|&Rg;Kv0N9*h$jE(54C#tVhJQiezGdd&;VbFDlkKBPvFMNc-a$Byr<|tU zO)4}nGxUZc-mv9ZoY>~q52*>}^*|InmduOF!ch+lt|*+5@EP*1hnuYoNmU-)udys7 z>F@W*C101wTxfZ0yYS!ka_*{=qv=2Ue6L(wlM@g;h{+;#xss=&+;qBjo?TJp7;j}_>9V{*Ft^Q4 zknoiZdx?KS%IQR`E6l$}^ldxTmb-N}=x{7wuET5^DNhuKu48qYxb-9cOD#?`A*nIp z(^NrEzSi8J+w1DD%pafZoRrt9I9E}8Z8%U`)1jmvB-b_r_l7b8@9|WUw&7E9Q0r(C z5@ad#WUT-xItvn7CF-s+NZJBRQ5sU8(I(60db&g;LH5A^aYN{7SJC1kZM}_~dL%OP zS)!!L;k4sjPB~#ksE2Df#oSiwWS&>biTvEo>=aB%phg^N>(Ob{=OXk~L_USmu{5kp z1)^eC7nf9Cdj#Wf0CgztQ3>8cN^WV#uSOQ?ZOJZ?M#wLshsxqQ8&e9&PO0+0=2F2g zTTYdmAAU4gQakK6>rHL^_&!U%oKXKttx!hG%galoC6M8wr?NHB-a36RxU* zd7S@TGDV3L#=+3{)U(|vh$ATZ)I+fkkg>FUQGbsyB*i|w=>GkIHyPsuhV|g!An&pF zn@EmIo=OMdpYX4a(TL{hlEDe1X6jtTalckjJz}SK5(2VG8SB5_vyq=5U%bpXVbw$> z^NCFoa}eNSNhaf<@l}a$RP2C6c|G1YH2*5}`(r3gR#j8DGrpcc$JJLx%l$SpdN@NU zGCu}S7SANmoAW3nEF4)%iAwIDnIyhBbtd3J|88fc-O11~oTJU9!`W_^G`h|IUBHw*ocd{U6pm*0*lmw;DZ;@ZTQU zPH4p*onCq39m98eJ#Q86?q<7XWKTHYvQ&#Kbo)HM@`W#5NoM(%x*LLpDqW^gjY7tYIS&f%Ex z)YlA2O1Kl*jze{j5F_b4k4ioUbwd2F;k91t6R%#|&96iXJ^tMfey}PVQK-hOs`bNu z%XuebhaD65ymC^rGw!NJJk(JULpWN%>+XOX`^$-bLsQdm8o!!7+@MKxR+j?bq-OKa z&e=^#JUY&`F-SOJoG$U_5et^Vo9;$mr9G(x0}ByP`7@qS+#2S1Rr`7r))+6=5*Ix2 zr^$%HiKw0BH&_vVnYu0BPhQP=0FE|Jy(4-qVIA<2C}8IvP-EAdt2z7g4b|i?e6-V2^bShKy)mTijWwPBL^opc^2kn+SotbI+jJ} zr4TvpjEXHrcac`cE`857=n9#Z5&wgxSY|eoojf9A?@atcu2`K=BsoZW4J}Tpv@tXI z)pg#Na#?O~Y4?FfVI77Ei!!vwiI%nxqvYtz?*kl0DiplM1Da8o1EiCK8eCrZuF;rf z16&|I_&q4_g@%Thz%LXjamK^lHp5o|7R=1LG!HbQ!CHymJ|Ggk&k+w-ScLq>vIA*F zcwx-mB+-U+D=8@Lfi0xRhsxs>kdA5p{Jhc`jJ0tFziQB{Ci}$D$*BjMKnsfURe}Rj zg2FH}oE#j=oiA^QWfpTJ&>JF6G>D3(f7udDl7tq_ydEWcX?}s#88r;bc9KxBpZjzN z5x0#t5ZUF*NEw4TKu2m39)=wJw-ANABKs@-chr#*NHC^axwh~ZQIAn#Dm`I_anr_K zdRU8ST+(2j;+s$2=OEQW(1j&tRIYi0fz7p1%=$dNIg+IV(;$%OtS>{TO@U1B{RK`f z6P)|tqlo7n+5YFf$*34KvY1Vy;dBAZ-lo3>+&1&?XH@x;m@x`oQSxSXGm>Gy`P`ap zWn~rh{td>B>?iD{zX7-C9+Cy6h99Gc-+3P|`#3E9$d#OLr!wOMShn2&)O3fiTC-7y;Jab=6}3YnDVbLWmc=C(3$1*16>N7GUJ4q<&Rk1CDR}vx4Vrlk*WU z&7=7SKh2j02f$rN!XLh5wYuS&BMY!0-Tj{aC)6!0BD zeHvb(#Js?G4Its|k?coc3L^f<%o;!7a^MjVvemiGN2wNKgWfy=G?2MiYdTC?Lyqi* zkN84v_h@s|3CLYahk$Yq>fF^PgB5ly*nN6H%5mMS+w9^KsZt!!rG+StEaIzE`RQ4N z=chmNX?)a}NbDjkAo{F>r~UhUGzlJIGJ`ru>Lnq^bd@1uHjlwQ$a6sz!xf}f3v8U+ z5@BZr#sXSF6otEr3?1>N~ z1mTJOlJlf|Bu64Aa?%Jx=GAvRR^53}!!JAiahT}~k76)I7N=Ae6QZN7jaEYbezI6a zrf(ggJ^R1Rdk4uRD4CAc-Q9gJA|UNcDZMH(Bam%r31ICnG;v=BS9OFm`#3Cs^4#Fu z^FNj7;e4YzV+B>ybQ=wgjne#ow=)FXov2Lr(_AHT=We^?Me8ZtR{+8%*1Qn%*r`)l*tu>?6y}Z2n*;AAlN&LElryORj36GY^eBe ze*N;7I+xDc1(lE{kZKvMRQYcWrr>FXVzgCdNtEb*e$^Al|wZd1easjd+kjYE|&cvYQbq1)Sq5C_q z%TtW9Dg{pJWagn^bL83#HocD|;{K5Pj*fRIi5-z%(@i!);fOGTOo)^mB52B!tu#w^TAiiC?yIsNSJ=!xxfwF0Z<*9Z<5BHv#Vv z?9~XZ5_qbBJ*j92B$Wz}%(~6jPmfnZ(WQKjyWdcojs9Tn7z2VRstR6_VGP&=wAet8 z391#vV}OKGznhzx`7^_52Lvhw7sQ4X->IRag#1%{{zvE+Jty;n;{d9ki6E4X(0!$28H!T}|~|5L3?qw*)@aVLujAxMGpCMa+^fBjzt?AiDp zkL`c4tp8C!sPudyNM=c(0zhzVGu%xbY|*i4@g=6 zYfO;#fpXs(2^J&e_wj6^b2W}fv)PR~WqqDgCi43Ec34btkz3aCJ8Y899-<=8o6Gf@ zw`~bA^plyrN33?ni>5xM46(8%11dd;N9;>z_r%KBr3;@@5I5OCFvu z&Iue4a_M1(ted?val$JxP7_BwpRH?^(Kj|)FDOXipCWRRuK$(N()HashaoRC2nhw{ zZrjnJBS3(*{Ly`DhkuL-Z6W!oeG94~iY7nZa&ok@V|)AdEgKsf7neBVqgZ`(@;Krf znn#uGR}gG6AWHLt?1B|||AbU~eEhix_L=%_ciZk3jD!yCz&|-z0BFv*opnJ5(p2b? zhx~umzo1Hcp-h}m*txpfFIN_f{k>ewDr@3i>Mb0fR#JZnKM2ON;F$C}#IuI5rBM~@ zavF^#f0a$5fPA6Tc!&D2M3q|E`S1Iw$bLKoLh74gEq2q1fQe`SOu`Er+=f0hN7N;m zBbvf|J|fX|o;|)X6z4^TAaCK9t|+Z~x%l!L9;bFDoyNi-^#awP>vWwq^VKVH#n#eG zP4z?xTvkG-lMr*rcfY!Vgg?)?q3s0}*<|qYJ~YxA+U}mW$HHu0O39h%!EJF}o7Q>; zT6cB7i$8TGz5pfC2ajKtb063;k9w9g;g@cw)+hFkuIZ+4LQO9AibwN8QIT&)RaLyu zI5}~8N$0qePi(3(7+66`J*O59(>lbKq0Z(Z6Fm~F~wmL;qd}=IeZB6m_x%0cQDVsMviG!&sEOIK=eCkpk zZRQv(QqLzbj+TgYT5NvUl{84>s8l^!o(F22jgD6k8Q9|GBP(h*8Z^3QgJ{WRhqw7OBK2%PdsY!?0L#ga96*C0qvvfX>Q0OBShQ@1X zx0#O?Hx!HT9-vr`bj(Lb4<5|1UEukR~-i5l(tv0}BC-x!I2O-Scr zbJ1no@RKExc743X9@++3c|8AB;zT*YXq`$W2R#PPre9>n+uyskb48_EjBr>`%>pF$ zwDP%Z>?*`~IoKS7M*{7EXS0GM!xzh&#bHx+h0Zo$H{5WKJEcGl>tx?m`Oo>he_@IY z4r>T1!5a3e-flpy6c(>{w7)~&`45#ob1Wg{8{YHIqQVhbxz0scllsT-@c|B5C{H~Nly6=$}9~^1We-rOC!+>(`>OMjBQJfliL933j z>JvU8Y5A{RNvuCx_yH3M@n_5W)lFAngM)^|ZoN^0n88=e`Wr>;ihH5EZa()baf|__ znuaXlpZDti1b~d3;d^_dnY%M!QSu3-OHGA zXyWJ%JN;$!K743>`t=i1HB8SPE@pH7xKTDb?+ME_iby~w^X7f(dWewP!!0I<70ib5 zT8n=%scgw|>4ahShu^vF+vi4Pa=bgB40* zSxV)kZ{fYYDH%)Nu(M-e_AqBKGf~`K+TTCBzo@*JhK`j->1MIN-W{a|h9#1Tz1+)WS#`q_tf^Gw(j!&&q zHi@x}SU6wpH&A=L-7h6390v#Cr6=jM*MtU7*mIwn2Qmb`lDa^oY2y~JEe>?BBCGw0 zv|GJdFe1CGs*16@F{PV;N|Izu8~b&-2LUwCJL!0`a3n;n2|MUf)W4aOQ7?u-tk`{q1oBan1^y*c6v>o z<__E61ndw#Zsm=^2Um|chFx*JIEHWJ0u*ZKpC2498qEnqB^mqGe{lQm>E#H$&e=^G z@s}|HrEDqNvT78KH`8cv*+#owv1GVi zTz`9e)UPJK#hPqAm*oj#a3FqW${J=dg?cb~gT*lCj!swQ^beG^GKK)1E(%46d~O8N zMME8i#mdTxl7zZ?;&{0CNO%O$p)7#(f(nb8~dilpFi;l z2$B*L@rnLrgmaQ|yRi6JPYe!76d~x&Il)RCWO|fjdjG+AXnzyb@cwINfUd*;jy(a$ z`uE=drR(9}d;c3q{l9afr(@tHJ_^)xug?#egSJaR)CB*5|NmcWOn!q2$)%n?TmBYN z+mAc&48DY8ziK}<5{gYhydVL&3md#U8S!Y*+2nF@S|D?&*@3;y*$*5;ZU2XKe@E;8 zav%UMz6Nu^yB{X=xTt+z^CvRle=}EW>3q5_C7K@tD3`$< zsu4iG;voBHWMoJR0x>0&DFJfjw?@5DfS3bX6LcajrvExpFfewY8Akioef*lPDo%=W zJ@?dh31o$v=i0ve!h7?u%k*52qyz&l0+$(xf-~ZQ^jM0!~CzEn77o$^BEV z2zY<`NoI!Pv9@|Y=~4{>IY88lyhFhJ;jn1C+?;N--JkXY=G^UaKNv}~Oq0_g^hggB zqkuK*H9G8o79l`#6o`itf-8U`diB5682$Y*GuY@ceXCrc-eF&5TDscyYel4VqLx;P zUZF=z`c1&K;K#;+6fG_+H|3$dr^>-gc68V@d($vN^5e--Hp35^btys(5^Q^wzy*MB z1b+kkxY+IaP9&L7ghiQTDG+D%EdaS|ZC#z9-6|wsRuM(JLRUadZ3@t84nRBz)GLKJ zp-1uc^;gl95`eNAg-X#2l9Fb?a{Sj0_fKCKjR4J`;SpWjZ;|HOBe;@((@$?*vJ2&f z=fvGU|KzPFzZ5mF!SBfMbQ7;GT|HpZ$2x^@r!%wZB=oVPyiCRzGuZxoTak>6OxX-* za2PRV1mSOg`M`q4S$uYruvjl+{6;{o4 zqfezSgWmYP@uC=VQ3O;#{Tu@>H}BCJs8y%RNkpvD-?;+Wkw0CD0-b>X)*T>quepIl zDOo`A0VsyJMs0znsOnd;9}qaH zXyk0>f0Bb03EGwbokdh2{poG&6sy?bNTcTCM5Qpmya)9&~tWbiaVG<-S^(a$Y_0k zzjT6(ybiRh=I7^clLE^J4aPv4)dGA5Xhp8}XU0I&qNPXf7$Cz-l#4-?5jY7dNpE?f zt>G&g-wlXaDrm6>l3$DQLZ8#OZ{Hy>gN}o~So#=Rd2yur+FBCcFS+l8zpVq7NS`FS z1EY;??*$f(q@O~&m@nW&&!CFC{;K<0iwTjCNu4H8j|PMzR3ZqB{POrXC@gH8IHc=W zh@{MOP#l_V^Y#X91bG?*sk~S_cqM*@aE0}Tym=$}MUIE_uAp^;i;GJ=4Xg_^K2qG0 zA7h(kn-#;5#Z~^ORk6VR>iKTC3DM-SC_AV2RW!wQ(iFS?SnqF5ugHoidp%>cf&rvK zNk4MiMYxdqg6?|$3)i3K@wy9r!Eho7;=(w!eV{@}i3&RTf;&Yh2GjWKgM(XbZ-3gY zDR6d~iFo>+1Mwm{>AN705?-{vcFFI+brU`$>DHKGe5dV(gew=WodBhFUtFl>7?^0v z_quIfEj9~{l9h!xGD+27;%Psm{`7uo<@gQUT&Klt;?Ex`x0~hPu-{a8VJQbGOmYwy zTY&QKbE!)Q(Eh`ux4YUVDq;M5 zciMA~L);P+22ZmF zm2|7e4e$zkAO(R4N5hemlPjgEMuN$R#AkbM&%wo|N{3xInf+MGiI!~(glHQm0rnex z!1R59rlyxtatAMWe0OUr(2dE!dS^6m!%jgoz9~9Mkxcx>RD1h#b}I~Z3`7$g zsjt1@<{y;>*9cdDI)7+r2y{m;g8BmJ+*7gymhT`T+WyY%yilYAhz&pxuhoO#f!}f0 z0qhK*IUQ&xC}Cu3w}0ZQYs!^v{L3H7UO-vYI+0K}E@##AZ4Q^2a=)fY+3l54C$Fz( zvGmM>LfAaJEE=uSDeX?DV(rDI&KWNlvA+skRWT^kD=JRhwBhaZIIgts!0wscCnav3 zyzU=N7a-cfyOE=k10@E-7A#KWbkP9R7f47yLBu;<0c9jbjJUV@r3uZm)6=i<$s%9$ z7nx4R$H#AOZYKKAZ-EE?as{Fz(3i0+z{wOIRZ?Rfg5Z61xG=Ww*UX$I;R&j__duno z7@G#lh%P{?2!5$#yi7~&2`-P{){=!53Z@<;0n%u#EED`RlDK)9zSn)e|IXruGw*D_ zWiEd_h77sX%}Ig*rvDi}{4z{*2YukYsKzhj)y}0eAq}ov@28cR_``;n4^)4bfBQvy zfnL<~^K%p+Ib%|5|v(=iAW= z8M(|Y`+u`wPoF@|43t=Mo;1y}T5o3u2KM)7sz+sF^FaYO?4If0P7nwL{JDQF3(Bjn z7Cq3o<*hRoO44&`yWj628=|?Al6_q1muhihVPw_T8yWbp);iKBi^DIg?hGni_5~l( z_^NE9C0~P|7+D%h!}`cKX>4H;QUogZtw0#cZZa_4=KTboC@nP=Xhdr)CW?W&m7Fx^ zLul^7Yf8yo(r?PlOw;{OM8ZynWTyLO8rqO{V2lypm{NSC0} zAuT8^NK1#Jl!VeM-Hn2Dh=8PYH_{*of;61#!FPRQt#9vh&KP^_v&UI~t>Jk2#q+!G z>%Qi^=A1W<9P7{rj6MfA6Nd}*vTk88SVVcMRvT8k{KPDST|+Yt$9e^bWc!3bH7*fE zUJy*rKKEA4%e}N4ji2Z>NS}Sc0QAD=yb%{iyA0sx(yTh~Nf;@&6uvrm?q#HIV8Muz zaCe?V@3TU;h!oAW<`Jy|UCdoVdk6^efsX_R@^$!}U_ex;1Xpf@QdiIoGWZC%{CXNP zFy{535 zsU67umTIh5=jkT-a_jf+jwEq$)~dicz(dTB*I){HW&Qg9J*Y{#csD9_L6b1*snFA> zAWneyPEoOGJ?KVo&CXZE#Jyt*<^1iZPrpHye1$>?Z%rBjOo7a04^bFXsr%tfqot#R zs&;c4A0cuA)r7&uiv0QiQDAfqtNyn_t^eT_{UdLrQs0Lj7ouh8>v3>!-ix|9fB+r# zPaLEuK>zna)U7XK1*8uKjv{wT;fM~9nq69Adea7@Yod~so|NbNpP@C0VSk_onmw2r zv$5qNvUkvmL%_>l8uSf9gMQSnc~&CfhYB0++8r+A2H%g5I}|5jPdUJ_gqIf_p4#=^ zC!(UF$aEVq1YHCqQpzWNp1h$aMcvdlV)oyyw#DYVdUy z#VB}p`2ro!B`jjr7owb}>QJU&+`R{tW!>2|PPM%OP>Na%^ofW2 z`!{-_bJ3!Y@x<)od9D4qif?DFZa*^8`SqggdSmX^w}I0Kq1x!*rN zUJWYaXV{EWrIzXkcNd}7j*O2di8y0LUcFNd&JpNzBB%LnM!0Zf7Mu}vb#-?- z8{WV(1nxoj)-CH@`S;d6$$mLGELE>?$UZ{h0BHxJB7wsL95zmlj{VoES4zR|#~Qr~ zKo!&h(&!(pWn|DUKcv<9UVnOM4TT|`>UOSb+Di(4STrJ!+oRgvGSR&l9~%Qrv0CDd zH(;nqD-LU&4V;eKeSt}sE@@_F1~X{*!+-C}RfsTONMq_yUb}V;trvWU@C6FtB<#BZ zi5J9dTE-bJ>m!kHVl*^JuwyQUBto|$C4jghcZa6-yEJCm@R|J|q{g0a1e3kUtrctH!*7OizMAfSY?`)w}gR#@Fl%!A(;6 z?f=$qU&bNz?R{~GwgL?V96)$?lpQIe0`NOkTB7d9%gJ=U6Xa}(qGj->&COY8kCui9 zSete4oy*DLF61`Qeo3_g?YQ2~=1{>nm__D~q-ZApz1vQ=6}|`tq#I8`%!stx#R@_L zwSav%KH!4Cglr%JpRP#1(*I+w$~PPKM7~9k?BLr*a^Z(&ND4j0+tjsAfOs^;itJ_D zF3_8Q0i6e}sFF0SQXc89krAEji%;Q*%-E<%xUyhBKPBwAm@KZ?b9#CTpYnX%8pQ|0 z;|!T>vd@!if@6I_`633V=#}iC4`zX-+L;iuie-oOdCSeyZejoa29S0V|m%+m9QVN304J{;ZEWXHmc}CP`PWg$+?HyA`162VL{} zbiMeTJ)GbIPsU!PZh&NNz`=4xD&HH6kd@aS5z>y($X3rGvKiI-fs3y zZ^AH8c${#eY6cqPLtqd967Kz){fa1g0~McBiF@0an`iM;l9RuK9t(_cx}UO~t`=12 z=<23sUdO|`vDYgarLs`pK zz%AE}UlV&clLigl0)PPca=*vz>M?7h6f=ez5hhag;|!eUEFJ&V z=CWtifU$tESx!c%tBL_D6!?mGUh^yMp|Bd4>HhY(7!6hZlJ=zWWcF3MeDrO9TU@Lx zW_IgDE>CbC<-$`V77!-Uo8esQ`!^ol02YCS65fRi(A$N$K!XP`JmPYs@=bTA8H;#v;Y#t3s=pO zod?87>`$HQ06!_PAi4aMKwtsI^#{TyK=}orom9;88Khu9Jumdxfb1=348QTIddUiF zcoRj$$CIH>!LF{Use!I7pjRdNzjd%o1Qwlf+<}>`2RdGSs3diUweAYdRi;2NUJDt3 z{s?H3^{HBNRl?Z`h%#y@L$qUbWjX3ui7Mljj^E7PIM=FxLcgNq3^Qg=?>|-IiSLso=T^y5qG|e}!CPBYnIq}}| zp`a(t{Qlh*Dk7-eWN;l}#UY-vDd`mg zPJX60uy&!~(U1rL4+RWGHbI&h8?gRYH9i4uDREd(tigAb7n4z5$<$YYQ2%GIQkcvWq5sde)H`#Uh^X9e(Hf<%Iv2%)EQ9}dAnI}cA z4g~u-P!fU!m{zfiXlv+cpc?j>W7_pH18aWc?n6V_d2)KU&DAaIZpQ%gjRzx*_sMeZ zU^)CxrUCG-%Jf43I?Gl|m`7qbjSPGCF4ItBQm|YvdkpY`=pAr1)fE*pv5ielO(P?u zl>65v<*d}GS6tElnF~Pb9Z^@6#;|zq&((UHFPKZR-~X%{o@x(wiZAOqNEEsMS)}Dr z^Ym~VMDywf`Jo@yZ-{^*xvAf}gBa0wsOJhvBRePRrhE$-E?)U=(lGAYSg9E|I(k++t_Y5hm_n>9Cpe6LFJn z-fEHOpevouNv{y9HD6MdPs~G8)fWSBx6;ov)pGt~;@_Z?Gbt|UDbo&ko)*h_Yje56 zCN|5oy5xJr~IFa4k-CSK6`o28pakIDVy}wTL3}ZOp znjdW}PvixpE$I&5Pg7=H!?iHl>KN^&ov9k9jFv7F3DfHJigH=F9;M=LP`4AoZ;Vvi zRH88ORJ?O;F1)xpx_=O~ZE%)tR>XZnsNoxvgym!NwBtVIoYFQM2Gm6K^Nb=G$UKD# zU1fu{{+X0It#*k0Xv zCiB7_t;3|iyffsznCXx2mRaSGnET6o7`JrK2P>*r$88!iS!; zjq~Egi%@v<%WWrNdo4m*4|MwQ4}6bAAiZb!{e6Nb({%3>`aepx@%ONhbr4S=!> zz*R(7feL(nZqCHaYzS&7MBRdaheE_D8xEkg;UdH;y8k`nMcFuTemQCxr{IzD^+f@v zYNP}pt9+Fdf30qifd|eH!LK3Wyn4Lpb9UYb<`4s87lyKDKp4Y0?tENT^fbH2c0KCC z;LolMnkl_1q43?!63cs8Qf8}EtVOt#`ilv;lcfW~?|$9-lNGX-Qr`R4ZLIv%mIkj= zMyk}J7xgc?Gyi`=cVj>tL(2jTJY|{5*6pM2;SF$P#vQ>?6~Uo8w=q(ZrjQI{6q=Hd zqD>$*bQBNW+s|7pT#5 zt)p>hrAMckIurPn=zHMw_44$L2%P$#jC8L4=SU~}gI2CaTVEeRMk_q_W|4b#cAGFT zo8yRk241fP-uPJd2PSrQ;b?&gydN!qIWD&urLDIfDSk*A94hF2ybt2RF3kH$Vw7&| zKvR;6Jo_~RJ%HkgYUPvR!buocsa%?bkhrH$i=|QmclpeuhrUN>`U2ugR)%H@z-dsW zxcd(CP(ZK2OK9jsgoQN=^(%qwW4;tJubw7{%U)nc&HfO$&zQ7apTdYJ`W1R7q7kToM|SA;l#U<(;6U_YK|pVUDp>hZ zi=B2kPj5TSw}OvCmgiu1*l0@r}R1md6^=82}1#ARd1*vhQsFNBFe&5$*}pIUiW$u+L2*c3g-`R8{5WA&mIx z4V1jhTm3N4o2$4OLpDiT39F;(k|T0BQC|fmKoy_uNM7m35&`UATiRaZ<`)6v7XeWK zMOf;P;0_)E0WGocu0*dxQy_j^T1iQXREh+H3M+w?lx@CFNvh`^4gymssIZS{!*665 zMfj&CB~j<51(w0UJLa3@1+5J^GdZt{XIpd7X2!AbAROd;N?%STtuV4XCCJFO$jhu{ zjM#DdINj?2m`w#p9$b^h`e@#Lb6|;-E+jQvAsJ9URXFA=`W|Xx%K@{6--Y!ID4QcnoP=%8-y)u z`AD=N(Lr!3dpD+`pARG(AC)qf`X66Ur_&U0O*7IGSrp~a(EktjYeWV zo>Bbhj9yMtYo^dBfomua3r>Py1y-6TG1OG`^zTPg(Hy6tUzn0Vbtw|Fzj0xYE*1UIM3 z`a`GPwJt17AMUPo6uee>($LuqQ~4K%nU9%oble872r@H4yJUPDaq-h#vS7C;e5h5ocmPP!`k`6Nc;Eia_=jieydi$gYMkLJu{12bYnK1AD6e|?n1k@O`D*60{U8*? z3Tb^0y?GYQesoXU2fxE36A=+vjpuKXdHCQr9~5k5B}$l+W?${#^#X(h{+qtcdu(q! ze)3%`PSlj3voJe_szu7<8af2v5EhBWADiCPW_ULO`@Kz_6ahonZ%{ytF;%mbV{d*? zF`^B7j&0eO9=X;6^df|3^{GfBBqmEOB-msVU(>99I@<`)2RUjWb9NYo(DL^rzv*1U z^Kapsy1cn*O5p|Flpm_K_C2vptY1~V#?HC_df#Z%er<34fp}SWQXX{+&!xwoX)``v z`VcQ>v;L-l)-U32gg5?_i~|=xfAav|v-TK{Tc$0c;Pncp5bkShgA-W^h}ZU5PHI&8 zV86f#pl-&hoY@*50V;P=N-iu!2AVSb+y8~gh5U_bTt!{%?IjnR_yD3JOfMV=N++;{ zgRgOhp{y({IIj+{guW!WX;SR@&Geo^2OP}sFbrsizBgz}paOlz<-oW)3$g?jt^Bya zBIegY#%;Y?x+f*HI*CX*BwdH#6(%R>z+|omw+O@G0(dXuNF3YQ(hE=&JTBSCq?cSe z*J6#lAt563v~othWebC1rlAQ~3>ehIer5Bd&5kM3DM7s*S^Cctg}$AU_sFWY>UdtP zzTfWlt3n}8)*bzF2OZh*<&>ce5l%hc?3BUXT{?Y(r3sdSOg-LLPKqCbbWR5VOiwGl z)E|qRS!2Z)r)_E0|~n2L3bAN>@%g1&TO(6reom9ZXG=0h+-1CvK`#aE z6i7%CuJR4}_XOSuwl6&#A0G#1k6ZF8T1%DoFpcsBGCeE8F1OvyY3ep=+_jk*Un^d$ zURbZ8u5!?c2}1^nf2or!_h&wK)=XdA8Q{)iE(#z^^XlEmP~`&pLqFNo2!H(-y1?rX z;FFLrLK2))nkfwa`)Wf7mZ1LV?&?Hs!_wkJiu9}hz%mp?GXI!Ll_P4JpzFD_x~Z+WWXCk1NNU$#pnO_zbxAO|I;h}9b!S1Auh3m*;W3JSXRyU!9ik5 z;63?xc?pgDva+&huYfn1_QB)sM2KR%gXtb(7P0_VKu%C`P*YH_6Knvr71s)6;ZC@K z>xO>l5Qy(5C6Tr~8OA)pFCeA;YxQTl>GL2r<|_!H%??ZxyGpVIjKyX9goK4@x~z6f zA%f?u5b6RfM%~pq$E7QCqfjqo9f0!tw)Nv%#s-))Uqe-Z1|Q~GUpk72DhU;BOF(sW zqfj}H>mjr(;PcFZPGVmqKR+Kn)vHn1KX*1(W@qgohY+d%GDa89CC=bIOgDPe4A?N3 zUI7R~&|b)(Mr*#Uf;zppoVI$hj(mh3@Jj% zuzPU^1Qq<-y^TuvzA(H)*tv7m|AzeBw-ZKnd-cbU=k#Fi*4r9PZqdn6W1#;DXPRM^ zQ(Nou?rk~ZW`6G*FFX%9)`ox_Ycwz zR9wa=htPy9KoP>n#2;?bWYq+!^Y?t)^IRdtei#|+Btl2IMxD+gBt*K!1AQl`EWoNL z=Qr6PE9LACG_Qr9W*+4A!4rGF*bZF+#9x6Tat{O!6}l4raFnR5)H*B#Z?J=KsN|zU z4Jg-0i`28ixRULS;m8lbB5nr?6lP{{6py?~@BiX)i9YF=;iv$nyQ^#M@NFw6%X;5oaZb{htMMCfGupfPN1z%agW z;R3BHUWSvMAj2RHIQ)b7gr1D?rQaI3icg2Xw4?k4ekNubTE$ro$d!k6vjQI&NxZUL z2I)iO30_O_yp)$m7W6q-&sXAwQcYo086o=Q$rJh4*8_YOTvy2Gks|@VBi9Mcr%ch% zv~S(Im6QDB1_i2wUJ4zU{=uIw))v@@UM#+O%t5uq-&kSMC(FVE%T z-~idpA9e`*D&fWYh-ZX$lI!hBI1S&ks59mhwG_d`1(^Bywp4SteBl?%4dEXOSYzfe zvu*7=Uk}d6dI*ZBj>uHmk+xT+$1)kTrv&3R-l|DvWTa}_8-@(-3`dJyAz={la8o1-z~k_B)^L`j2L#F=!&mi*lnF?tfY6DC_Kld>n3K4+&T_l4DPDPc%7R^#?* z06k}_xmlL9M`&4&=M1J?5LTBVsl$I@0E#(FNSH6B_r;;0pzs8oht!d%sx3wx85UI- z|EL`5A#J}>?u$N0!h9H;S`8}kZ%R?HMWv~t4z54%OEr__W+^WSv!3(w^TSAj&FF9j z(o`i%_sf=2k8eRP6phxWEVD=fLs%<0zyYZkEr(p^6pIAXXrVLyH`G69WQHizZ7;A4 zAyW!y5leU*FR<)f}o&stFR`TmwE+{`COIzx>nK3uimGi@Vi z11WwvxKR9p>9VF_auHO7a_7$4%R7Di8Sao5*P3;t7%_xJ!p{6gTAxt9PS%a^f%XO` z=jTL8U3IxHF0j|32oRFI6oyzws{)wYNDHQ zTt9sprhGmbJ8T27pHgqSgYs)-0bU8pV#XN|Ffcvoy&kHdq}SNxZrnEz*Nk)D&q)Gk0of3+BR9?0J5;it{DPOrxWTY z6fi{SuDS{#rBNSkCMxh(u0=~n@F~@`L#~PKud-?0;4PYGV-E}A3g!5DNRqXvzxftY2Uru4104NRl zCn-#0@@Kgq&?U+v*(?bKkeCGJ6MoGqZJsqtiuA`dmu3$@BmloDs43!)Z}PPQB)i70 z^Xv4)LuL(Ff}fC@7JJhSu^T9MA(Fe`h$HK&!F;s>7o$iCU>*kV*28$Zr|Rt|Kj&cp zIakP0nvs`ea-{Pj4JnGcA*Lt_J2x$Cod& zAV5**E%|;3B^a*MD&mSu3<4oO4kn4L279Gi&hd|M@g8+|wUR{11iUw@FJ*7IIyj60 z4u@lXu8Qf?go#25Gz+j8skCJ3dR##8$#qk}KjwvC4S&+TNc;#U-5t1C(WUvz@CLihvwFv&$)LOE`n06nptT5pG zAp{UXzi>_Fh1FDH7_NNI%b$}yePVJxXW&d1`CwP$y+$1n6?r`!vaCs{sBSvH2ne_{ zDTe;4jM_^>7oPRHOD}22AE^u31kV890H$x5YJi8W+7hMAG{g(1IGp2J&=2=U_{#c* z1IR}CCzUrKG4kboMdJPWFG}jKjNW6L*ZkmM?u9k7cerbP%=Te+086KU!E zFW%_yrBa4f^?YnQ9h_k+Xbb^TDRDfHgB3I0+`lzl>rw8>W_J7e`Fof&V?o;R;*ge> zBEBygMZUwH%%nim?}YN)jC)Tdd{t6~*tdkaOAUr`>jJJkne z#Z%vKMV(RI9JU5ACbQShgim7EDfGX6Cz|~X)7xhBs$>4m%^2}rwstGH-wVn_a0`si z;I(WzHQ`seAhwa%Sd!?-Vm)o0SjVdAs~9x)binz`sjExUuQKa(wJx#47Zw=?m17K1 zhUQ_SYJWo(6nnwsADk)kK|9+M)w5>eVm^fuv5V-nnm@Va;b}g_m1T#FJzwgkrt16z zGx?agWY-EtFQyez3Y^OcWuhD)qoFPJCaN6f{-|cR@sazVKLTMxryGfNpR-ZM#}yci z()D?>1PCt+epJU=IW%1HYsehk*2Da==5?MZp@!&|EEZL-T|hsY5L^0br#JbfrM;^7 zgOL5yB(DVXlR-g0f%1>?uZ0@MQZxeI#6+s0gsFhCV(Fyt{0CDL0^mijKBg0ozF$@C z@$Qz$Si-w;qSLma>674mQK59~>Wn?3Ho zG$mBy{Wa3ut@?AZ#x{-xY^lG)#AR$pJvLq%DVzVy4fNky;*JWq#i?g1;IbZt`-9WA z!TOUZKl)9Ip}PF&8M41O+ptg|n(B#?wLkI({D#*Kwncb&wjGVu)atwTvwk}LwD$dH z;A!)J8ejgefxH0|P%`$co^4Ft;={NMfGFq%S1|+h`&?Thplv0pJ)@1({0-7J)7|WFGNhf%!&h5{@KtQ11bR`uM2L zKh}uFfr+SZ2C}z62$nob=oO{-7*6JW)f%`@5*V4Gp&>*A2f{OCtO6QiXdwV)%o#;8 z19U4;&-#8I%5wJ~sbmhhy%&&6-~-?lcn4FU;4>nDaL|(=O1(o{*fAOGhzR*mRtxH7 znu0%kR6tVq=v5x@=N!SfhW0>5N2j#|WOI(kdO&1DI}}265#JWri9kI>HRO?cHFX%M z{O0gE=<5)x!ZOk?4J?&Udm~{=VKww3D5mO?YeDns*(x+{){^o-=LM5+hyac|6Ggd7 zA*2H1+}^!VaLHw`gG6Z;a#`=6!HLwY?Fa(}#b{OsKV8s9ysvKhb*!zIpx`a<_q_ z<+Yje{4q4kscG=nfcgd~1`tLr**!DdtR51%5rFa=+vG_qJU8UBII&?7h$x4l*FIXn z1u$Qg#m2@?pbr{H1#ZOyD_aG0dqBpi`*qNcwKg|jQVQT41~zQ|iD6T1WJPtg=@7Vd zB{KN?Q0{Vz*?KlX@7Xd-6$&f?2?8HjP!JZv zpYjk|`J=-_?^+xR0)jq>HII4(i=Ovk;|rj%>Yr^%SyQZcA>KnUb&Oz z%cZU$I{g$mux%KobA~?84!wxR%nzUM`mDf|OSWOHNEoLA*;VqFSy@aXPi>^!uW3=I z-NEK^T)c}WuHjnJ4s(JeIM6o|K;3xljCO%`M=|5sz19+;C|`z1LnO}{$PL)4gS=j$ z&wXGR{rYi#zsxf_0RkIsHCkE0FrmBeg;YsV$Y<-%PT#>OY-Itsj$#ra-7V0Z0g5oi z9`HD|P&kkqRv{|CuLsoLbSJdK z58Ji~h=2SG#!G3yj>KzFc_f|RSifDpgY(9q-kXy9YQKC~GX~3_sHesGi6(x!%Q5u9r&hrT4I+n9; zenMqsW#Co0je#6O)MC$<0=htvn~bzPEk?ORo^%QocD{#dP09q@sN9zFFqT7)&1l6gQaLk0qO>tPO;O>U}=m~j9E_BcX!FYGYiF!zwR;ZM$kTI6bxGdPD; z6<_qRZPT;*jT~JInwy_@(w7Ga$h8ccN={A=L$xoiZ>8ceYjI;E4CO|W;5!B-lKE_q zO}5cRv1#9@*8%`Mxd}BdkYPJ+JAM$s=~4XL+>zZY%{0EOnz>ExPaM;)Z(o(lAv${+ ziZY7%Mb42gopHVoid33+SkCN?MgSf2DHe|NH{A^Tf{FtDvspXJof;qcKst1eH}gPN z$hUEXR^1Ox*9lvtWegaKF`SdY{7CXr(N1#yZPrU)$~BfA-_DnUw4zt9^I^>5W+;J7 zBxmP!0#g`j>yqE*SQ)ma{XvY)%ezL(geh3T=~d7Gm#%^fmOm>KvhEqTRmn?P#V{z! zzWAY7GKZn^0qOrdJ+`$0bnYMq==l@@>2upRY>1g}C{1qJ(z|cCX9#0Z*E)@%))|fP zEU4#$Vg;elnVZ4ztQZ8%y&&vbnE;t-2dyg17?N~K9QUI?1zNR4{M;w%(!#o7E(Ao= z^9k=%m~bO??C()LZUeEmWjuq!W6kax_p*_Fr02G(+zY{2!ID_G$!n*`();Vi*ryDU!gR+n6 z!HNo4@s2w?-fBa_CAmlUA9A6izhY6(qyTFw898AT=a6hAaXcQ&mDj!~>>ti-_IGv# z@f*c+GntoG!vkRG5Ork~q{rVnJ8|OmtG++TE;<2nYZt_$rBrDQKKUg#)17w9%sM*m zQEtkmnvaKB8}9#UrZFhj9jkHr`iSGVRyqdMBi0~5k$l~SKVl)qRt-;TqffNJ;5U!m?bk?>C&+UyU%CX=*-wDzbuNJ~ z+0zQB!TZammXTC&3GdJK^?A64a{deBD`FpLEzGpRJNIZE^s;j^*zLW2{9j-8Ps=E* zGmD)at`z}u8@OX{K$hor%_4sv=viRUgsaflP6J081f8pI`q;{ugDwSc2H+B zq3gZsN0t3oU1k`)zi=g+J!WhH`GPaevVaGYq38gnufp()xVw|fw4%KHz(bB53=I%4D`FUf& z{9p>&KA4bYC#P0f*xDL`?BbC|lhQ$x@kOv#z~v5_bw(xgFkT4s+&0J*aa#604wtil zy5gUje9DM*lB0!9NgvOt2ro5+Ij^VVP6=D~ERP%pbdnVcA8 zY>mH){UalGERg=mja(6lg<(uO zmaQuL;&s-)xBxn$i@>GB7Y%wJitA+}D&!}@EOshIv!6tpE~)I<|}o8HH!(#cZ9x>auc&=Fl?Fj~1R>wa04 zAVn?#Oms*-z*Uz_v@h4F(S;(sGh#uwC5W{WxF*y|54TJqlU)iw{{J2qC|}hrdOGMe zl>$=NUkFRDi*Q^i#(`ri&=Hmh7Tf=jqqrB*T@4Hu0j|8BN`n#D^09hfzCXKLg{ZBh zydYpe-@u^ApjzN@JJCRcsvZ(56om>qSG9c*79}i9xPA<02>|A6Qf}HQ$tVjzHP_*? zX<(Sa78#NJiZv2kq7E>ST$!$~cN!E--9(z4Z>T_Y_xd0aCuH;WBA3of=T)#s?v%j= zqwps1Kjb!Cgx&bx7$AdC0BEX}oHlAZOH;OW=M&1nIwoKuO0eo~*FQ{zyPyXWpAL#I z;+>hhdIsF1xy5!qE|r-k1eRxH|GiOl^LX8(E4*jsb-AR{8g<=?mzaN2*hKx?OI7*T zh8GFn%suPfV0wo_ZI@)+_3*TAqpmUR(qF;$<`q!Kr+=OH>Ke2D?5wTjBwC@bzl$S* zIU?#F$J)S_i(-?tGsf$^{r=}QFWy*-ArG5+_sY8nZ<3+Ubbsm{_wO0?&2m4#FLUoc zmGX64CfQ4zxew-&;K}SvgCbesUH3s*bq(bQJ(ABQ&ZVlkHMJM{yqTUSxrwPi2wDp< zqt+VQxRq*0yzqgaka687n*g466m7sO`MdADi`8SJH(U*mnO3fG8Ff;2a5)aqu!rAB zJ;V5$aYLo=sIO_IbNiO#ZxlVf$G+8B;dp;30V>4PKuHDWATKonqE>)b<;i3H6%>1dks@h6C zErGDljc4(8zM?`xt5`D>NCJu--L6W)V*&MTZyorsEW>jdOftdvWMq{#%`9+VG(IF^ z-V-vi4+u{WP$?B6bz?L2pG*FsB!#sFy~gq`?C2pV#h}pWZ=VTYkuDRJ2srPH{h; zJ8t+l5D*zM-gf>nif{U2UNLKe_xH^~l2P@a1kJ$|b@%AQ;|RLwrI=pnt8$Z<^ZcWE zSkK(uk60ltf=fv4`j^dF-iPXJ=-7zPVj5VMZT@VdbYnku$h7e|-tWrj2p=x2-dX(l z>e;lAt4m0!WtWJn0X#AfNL1T-P`vkrAHA0H15iCy+wG@C4qVGn%Q zyfH5p6m(IK<-E@Kg1kkj$W`oxcN3TOt7H0S>8REO^{;3Jkgz4B*{7KhvxzvZmCR07 zhm+1`>rGEr7wx$(!yBPDTKfjkf7z%WN>quq>P?L*lQUxT&|{nZ-Kl*Nl{SN7r)>04 zedK;v^?5QvUX3t&8S1Zhzt!Jq=Bs5KgofBP`=kJ$A3RbDKz(RSDVlWw+_GVSSzyQ$ zR0OwyGeTGlG9_6D&9E8!I|VIhZoYn?9nD)z{ zw*7>W$#m@HdLqd~gPNV4h=*r3Q|`{g8+t#OD3*Uz@oRq%t##LG#(--C6qBZ;@OrO8 zZZR!?(r@eG3O&uFpZZPupUV5%d$rJ>c^si(lV`N=g%!1D)_f@AImEGmGz*z4SrlUj zdv)Uh+O%K0Ka9n6K5NmVZ~bpfox&$z>cn^dr%c@=ViJ;b zfaJ;$Lk#nwp`zZREv8&OyfE#w$b)(MCG;~v<(KquWhN9{2j#??2cM7g&AP`oI9tM| zmu9!BbO(=lGx?>HINnw1SL`o`PrVDLwl^q0Rr|9(w7W{;VEb97J4zKq`Uk;j&+p}^ z{aI9en>SpOb=TQrS4092JjWoPHq-O^lObPK+ZEyjVTE}r;-xqGss`eu6C(*Mi$8R< zV|T%3Z8R0_JMDT>Ze4U2`(&!bZ0N-`bx54>+X;Ce!)^M8iXBNr0QF-K8fzY-Gx*pv zJuiWrOp*tFq$2>=>~#sizack`buptGI}PV)Z-O8M;}6Iq-ndiUa><9mtCRsR^np=U z^IdN(*FIZUo$OIR{Z@aK`T&=*&bkk6iKHM#DNEwj%a?-LM*H6*R*?)DoH}^?E*dWr6n^Jo`G%8wi2%9h{M$G5 z(cPcpMG$%d_z5z0OW~YyU+H6@OY8Q*npaN-`UN_T|KtWSBK`;M2|(5V5T7s<_6KqE zhrW!MhBNqp%b(;$ANaq)x%ihgo0~y(H+jgV{+G7no{vR3tP)*ETE&cyAfHayodO2K zBpR+fcbjX%%;^TtB4j410mI_dktLD#xHv-RCE!hPD2oUQg#sKj9H0iY+1lBWLEo<2 zxmg;gzY3MV5e>r%WymATpvXad~lv0+p2C zipYUy4hc}_+J<>VfQVqKOek}RXizN1SA~v}%f>|7svX3u`PP8>AmZSWaa2G?vjiPn zxB%A=-mU5w1t%udo|I=HCeB~{FLCNuB-c;QStWtxeeOmh)I07g+r`z@w-iU=vZ3l? z6txpDz11<~{CUTbr|CZh*JKo|u}_ zeYoTWA|`13O~SG(Xzv4QYmnV75YFb)eoYGGm1OC<<%ur+{bCA>YHixO>p*5HR8l@T z1OSYTrKSxfBz`?d7mN0B;S(5|BHWlLF)2v6gq!$gq-s}}dYGfnhv~i;o=nsnG76Ca zs^lH$2H@TJ-s<=(2!84Ff5UhgG97>e*K(ZK$xBX936r}ru>Ks2<4yW8PfB@#oYs4; zhmG)*!LUL1%^+HF7xp=~X-g}E^}OLu>~}sntti$Kj5b8C#-WWB)A}|c7Tx*~jz2uF zfGSk>NdlZ+qF0wA;t?H?TS_s-8aW5MiQ7)V`L|;JVd@tkf`VKTk}XB2Q18Br#Yss) zvAxs{MAq`V@!CBtI5TQJH2c>_D^yDoZ|4r=K4|#0BI-Hs`e#CVrT&GX#$A~+OhXU3 zsJR;_-;qqCa-ewU*dzpg|Nh;-PNylfE5V{!6{q!*57geMVUcTyTBIDn%Y}=Voq$eQ zP19h-hiq)?VMN-(oxz(INe^R(>qJCOAkxWsAF?eJa|{a~&c$G7lGaW@2$C~0ZLY8g z)s*RHLAa~?-~r77tt|HQ6-&X}Kh# z`=aIWXPcWxIM+DEgD}Fg^~zPYOoTV4_u@r+g05nAQ+taT44(sy&%>NAy;5yt|m zrtT(MBAUUsTmPoD!LEdB9I>(A-oHq)x^$9yBj>-AHms%pQrfH~I={cc{OfxH{~8=@ zeUGc&z&)BTU%qT-utu8%CT*!T62LE8`)81i9Ds~UWm-T`kW;&G0#pU~oIhCS6$L8* z*@Cf1TJAqmvnF>+uhQOb-&a^^{n__6saS1kU{2Qt+PBMxf5t`3 zCd7C%?qppdKHMoR)JVwJaogCVBA==|Vou%owCuPaD1S8F4o>k0o@`Jew+H!TcA_CX zWyhK3Ow{8~=db)gnO8fA!8(#JJF30=D3Znzx|1?+Enq}|C0qaFqo9n8$Dlnmsl80< zto^71&Lk3Mm4-nX&p$W+#RUxRf*e^c$E78d3|BCprPbP^(r z;R;N_u5n4Yj-n7~n%1{4yO4eP9@v`j@NS^&R4C*wkd*bqTnxEn{yNzm2cW)y-~J8{ zGQVH`*-fo{(%=Ri>jSfn)>@q+_-Mu)GE&Qyf+s(p3xg!+6A(nqx3G74gH`wB;+8JK zu01Qb?Qz!ZV~e!$Km6mqc7J9oNX{BBF{VcM(tx<7k8_#h>z$F!CJrs zTdfS0TxitIjn^SNLaFW1^%V8rbP**d4Es{dZ>*hv)0km>8z$`JAjeZh~aMC z6%`hIuiO6>>3W6bKqecmhEbw~+hEjOpYcU2mie5W!XXzT1Kubagko5+7efFl&RfB0 zj%uXA-HO~M-gaki3B6tu zW@$P#&pjcvZxZP~COl8y0N(3eT-?sj z@jb{&+t}E^tl~uOFkp}kw;hyG>?>0uPN`e^4QE}6X%DzrU{tlv8aU!YW77PQOEq;1 zZi#qqVR!<9xzl!SRBOYF>;`*mMmX$}<$TQa^z*RZK#aEE1=o(fMX0fX_Qpn9ShnB` zX#;(;(_~R(B>t7yj%z4N@B-H^A}{daI)?#HCqN;B7hnou@ZIUBeQZ2=TII!eM!dS_ z2SI%duO8i#qSNT$)^n7r;$?u>jgl^ZmPdAP;g+`Lo38~!)o`ggN!9Im4|omW;zpOJ zDx{i@F$Z`*Zlp&%%kaS^g9}{()dDLB@;8JMICs;HHZI~Z&;hEIwro+o{lmh{pdg96 zi|&hB-Jm;*vi$ve2W6;U@FzSc#52!~f-79f3HYpO``~^(X6|{e`~%+1cva`C3sxtI zn1-d&VCuWrOYK`0Sh0sIGr<(LlKGfckr^nBN6BZytr0lvsd?vYNS(AhYH=VPP6r*^ zoS1b&Q0zayjnq=8#iVI@$!TL7U$;NW_2H9qCBRe@v9GL+$EBC+Oo3=qcp-r}5X~7S zN+gmc(Lsr|TT5Mb^KkGGlW6spbo-u<7Q#Zo;mRaCf!?$mL2a8Zj9*|$pxTH0{Lw?* z(ey(VdGRk6D%frxOSluLxMLTp*D@C_XfKxd0`fADdQ@ z0=_$%y2S*l?r);U0dlk2O;3?NarN-{GRL+tHc9#*ABW*SAcGd zdc!jJ>`JlJ(g0V1dU9D~vF+U8Dv3-K8Z<*eG-t=lQ>eOmf7pz6ke_F--7eC!Sn9{I zc|lJH4)WJLEGD;<9^n6Gw#<&Y7~RRy`E_iLJmm;?+MQiki1^uPHW{QeU7-rBo9Zv zMg%e&!sEhB4s;`N%9k}x!T06w_KdNr*^U-X5Ue98F*xkdlK|S&%ZR9C5<|Di<(5U7 z5EZITYi%;Ii1`C-S{_mu+0wGiF{6eoHx_BEL=zTi&1$b5n+u;{8J<8a#?FWS_H5d) zEP5*!@|6j?gaxD2qAv<~s*TNu9*lE7-@m-FetSI{=6*=r4R}sfGCD+xxPDkLGBWOK zSK(n8Qd3MN>z2jv+Iea0@#)76f2P7s2opLTTlV;~wb&U`Hr`c#&>M*J`>+RN_ww5r zMkPP;PWhtSbYo@YCEt_`V_nU^@fS?GtxR&I6)}>H)AT0E@?dy)xtJ}*++H;DHjk1y zThR5qx-Y1xlqwiUozJi^?Nq6^y6NzIkBU;$YS_uf!e2(`R(N06W*9Q zm8H>+)k`x5-saboC-D3QXPLN$j>O5yb9{ach`+}?OqH7vkFC7Vu8JsF*2eY4(ChMqm0{*Xt%TF1Z+w=US`Q~v+KBV{m!xD~{zzni zpWMU{lVXx`uCh@1ooZITmGiPd+4K0l0Izpu$6`HpD{s6Xv!}I`e&*Epev@_iux8XO z)AM1vm;l9^Z2h0_ykWPnBYzR5yncH30dx91yPANh+p9a~s=GL;I-~rF-uWd8FNi*W zsS&PsXfB&DSUO&fGBmX>zAeL%zNM|-`pD*$j1NiM*TzEk&C}tt_chBFEA`hGwSr|1 z!-r{w=})>96!*z@Ymd3_?p!vV!Sa?D#|j=v?6)Q=JH~R(9Skc=;5XbUIdh)Xy!Laf zNR&UuC+H1Ck}!X93TZI%ewFwk;nRGe1=r(UzE}z~(!Sz{ny>CZS-LqfX>3`IYS!yV zc5$G7LG8kb4pf*oe{ksOEFTV-s|7`MDb(f%kB|&5J05wWTW{4Wsgj4TPR-sccXW+2 z9R5z*(n#txg?${1eL(4DKWDC<`D2q9oqf`?wy!5RUM4r=-+vl4p^JLk9+s~v3I{Z) zn+fH5&Bd^5%bWWs(={o>tX*UtVZeFNq`o{sG348ptL+1%v zCQT~zkmW3jJ9J7+ymuBDU*9s$Nj&Q>Z(jZ_+54$=+M_?={-vlfvXRa9!%9cN_Z53Q z3h@OBy}_?vy%tt~ zGUeJFD4l5xXPCZQbxXCrYNcWk3$+qP}nw)O3P?)#i`?sxC+)_-fSz4oqERcp>Q#vC;#+X-)# z^g4GCO4?f_qA5$)x#is`*}D1JQ%wif=LN7l&`bya5!56R(_&?)J*w{`0*zL9_aivX zZBm8GV!nIY$uc~x3xH-IdN9Hmfy&0Q_eJ2)>h-rqz9uBXrPA>zF&G}sW`o)4b?N7Z zSMf-4r^C7x_^ZOAnxFbAsf30Hw;3qqg5_*Oh03P4o6evi>$sRW2*=C-rrFVb?I2|iG~;Y+!TGMNx74r{pqGYGu3Hl3!wm* zd!~}bA;80Jl2mVe+e#5G!8T00!(OZG@NY)85YRe1+vh$DUyFtKT&vA>C%8RYJ3U=E zP1<~X0U&xVGx9woG(#Q9MFK7^_ zPPqH299s+3>BS(<_5%?(kM3O=Tp41Rw!@w*KLFN}d?WptV`u2@XiD855jCq_Y*NN%;11x? z?WS&$CNhMbs_$AoY!)j(HM7E1P}ZlGbZ=BvI~VIp6Zx9omh&Wx=G$wrl6YJ2$ZO0s zN?z*GW{AZT2*Q+~igS!eEa_X4hDkmBr#n$qM;$X7a*D;?Z6_XF+;xuy5oHV3i%6Gg z${7!bQ&>Thz+YT(J22&@>TMu19{XN(`&*|6xcFl`*@v%Gi4T=0`>HhzOW~~+H`#`g zh(M7D0?Pr|ciwF9&#<}LKoe&;rPjANckOMvqZ#_t0h9vKUw>rGZN`dzGQ)qD7AO6v z)CiaVBe1EV+IS1tIH&yu=PKwt*kU(U$FnI8T;~dA2c6ZDW zbAcwF_n}hM0)u_(QProaraF|o7nZ<7r(}qT!itcXX_;YK>elKfEu#D? z>+Sf&%pvMN&+>*kR=CJ}i z{Dx%8Yd^~V>74qiM{Qc4{IP;SvT;0ZDb2YXA`w?RP!#*Y&eU+v z5k+@+h%&zkJAxO01m@rT_6<>h9fy=}IzkQ`J84z6m4|URXPOU`f1rlkJ)g=Xs}Ihjo&~-6&s-ri}6LS#lbA&0@>0N0gu{ z)t$M%bd|F?ny(7N*AK;3DlELoT3_AQ%7z}o5FOKGZD#UrN~7ckL52t@8C^W&Q!13i zYkiZ=x!U2(>6>jq3*^t2DW0ngcp%~7M`*o?yFkgRbPK(Ag_avkD#c}KYj<7{NO(L{ z3!D*ttS)EN>CRiw)}or@y2<{ftaNwG^lG#*aclgc#oHdU&HLsq!2<>LEQ$KCe}bmW z+vc%vYjVepT##};_Y0u*CAdaPsRS)*GXRq$oG_7v*#!01BSQN9sBEVxihCFxtST(5 z>%r0w0W>f?U(*BZhXXsr)!6${BSbfc=MAW1#~1$nQ7$i2PJ4AMDx{~QabTr2y36$& zapfv64p*eAXp(eBifTUNyK_`I`?boNZekr8`V0rx(?#0&=y6Gbqck*Y{&=N>YWT21 zoSk(O_@$D#m;T?)ZNHzXW1mZnt;!X?ytG409yKx=mIKa!PqKd5FAZ;9xVx;6h)`n; zxaE=`S5U+ofgz8pIHQn1fc}8UzcCm%JGKl4x$iaKf<6<%u4^M3Q&*Oj3)w#2OnRvi z_N!AT@ty-cGHV7Z{P^|R1Ww&_Tz&9!`t*P)Iz{#7e8&TupAR$DIwkEOR6a1`ytcw~ zsJhe|eNg#37(#5vTLSmHEyA*3ZGyM z$RjV~?wCR$Z3>wWDP{E0Nrm@I&Kbw7Y4hmA+UI|T7TaoM%>QdUz1VV(pJDa?d_Gt! zaF6QzlqcIl6nTS1+HB-nfG6GPjDxgB1X|BsgP-DN)PjDWBc>lmqmGwFv6c0%bH2Az zbkl4tL@$;M_LY9wN#rR&SqTYNV9(0HgjmxnWRc!ycI>R3!gtggaHMd(HQ^U=5T&eW z(>%w`)gs0O!h_~nwHz;T0e-x7x%$-l`jLp3idkW6%H|?{0{=;jxQUjT782t*=|=vK zE!~*k&PhKBVKE>HOD;Jfu%0)f@u5)m?*;aCKPo8 z)Blb(tWLH}vzO4R2`F9W_FLp@pYDF$8Gi8hTNyf^@f4utUh1Z8jdTfp_ z8K&$ZwmszjJdI;OwBl5piIZ-QS8|cwNg=Gc`i3dTxKzvP$eUK$I|HUn5RL&*Fr(evdabgl45sja~H!uCE+ARu-!SQ}7Lf4_0d4XE`IZd?{DU=n-9 zy+wTr_1D5do0x%r_z>F>I1K)7?(Tbap4mDlILP z#V?JmhoxW$=F&d6I_ufsDrwsvD(@@5p`>Lc5G&fw~}!SblQY~M0ImYI-R(PsHEf_{p1H8#q&H!7YVAwP^=(&|p< zk&;`v7{O(&u<1aso3IB@nzGOXVj>Hbf9Y7s&Z_8n{_Rr8d`l@Ko=)m*=aoA4u@vp< zEGVgpYCC$34eq7E9I4f%BW*hN3XSwwUZjCeYHd_UMV{;&QADo)6F86*B+s+qtIEqJ zj@~o-l(mEdfgQGQcZ1w?YJ!70`3W>D-G`-h;Id}jKg4O!2 zW=jKk*0S;AST))iXQidalE(XwgUj=ai}NUi&DOsg0~haM(ZJ$mU%y5M;#lT*87p>V zUSytRplr5!5fJzyT5Gi+BeMi)X2+iJpoV$eyRmA$caq?6@minC6-GDh0y6+?aIxZ~ z6@F?QK6}V;yllC>gz}I%wJe$K4>hB(N*3wsce$zTl`U4D4=9DTHo5{+JZ12UZNj=M zS+QGwoW^d3_VI?PyrTCI8W+Pj*`r3CZ7lZYn~6ekVU_J2uHU;D$ILcsPvVphw0@j8 z7YB>GminApoi5^e9ZbD9-UThR<`K4Sb~Mk1V=C6m^KdmA@4xiYVRKFtB{P}9pmKPZ zsEdSW%{J0uwv=RCt<;*luYcQiejGX$e?EyHv@7^5ezqoQjKZ6*&J`w0DnVc^;c{=_ zQAnof+~yauq}Ot8%Yz@-rLv^Iu7GIREy6hiLG0{`?mEOxqQwA=tC$)p7e#COIpNkK z7psqWti`0!rQ5HNl>POxKiU+@-ooPUCJ9wL-9T}LX>}YLY6RX+5Q6Fy{83|K)`V1ibA0Z_mEg03IYlWelB0;i}q7*lWM=YBTHI zc;3qp`xnX$=tti3#N1_M({>s?KSw`r{XeO8JKsk?FFTdVcAF{9856XuOkwWyf21Yh z1q|{caRepe?uk@#r2as2IoMeL!_7POUFb))x|4r>Kyk>Hds+#Oe8Y}M?9`6|54m6v zkmxU4AmBeapO+^;cpGaj%@(3ty?a)bR--Q1+NZhgE-a?KBQ{%dHXjx~=yGdE7rkF5 zKeMFwJ28Ym?hmdo_;JP8j-R|cAMtLZGv!bh0aPp zmF@?MK$m*Txci{;c;Gp2GRTXhh$+Y~(LX z4%oBWtlao;7%u5_`8=oFsnmKq|9n(yr=UPYr=#QvZFj!ExWh6QVaDJg$0|1~-LUHw z70}G9J_cNPItf!-u#1_*r7<+Oid938SlWxmO1h)hb5HY%$wDfYNUhl*%UGHH^Y0|iLReusoYSpoAs7~+A8@(z% zS8ksTp{*yPpeY+$VPntLH#EDiR*uGIVn5|fh7y5*6dfAZ*4BOn0a@)jiO87ut_d{o zE${aHn1DXKOJTTt-b=6h65>#KKIgOHSpG@un-^&L%`U0e)2rg9Muq8a8$&ND-i2$+ z@7$4Q)_CpRIO0!#`&h-<&zVhW+VAjphzhMP-tYXK`y-9$Q(e(V0mAxo0n4y z@F;nzTsS!3dN@c#+Wk~A4{-HV|7E~;+2I0PiP5lcmfg6tdKQad(E2*uA8=SuXv|EP zSwBocBpqZBR=0g`lLX~+4vDP;vgCyO7!WglX_E%wvK^W1lt{K}soDs}q~U(>UD;vb zBS@5PVlDG1>*?X=cnA>C@ir1U5@hjyl;%I@I#0}Z&K8}&Pa*Ky#C|QSY;VY*XknIl z<}*doiK@lojK(=4+YMoQG?Iy1H+lgZc_EmQKOY=bcC<-SO~_)2ucd0i`1%1`v4WiD~5e$zCmnG@c)$k4Whnv`Dsno z(#h@%;xlG-^wa52R`@MqrQ_$|XCODA>l_y(6S)c!9pvA(^yBB3|9RvC4)^aVkTd8m zP)MJ;YhaoM!q!aSwm4i+V39%D^-v$4f4);y__wqFwxu8c$F={S0(to24Ky89ttssf zrMZEM0*GG{7GV*CykuSOl)c4Pp^c}DvrCACOM(h=h7bs=ItuiI#ns-iYl64Q=x`@B z2kyeW=8dYxDr%sd$|whQ*w>JkWYyj5ME1u=InGnWS{CN=(rG2FvZB+#%H0b?AX5>H z@l4mL;DLD-C>|O7C7hnW#R8jvfi5!5PBM^0 z5iN++*xAM)#fe>evDIpNV^uz-G|ZbY;+t6BtB2GxdaFWJf7<6ZsrQQ2`_i>I(!X4Q zT92D;l|LLS3keI{vTJ;4T2`Be9;cUWtZ*zOm&$7}6$5V(tqa031h*BUNZUv4ZAlw7 zm<7&)dO{LeeaU^+=*l>itu)X0`Vi;LTuZL+0@1Sjq3uY44=!*BW5ND*m9FPezq8ox zPQnbv%pC<-xF>v?Hg2H?Pdw$v*sb1i((v5f3q|6q7V zlwdwxy*aP@3ClBb9k6yH$ky_gzulm!)qX^HLNY%c?Br8^I7llrTm85S4r;?2aIfTX z!Gv<{iC_Fdx@nsI^}NNJIfN8EyS-y+DIrcnSIMmte#^*M-_~I1$6AIwNmluZl7YQD z$c*nEC=oXr%AzOrbKlpJ-fCm1^F{wyz z7U$@iP9v2TdoykBdphs8U2AEBQM@rN_t&FqZFtSstMk}g5^L|L{YS)(wl^nHUESfz zpo_{c@I;Tn8(f}q@#dUvFUr8&q!R=bJ$&e|^Rlzkjf1$v7|DBny}L+p<1N0e{+OW_ zO6k{by|TWrZr~y@>ux6Xu-Jwk7eP0%y&RANP8-!XN}G_nxU^fQ(G^3i=ynK6@oexA zte8-{09F`ygy+WZq~DvmWaJfxkyJx^2S>2hO7pio;Dh1Cu}$G^$~Mp06Upd4ILqy{ zjCM{UJ)SqFmu58W=ZCb>a3vK|lF)85wKPVto^N_azHi2k#>Fgm-ibTX(LI)9zIvsl zADveP_kBH6agEds)Q^%pjHpzwxPcf@D~;SYG(Np_)RE4c{zY zlaH)~ngDYnU4zK>G&eb_M6U)QAZdygX3Vj8epD>i_s!$xLMD+R9to@7sl!!OGsM4| zE-LDmK^6@oo&VbG+8Z;c<@KcEA!_PDBbeDcNF&y82RJK_=YOv56{m1;E1X$u;m9JQ zQ+g9HhAcoc5}v?bks*Li>!kc%h#wZ?SvHGznyq|7aEo6*LvECla39~$Hm`5G znHARe)|vLbru#?o4NYNldT7@RXX#EOEXVIzNqtcZ{y+R86RkyKBsbU_gAz&$@@pmf zjO=QI{AnzT(|tA5D-mFnAEtfX|N) zL_Wi|_(nwadxD0}KRWvvPe*BK+J;%|id*M6XH8dC_?268&>h}-IxaVY8>cTziGWVe zSAWs6tugCjKZ)zs%3wDKYwfYkdBgVOOo`=+c&)Bm(Ib^%FZ;+O2zy5@>qx zEUid)8<&_`>mE`ZJmIVmw+{6cu zzL2>)A$cpycQ$P+!fH(I9*Edm2D9woIU&v^-5y2YQdN*b2_{*0E*()hIyO_t2XoUT zx1ZasFUWe*D1pfa!{jP{lS{r~r(C(z3p8G}G}1`Fao3<8Co+SWIssO9av26k6-6Mx&^vOMH1LhZo{o~gia^!&A z*CC3kJzMqM*>Kpix%2CSMqWfXt@DPm(g~V+tF|Irn;zN(O{>;(U48q;S>#4TWTHef z@$Bc)pOP@JXFz@UfJwD>)e8UOOR)Q-QrM4NoP&NnyN`m<6Ql{38K-H{P+wb$Kzb${ z$9ly=orjXUKk2|c>GR*N9XT%6BKRsZ+PUPkX=#lJRR#J}HWFAE?Pnh=9v1=#!NnPe zLMtxX8^3+-3%2_6h*s2F=$aL^k1;ge(hr|6$~=f#7EimERJXCWPJ6*O%tSg1Ws+XOVz^b~ z>=$^+JV#wrd zNmvS0nHR77d@7A#yhyrKv6^%@p=|Dxz@r7|MRm2h1B4oLk zz+;Ry&z(pVRSjV?S;EdELvS+-i{jd7@?HB3>&#>!BTry)Nop(t zw6n*7^^vijTB$UQu%}l|=a_lL>*i6C*9Z){MF;INsu>0?Wp$uH{#28;v^h%d)rTTG z`m5Cadg04A*Ba61YJ2B{#ZQH=@Xq&xeaz_=Nt~$6TfE+0d+HXp69Z;~MrGYdxABPS z$H(TX9+){AFn%pJI3#?SUgDugL_-eI9Im!{GHwzOOx2+H=UvDqAR>5RgtX*Z0Y(Nx zQT8l!I^-qe(NOi6XMu3XrdMru>bg!hY0ZaP9_2bDFTsWvn@QClpjB0o@HeUo3B=SaNcUFVXNdtAi>|&c8n-z_NSz9miv+TyHQa}+{I8}l z)D0B@KWs+>smz^FwGv|DUE+89@(z5ib+xI3Q7GzEjYa|(ySE_i;h025QY}p66&=aC z?U%{4_?lQQot2jaN=%5AO;l;qsTuY3sGEu~mm!=mQ$8RETO$i>1I$cCX@l|&>R|X` zEby_1>D9)mW}zI|QxcABmpEl4Dp8(A;*&C2@beNFj|p{22`|G)Abe!+Q>8^k0)vP+ z%9>bvgox=pje;g?kmJbNNS=GS2VvY8Gs}^^`=-7MFj3WV)eCxk4B%cQsx=Z0vwW5p z{^_o*QE~`QBd^uXgq~qY`#qz@CoI#jv+rjPU8^Xz-C!*VLy_9f_`61iEH708<~+iQ zNiAY<%2r35w<$l#7IfQ5V55G36oLo<>^ID zWuXKPbLGCrT~dRkQBHKz92oyB9>ZcW@T`xD;3$I=3XVruihw`qec;o^hAfgB5j z<+Vs(_DJ96AQMlFiMY(}lDUtR3VpP^eKafcKHcrIEsn)ze(IiOZN5$h^ASwy2B9@H z@FXx_BqouNqIZ}>i>LH|Gb+~0MKE0O8VnrZe&5Z4>Y23{*UIT`dMp1HG34*YUpT=L zjf>Lf1SSS%`V)6MANxv?!$cN)Fd8G#n|cfzi-44CN~FDIaU{BVGP*jyd%~(ZxX$l{ zSTjUKE&(?R>{XmjGmFQ@DUV^8B3(?VlsJ!ES}Re~Vw6Y;Iqpn;&&4YBfMLdf7`(?O zWPhmW&-`&i+0$Ntf(5%uBGM0j?8#gLRHF0P=(ebBSHEqNP4>(()+Dp)SL~z->>F%O zGgb^qquOhq>G;-b6))Iw^_aa>?@)@e7Jj#Y?Af8$Wr^@Dsh2TC557CHLg^?n^v-@Bt~y&k4anIf7@1c-}I8 zScp2Ov!TO7_8Mct85u>cu6mN0_ThI|fj#qlEfV+!dV-nz`Z>FMGv)kYhX>YE{bTFu z;aa)u*|YgFFn(h*K#suz@h`1}Iqaf~7v#Yr_hn?Fop=o&$7|$so4TFw6ugczJrnaVwe?~boirW=BaH| zqeI6V2dS^}4=Ew#n^1*XmY&up^v!CntJ7>eQl15Cknd+1LM4k`-0)@=jn!PT{Q-woI1C|gB>iOj0Q){LYLs(srsBBrmV5N z%}Wne6hgECzHn9WdELEd>rAk8)J(0thkaPCOVt*n%JVO#HWjSpqkHAJM0~`%t~^!7 zhRZx;Np7i%J_tO66MS3Mu;95mNHT?|J0Mv@6~EQ^)q9z?;UTMTv%&i8BrWW{F?blO zdH4Gy{|IWFEEBSjX^}&pZo%T1WA_oVzvn?(=oD3Rm;7Xrpwt7}bsLYA(LzBn{FmIH zyDnU5J%l3cqMrL?_Fg-}8g3}bZ~MkqH+K@mG&I64=|?hNpCM2wH2V^ZSKVz><2*HyS=kgjTC4Og7vNz1%g(no zQDe&?5e&p9-j}5dBwDDBuI)}O^B}wN^WX-Fwa34Dv(0ghA@4#*#quD`_0`L5E6t_fnuuBRltWEtm|;{IPUS5VTw?)T za`jTk@aR~gGBnJXih$y&(4n>9@;85jl%YLr)-eN?5!mIU1Z*QPEj8k>&>6>;+?A6B z?xd7#q(j2np&z@@s{$uFs;cZgkVh#b{WlWHs)bV~U7lXaG-hW-<>yU0fVOhY4dO_9 zSynZOI=9^4$%XB{DG9lX$@Dx)g5;R<`f9xVvt^0Iw&n3Uytw(`azx#C$2F<|0u(HS z5~BOBSP1llNIw`yLjXOXsYy9=*QAtqxO)#39C?rl2~^Uqo@KlZ3oS{p{WcT^69C+( zto)6)`TVM`83zMEg03~b9}fKw2JP=`sA=>AtKRPYFuC#qktIreX$ONMX{Wzp>Y$sy z;W|Y?sYG5kudH2{hl$oA#jPf=E>y@MFP=KC97&K5^{phJYd@FA(T4GKq_u9$A6!F# zeJ~`gHon~PWlZZORwmy&H3xygq3tIFH(t1kCUC{?LC>VY6o;^mTCfa@YaP60Udt$i zFm_Cw%#v+BSr1|j0CxuGjgAnGJtVFO+|1Yh(A4Cm9nX&rv7_#-y3uj~8Z_vTzdZT$ zMIq+K`$^Jer?%S5yy|PQ-x!Cs_2XVgEnb$3?0(TH9))^$J>te^{%&jST1Y=ISouZf+gj5R#L9EUiys z73)f{xO=I%@tKqP8**F>*HMbE*zODmg@njPU|?bM5r2HXKd2z?*KBm%F~w$r@{yAT z%o`ZEc7L4DyA9{LQrG1miQewE_v>G1c;0Q@e939r$yuKC92jxGZr3{e=>{fI4~+4+ zJ?`S}2yfOm`vRZwI#SZ#M5&}vo}Rnk)$KwXCUKuc$j=sQOO*w82Huu%`N0OKB;Kwv zi$j{e8TNF8L=6?G*=|?e=WB(Xl-I zG*aJ(?(SPf4u1)oUnu2)yS)8+E zX2*t>y=KQ&9>wj(Itm^-ofBu&Ynt`AC)bRJkpT&8i}nf1NbC}?hdsf*y-(D3py@oLEY9!+@GK;IjR>HAxCrO_hNLpL2Z|>}YHv>|xayvI9^+)}o;# z--ryM^p`r}RPr`|uHI-&k{VDp!YfL7D$~FJ*yx$FxmTA9c&?@c0g-`a2iicbI=aO7 zkCBdRU!=;)*F~b#ti$$=E8F(+pY^%fp4B)0Q85>hpqEge+`ebE9}TscJDXY#f~4Si=Rfc=FIhZI0#t8L^yRGZ_|h8!H;M#>Sp! z$M{yE-AsHD*9~X(@AQ5h2pys zwbris*gokT@R%Ih>$3Jb_pEbC`SjO*-K|7m4Ub$n5M{hVeD&63xi;Y-xqL;ae0ywG z_If-XENpP%yklMN?dfUveW?X66;|N-gI6DVPOR%MX)p-vxhBe?a!ViW6BZJl%%qY zWWz2SJR4qC#7=5rxio6)iGmtZVfr(@6%gsf`nUw7fkG^cho}aF><^xQITIinjoFza z9*A0-O%vg!%|iz3;4NpPu|^=id~xqxyTrI%cgn&_o<&DUp&kd9dfg?vvTApv3pM+% zn317u5}cGIg#vK}Aq2eaS=sn~y&{|Vhx&kT?mf|Z#KHb?d29ugFtFlh1(NDwh=t;~ zKTiFzv+DPwUop(k#RO+~EQGrkUe-34(`a&NEp!7U(W!dE+JdK;H|uGdQ`qdwH`4&B zOD6?H>Wm^R`8)iXDOL|-H{4U&bBuFMx{DV*95H3kipD-`skd^$4uW+Gvff#M;KmNC~1@A_lZ2 zzrs>v5RklyNh4$V)f5mA9}=&(Yhi=M+qYX$7w#F5`9+y&l7&bwg$DzxX^lViFWma4 zIAvq&mI48VIV~uzBWIv4iA(+E>hS54wqxB(6<$sR-iU0F6Pq%2N^a3b9B#*akW{lX zG+*U2XBt;XKG`it4I6)nfPiG0>A=&2fIxSZ)6f9IOHEzILpyNzbv!jKc|9$I&x^6~ z_`d8Rlp?W)fr037`A|%OfDnIatn=8j zD5|vn>F!Qx?`+i^!^~?{YGoMO0!1Z?j(>@p8P5YU`F*Oz7bT$hns%|g6}It0OZ(pR z;5uK@L442gifP-{?QW((i%yokJwfFrOrwR!qRH}2yL&* zcnAw_BP~-nI$U5dg9fJ_HMtZHq>B~Q97x_l`p{r%m4+rt-n z2+V&EK>pwHBp_P&uW!180V4zd9{KQeZxR3xj!7|1IMY4zSiS*3>VXls+LFDY?Q{!& z!Qbv;KYeJrA{F=1;eyk;o_vgc^}HP+PIW4bS*@ zxu~bPS=*|j9`0|%{Qf=4Di;RAHHn~dk88>`IsX7YScTpLPEUl|?Syef`S* zkjZ)aE>$|mRZ->#=+HQ~FD^pc$E&&@GVk-Q(>sdpL>-D-QXzo_iXxo z-i)}zs{vyXdtPC!hiWPBq19t@j&%K@2@bgpAlF__9wFtb{x>#&RdXAez}Dnhc7jr9 z_fpNV96SLhK{pne&QZrL{<^dhSV|~8$P@!Gxo14BU21_Fnqk}})z-0?rOpYTT$iCe z#ZMF{wZ2~jMjke{DJNBopJTX1fAJcPEUI}ClO2jAkReMZMSllFLpLj-BHO#=vTOPHSD7QeIo{HA5 z{`xnF5uG=jKAXuxXyN`Dy_BP1gmT3k--kMWh)qjjjR|8@nrFh^mVOzt05bTpE|-$e zwp=P2m$j{$Z z;EQ?VsxrQ}rF9fXz4o0dzD3d=Ts?`lKU4?P9$Hmx_y@bw zKq(C~4*s}OEiaHZmtO0gfLl`;CS<`-Fd#6LQ9JJ^FC6DTY3i!KzE)2^o+3>O|Jt(CoN7FHSULi4;9ltYoLs0f|W3gR|xRJZ>d5(r=WH38@0 zwv0I&*Tuk0bSh`ysd*TTw7QQP`cuDzIHI{Jb*ht}VK!SdU#_Uwie+D<$ZQy*g52@< z!*nT*5rx#m3#JrT&q2pNY@*_C!8c9G_nh0>$@J!x`u#KN@*~6HUDj0!CfX|b#=&4u zLKc_$Rlm|2Gay2^`$Gv!!a`AR1#tgXz>SiB?p)nd>&VJPEA{-&EC7X(vwvcuSy7@# z`KKUR3^kuL?WehEKZrT^ah>|T#}FI0M;KL$gMRU!Fu5Uqhv@?~@pz%J_wn+2p0o*?C55=ao$TUOmr1Q{2aElS{(8 z5>HFtu0C^c6A((fSDNf!N_0D(m(H*=YiiP?V8CkqRtny5L1oCmritlFNHXtbom@-n znpiyihYvvI>D*1FkPQq;Rw07aU2>Fv9nC8SSb0kzdQReYZ>`FIaf$#N?)e)%5z8n)G;s`VTV+ z;+sgXE(s*1VB^01_|pvyrjF_hq*Dn;ZN&Kt0YQSQBDuX9w>w)bkR^+!dC{T)+Rr>C zv;95gO$Y#42~>#wyf8sp$^w80?^!OOW~qfRkabi-l;Vs3v3$K9gJQHu+=*CB6Rkmj zW7&&XLWv>TlBvN97WO4)>HtznKETrh<2OV^asiGH zf69X6Mdw-)&VK0}+YtAPq}0|?@u!BTn8fx={AR8T`+6QlqN^bV)~L}mBcIY51D^a# zu9P-BHz&Ecp)BLX6zCXyh<$-N7;a0GT548#<+MG}RS~(-!1hLt86gZjtf%Z!EitQ% zprkcU*CiC)<)OEBack_Rx(g`COl_E~JUj(55^6%dvxq7h#7R@0z<6%brZM*U z`%YZH>6@7%PT2n-FDV|C#fblJyknkK4o3~Z-9-b@R4;A;Cv7=x2v;x@1*!Rgm8!n# z{apZaCGcCsRkh@<%)a^VB=G`CNlCJF3;17e-T(#k>RZJEFhudHRis&2)p6|S@ODD# z)w1hjY^Gx*L%Fu&*|p-OlFC1!cO%EMR=qI37!_sbJR>N%#G1Jd>JiIiVpv(ilEn2{ z$;5v*B|n(>!!&=dRj9=MOF{TM)h21SneBL%LDx7MZ~LXe8*dgLIt&8az0@R8u$hn$ z7xjt8@wydawc@^e?^&Dy5u0jp@*h#)bQq)l6(YR9y?-ovRpTuSg%FN}vpo5Q2VMo` z7O0&HoeC-UqYLtW2iVA4m=!36w&{G0iXpZCh{Fs#_krsP-^4-3G}M!#x0baAd*Yzg=n}}D_&q#f%i-J15Ee- zR18&3mkY_Egf(MveglrOj=K+#pt@rAOCyJ!a0wn90Q0+JG=E38@y$OTx?yCZJ%bml z0zY`7sBNlV3SijySUoH0{TYOsNsx@t2m0?z^1D zCpN0V+(+@gyQz`aCEdyg)D(rR%~W}U%h47Pa>>9bmPA6X9R@Gw3`DN1M8Ycdt*-1# z_NeXYJFjgN&y#6n*IWqxo-ekrns3eC?i2av5h`U%{TlNCX{7XBr{``>?58JGXbNOl zPk6tOgqB2W>=&j5nfa2Jc!GVs5(`x>9s1Cs>LT(%Mz~QS-FpV$%?bh+)Un`=PnaVS zcsmgBYmExMJ_)u}&<50eBRow)6iXp7cMC=B)%Y@hgiU8zNw*F5H@=mH-xGW9M9twW zB%U1lwWG0kg~5<&f()8RcZ^Iih;xRd_n^m6)ZZd+ecz_)ff3f1Uh9#bh7f7x5HVV* zmXbprRZd(5>%2F=eIA$&Cer=aB%A_f(nOwaVGlJOp1+{5AX2tKH%RcnjzgGm{n<|j zc{;!ed1)$a)5=S8PM9Zh_B^3=9W!cDy169{>phKCP{&DE^8X-6fMl45z<+ZSlz8~e z`;U>*YXbQXwFl3#V5J-I@MIGO zawb-ZY+id>U6w(=QPn<%V)Nbq4KdtBZQ7o%`WCf79%Pm3oQ{fh@aVoNby#@Hl97{`0qVq$cy;4MMYuvLUNjH@|CN>0w6SdW~_VdO3 z#uT!o$w@_0O-ACOu8mnTAY(U>W)8Wxr%wC$2UqyEuNe~gGiNo2HbNnAZl4Vy@+5Vl z)h*2sg&-x6rG1@dG&lq1ZmQMTty8nZV{c8B1CMz32uOD%7BBx%DNZ(>F65_}@%1a= z=oF9q(0Us}MMN@#KH(3$ylbvdvi8zWxl8$W-Kdn_%G8;@C3w3G{Z}?AA^{&eJ8yd* z)V#@b(0b0xMqkK)&8V6RmHu!Kd=dG(bn$s{{`a%l@cTy zzIp}SISvPr)3Q0`mK4wex{}(`qcz=M)+1AYFZY{U*DtPxc5=>nyw~=FXCsFew-{RH zc9W~s!(adxv(Mnu^4S?R7)aM_@V67{@~1WSC)LN6ZRA6HY0E!{={RF7 zwMP1VTF=qk%Vyg^F)vXT;N>9Pj$N2KATFH0gW4N0a+3Yd1wlbXV07>KWqhGuFvd(+ zj)CvKARtSyf5WRTBO#TT`=(J*Obg2rTc2Pce{g*yC}EzbZx=G+{cWo?n0U zgk71S3;!Fa1M;VTf9s$2|ATm-K&bR@>&gTHiW&ZCIy}JSyZSq@z+$ehUx1P|)4wu@ zf18dp2oT`?+p5U^ckSXE4sfKH0L)VkOH~q1K#VB!2G6CGkYvA-yED@MJ1+~{f7?bL zKQu3in3Bp7qan3Ni5ey(&SG@OBeLyGKO?(6XB)U_u(oXPzTl0xu_vg5#dZ z{FDM%3ZZs~^V?J92XpJ4mX4?7AVN~z3kNYE^AFEiPYcirzy2fpL;>Sc%G6&1nRhnI znC4(d%5ChR2M2XxYAvey3rm-=BDo(E0hSd|I`E;PZX+zsWL$C+i}w}kb&n4U2PdrU zCQdgiY(wIOFmU2{CeWw--3W|JbIg5b7s6~)EubJF;J_DPoyTkrn}Zzy*6)fBIHGV) z$Ib;HIq2H#{?#RIQoH4}}|Fby~=hNoTilPs2RaWy02Fpm5P8@t>O_KsTjiJhXB}{_E61 zMDZnDd30|weuauS93tU*I^J?gc3;BWopyGQPYmpsC6SpNH*5j5#$8sB1wX-oYr6{~ zD78c^at|GDIXLPsavhf9-sQ&~tZuXTE5a*TsO}OHZ_JV3SSaZ?-=khipk~+Z-JZ9v zP37h;#wG$a#Np(H$2QCw+{_S$_uACz6);4Kxigj=9mfmAP$g; z)fL48mG+PKYUqx(Z^~;kHBpS9%)=K)e|?)u@jVV)j$sOpzi|uy4_vpFyoZs$nB{Oq zux9kF{gN*t?nqWcKJO+|MUFxv4#C}C-JK^eAIkc?)MDt15z9!9r=R4NDI-hCTx>Ca z4Ur<*(WN4>ToYct;n=Rh%v`57pS{P%xOBiPW{H}ku%3n{KfNbM3&5sj=f-7NE`wgz z7JS;K+H_8->_`c=ydu#u$er4X=38Esbvq*fJ#lYFJ_UxU3L$_`Ti2`*^Il2Ck>OC> zLt=|YJgf^(k{Q@oS78!L5bfw!d0b(@t7h4iMeBHYn7mh1SiWn3iX-%YAzQSJJaqJ= zny*aY%I;;=WUv2AVJ6n=AT5uEbKRP1(x=ma zTs{fzuRIS4#r}U4ys0#^w@U@W!Q{&bmNq(sOWEYyG45QNouJ`$3Z}!mTgSzZb6=cT zn*9NS-H4raqKgmwgwFU;F!$B-R0g#(w6cb&`j736+WDP6lVH_^ZLpbIWD zuFrm%h|fX6X{D-r134wga$RAVP-JI>-{lS5mzLJfnfnJD$c2j1Mv9o^`uDD$RHEzU z#DRss8$Fqgim3>{B@ojBFiW_q0mZZa{HT;_i7?;MCEOG;VkIdl#Y)RWS(Ip?haq^Z zBAFMRRER!wAAfpsL~W?#pPV?B7{w~wH$2Lo)QG4^>`PJa%TezOxclc+19Y<^uC7kg zHZR@txA7ac7u9Np{9N07zXHCCO6Z9B^AHPJ(k1C>f`DAz{WWTNS)bSMS(WdBn$cSC zNn?JoYzV+tYpm3+7mfc&rQViQ0{@3r%7eu}(!^%T9t}uB#`XJR0%Wr%W@fHNP|`Q& z4+PG@+0=G;Spce%mx*=F+}SxU1^-B^C{OA@S#grcIWUFJv8I!TZ%m&s!IOS7H2y$}Z{u^K>@5{*= z#^=`#hkc!~kuD_+1n`K3-W@YD>ryhNDbliPi}r{thxcBXgFZy`^8@|^>CH~ntC5S9 z8~p&qQ~q+OBQ)YT&~T*iB}yaw&;a0Pd3K|rwp|OJ`P2uqa;QXda_5gh9Oh%IA*C%> zGi15qB@HiWVi!{(Zccxq0bMCheqS?vejwPhP6Snbc%Q2R zh(c3jNYNG8h$M8tw?%@c%_h`vvybxdF&k?3mEs>>IQ(i*=%RG%0+uNaZQXN=7chto zJ*h45d6WnLQTMc3n*DzJ{}_AApt#mVQFwA zM318EROEGFSFs`c!Y_*)ZO8XcR3HlJF?M?|C<@Zq9Ap z#@ATi#=2Z=YLjyG&h#lBq^V*?iq=8I&KTD`ssfOCc|&x0eyB_z9}uESn9-j7#k7;k z5eB0-QPr`^x}ql_kg9`vC?nTEL9R$XG@3-ukiKxyn_El)qKY`Hx1ZG0^xN(-CF*-w!ZYtXB z5HvAPmy24)Gg-s%8K_#3sl@|&#HV^&r}sekUn?SAW}dfJ{ltWNa7HP|@6Z!9u`57n z9JbjWz#q=YGK?P4XU2p_ldN|}T%)I9+}y@};Cz#orlyS8R<{z1*&CrwUXwhbK+e{K zp=lf8SM>s4fUt?tn%KU#LB&Kc*`PeJVV0p3mx(-gRd@`1;>pX6 z0lv`QoTN_OkNKy*u}DZ)(UDee(J;@=kZxL|zVT7P-tLvpSpkwN5fr!&=yC7yVAeVv zZVsagJEgY@+aK6-EJ4M)&WaP6_q9OuNv9}mq$e52eB>vfuf}g78ZD%7@E*5%gKFGKS8Yi5rM&bq*&t~`KL>}4o$X4FKO{e&-w9{< z4{I#5 zvXV#)m%v)v=#{_JYr3nQQRwc6Wh+!w_`F2;d2Ib$N>It&H*=Inmd^n3c%x_uytMWr z;@!y+L4u)@6jrpyK7U3q{e&U%3oo)E6|?R!d(~SX?JkT$)o8ACs7`CxxAi@7Q{Jm2 zeIFSXSIW!1@R|q2OkbqflE)OO<$&wR9I6<#IQAGg5@H2PLvI6vl^2-l@xkp3I)?Y< zjL2{#2Enr_35A_8^3720@;fSIsty=p2*SabqSUBKVdjqB>kl4TF53d$_&W5m%-`@- zNa!WQFGi(aG1r?}0tY-B>anWu`?t{mE&I38V3m%wPimyt%_m&KCX)pP>)&U1*JWJv_k0X|_> za=nL~P21;doUybDezXJT5qyw>>;!%78z^9+6+yUX=pIFq_$5sdK`=}5{SNpp;t0=^oSG^K zto5h?pyaIlr0JxxXlQT>@LJ#9Bo8%ON_KyR16I-43)JJFTNa?N=4iNn!{JF`tqP14y~J?Uk&9``73v=M#Q*$0Z!Il@Lgtg5d6;)&Tf zgoiF5-9K9JokA`^Yv;hq!fq)kj&_KX?NCtbwg;UFN8POmcK%VeWntrS5&AN?Kj_1Rqe8_tB+&xGw$t%5bffn{zCSwK#-Wd zcZFmhvl2p8n8#$fy?Q8>Ba|FV184!Hkiv7ITDpVT&kz+WIxSp4_u(x{Y#pY&oP=Ps zcy*oz0fsTPg|;aVI+a>Z8?NWA?9gg^#9I8?^M|wO6X;#NMj(g&_SkG_Nq)AACCo#B z_(Fz+>pY#kGBlK#+TjTx7eGF)p65CF(IDy;XxP{$hH5^X>Bl zm@383M&`{vvGvOckPv14VDlRU#C!ID-x`CYY%R7-wVUH)VRbwt(kVj%U}z$2Q*8g+ z=+4x=x?G~g-RC&EZhuPo0eW(3VsmWDak}jW8mO8eehCER_+@fBaa(`Y2us}b9acyN zdG`iN-I}?QtGc%9Zmu;(6%JFs?R;`?HC1j~=J6?(^k%NudYj#-+oe+6{X9*!x~n9t z$tlH!K4b@Y#i(>opdJ0}u^s*13;E5D45#5!k7S$W{F1D>*9hqrPvx5f;<8oQ6KaO; zH+P#~MCmxs*xH=x5@X3k(>KibQ9j7lUn3PS-{v_X-V2EW>9fzm{Hfi?V)Jst-|+w)l=ih_M0;*-Ml%O9 zZ~{H>9h1W>wJPwWZ{w#V<8*gY(l zcqJA}-*p7r@Gu~{Jek-FiYTJv*mln+H+B_m-CV<-AmX`+Pu5$6U;N^FdPKSfBfn!C zAK}u}+&B~vh(KapvZNq~Xxz%K9H0D?8O7@Ak1=D9PqOEId(DHOh5qsEXIzss zev}Bt=*T+|Z+q}?$lZ(ZmWHd;T;M5Dbhm^(rO(^GTe^<_wzY+gSw-%!0msGldwN}Y zk9l0$`y^^BW!oh#jRQxQ5_f~`{TS%943$CrtV*mw1h>T_?$mVDLAh+*_B$w*uph# zCuqf9+1W{UOSigbJoFz#Q|YeXfB%pdo@6U2Ed8)^T-{p_N3()^yM0`WQW{yApwUZk zyy3T2v}Gu4_%KRKOiIi41>=J{^2(=DwG*YQ?+6uAMX3_ zVXPij>xxARV&ZY92t7T`t22LEl_|4(XVyHSJ`%Fn=y$W8=cycB$jymInmL3ut(XZh z%e$r;Zs)c))OOWzTp!4I+B_qa|MMea?8g%(EX|<{5i>8nJIjKC{;{vp-HHZe8gJmL zaQeBihMfhg$S<~2I6uV$Wrg$PqY#J-W&qCvud1=*F-w%4(_3zD`$7{>oD?|bVJ#gT z;ZJL1R3eX(#wN@ZHG?X34lKUuGGw(c=K9mn>ek2-IrT5#uE&iTQ@9r`V&Yq%exT)$ z)LjNicDiVdVxrkpv5;W^7$pf0=>VU2LJ3LCIkchgL?E>DsH*;Wp(w9kW=x>J`o!D8 zMfBCsxW&bO2NHokJ~5q8wOBqBRc!x^7ql*IkkSmJc&2GDD>JdgRsfnX^t>7jG75w& zUdJ;qVv@$lJk#l0%QtStA-33$=SV?e{9zM1)-8^$<3yf{9h{@H1c?_-57+jYry;!+T z5-0GiS5`QhOSYSlAA4THL`yBA(sXxU!BI$?f7RU7a|z#C-IT790LD9e%)^?irLTWz zY0lN&>m+7-gLSEmZ+dcdPMXmK54A2tgbWP)n6&G{52wlZ2Mk)JCU+gr;YiO1HEtXx zN|iVcqcXE~OJ&EEK|!-9Rlbqq!wkHJBQ;|a{o4Zz4>k{D-G+*5f}uX;ug%l%oJpcw zs$8^nBX@CSP2>3T_dX)VL(G6>w4sMCQ@RcxBBR~JZY~!u2^8k)y1tFL4;ob#Y~)9iYE6X zQ8Yw+{wAjBorV6S($JzzQ|cW|^WKwM7bpg1dTx=R(H1)C*`WAatyn%1nV3wAVq*C} zTEJzo^s!eD*u;U9{ny0dhOd?EPbHK3`fZMNX&b`|`dz=DYFq~4$H*;#ryUOEHmNA2 zCpPqo%V4_(GazK3XSVAMYpnmsk$y(mTbGtEV`O5YZ1GN(t3ViynF0@uqjNhfjfmis zF?^jMG9aIL^`t7N;VNb1GdkA3O3I8x>)ZW3B+Td6dlEmU#`B5ofTdZKO*DrgBj{90~Z*co`gY}l& zPQKm27Zv_2RY$lIx4QU@Fo(-+;>@KO#8Ohab!T_Av8bcQ%PD8>soCy9PP{IS4s&mX zV+agxk9A2dDcr#Ia5)*dM+(1b=>vcVt;Ak8IU`aPTCOMtklbAFOgh4dp^AVZ*S!`L?IqQs;$QJ=WezNiE*)$f_In-rSf@9_}Q&h`Lz7Jj~c_dTKU$AC=x$p(&)aK5RI_ z%#=2zHJj7Tx9y~n@(y6C` zg)VLOy+1sQ$J9SkKM$Nj+8gfVX}UU__vkm9!9*XEGClV6$Xcx>^rSStoKoBcy+Hp^ zu03)S>MfR`qksRYz7wsK?nXv2#vwNI^ycJsOPPXT4jgi9as!%`_uNu{PDl`qhz5CF z4<32ZyGW##6=>B_U4|gugVA}L?Kt~n;vjOsC<|2aKv`cl$Llb9C@S!61HSHiLZ0XC z$$Mv4OA|RXA6W-mzQ4fTXoD5(vAKpovlfYq?XfY;0tn^Z1N3$jr*`sbo5s0kR z9=yJth@8dZS>)hA1N3+J-;Ovjbl;8AyzIR}OCv?o#7O9hp4bFYJAPgpP2^AG2RwpV zz2?j~bV;^Hp$0YW5G1Z;(W$TrY75+3HK#V_M<*tiIa}m((`7q4R`yQ ziwQ#02M>$&`_C;&{oD?#+O{KY-A>+=6X!=__ZeUBMBM;xU~5`yq4tQFBVTmT z?&jP8^K`a)R09*|{NCmGUhAP|eC%hx%C+rE-pn|1wMIbZZThQFE}c1VO&SN}#`JYD zgp*Aq^lK8-zox1Fv8cMT3ufV2GQt!f&t#YgSWC5y`L)3^$ulmszmf(~A1H@B?PKUD zvB=PmiV%WL;y0qLmHDPh3QHW-I3qq{(2I%MNo|;+b?nvOM>q38oWH6d-Ze_RjwJYB zz`+-E8B6}(*W$kKyl9^6w#NDzbV&|5Oi=z}(0Vo?0R2q-=Tpm;!)6^d=X}_z^?^xI zn`=borZ4yz^~0UA(*=tNB2iwxJ-#%%N?T9eZU85A{?5m!CkwOCqx>`f)_YBl}P&JD@tX+;71|#7CN)u{)42S1-`V(Y2gB!qTq9I z@0RAiHq)vmKxws7b!hBp`9#IB!Pl>K@JPgeg)KA*nUPlC2yb<1a}!#iwOr5uO|$3y zWyoIBNBODpA*sa_b?1VNwutvo(qhqHvr37!nwD!H7M1GJ%(j?3d*3T!EvL%M)4wP_ zjgaI|5@8$0{;@IY1wyUT%fSmGW0+iqp-1_O8J1*P^5N>e9fWfYST;F~@g^{HC-v}O ziAs|Ggc&S}wzl8eTmf%vZ`va}u_Jvfk4|k#RIP5zUeQUVTbV9+oy7Aa`gTd-hKCR! zAMNO(C&)_ibK;e1UNJnOrH&F5+{QRhca`WDHcpy|BKk716ME$w^O{cf=~y25b8<9|@FQJkW&=R`1{(yD0n-rjFsR+~j#I1%uk z+EMDSH>YJ?t?bg`(j2_R<4kJ0THtf!^=7}2NxsruZ263HNrFp_%5!{o_sLUjTkn*u zv?b=q$Lg{uHZh(N+ASR23Y1RN#)J2?wE<1bP=F|o!mOyY_tCK!xh}9`ImF4?oC;5bwzBO3 z8VDHzE7o#;%;FfY@b+mw`BcZNyb!?n2|GrBnBjg8VWQE@Ho5smKFhADs=37%hSkC_ z1l&EgD%Wr3nmLPnB=p4a)r0T=8#@-%Pt#o|Keo&-&if)Hz=VP1T)FHU@4XeK)>kLe=gy1(nGNjkfoEe!bSw73i zC9+2kYO?<0<+^ePd$}f1<+%Ny>U`vtw~A*uofOlPvH9WnqSuy&x*o};YifMY@vUl5 zN#|7^>o1F#^f@>8`w$C5q3OY7*2}Lkji;gF7xb^@tf-`QWIm|^&TRjpr3QPemG^_+ zjIfJpvtr*Gh-H&?B9HoW9}FrnkO)1CL@mZ`(iJ&CQ!{feS!7mZx-2RbW}Y)+`!T;h z7#Ub9y900V9F<}9zmkB@89hC$Th%S5c|bKE&2XC@#Jio03Y03f-r!z0d1|b|U=*J* zEf&IisNL80ViZEGwO-k}%|DPeHkg~RQQ$B;(e9`@ucq&=~+|&C_mT>bt&6!WP%e%OqWCV6gcUQZ;dsFL!<@$mf zIl1|QAjW#=$Sj{HPdCsXlphXDOiqn&1m{+51UbI-gi3 zt1Uo2(X@|ZyTA(BgyR4w{!E{BW^v3oSh4nKCpd6NGz7Okk0sJsU4;DJ)?L*~b(TyB z!`)H6S?A|P$dzT|Fx&uG#gE&3l6Pk#*~`%#u-PR^NP24@5c`y@P{PAfr|aM43;czIZGv(LfJ`UNd=%H6US%J2&B`hL_e zlXEmw0`RU>6TUA$TJY)Rj4oIQVNLz(zKGSa9i`$G)l<=a@AO-sPG7Zp9s zDKEfOD?)9jVAXKfJP#7u>}u!LFiUQ%)fgf>SqET@9jR=&y^qM^?a*MqUyfV`>IA+` z{?)Zn`N@;Fw8}Jof31`4=fe<(uqTx>Gb(_sO*`1S#XpFq-0?Jv-dVk6Y6Y@nVhdgE zK-=JFSIrx^>bNwlfHds-5et{&EO9ohyEx$`yR}z>cm*dwkY8boV%>wz#GL2Q)f%Y< zG)En~JquWmy51Q4=-C*x>Rs0;7HykB;m_cC(Tlqz|E}cbYU{JGm&QLH!&;Z*n$N(; zK!pHfTq4l(v!kGIbxHnH#R$;nSdhEBrYGBG9Om`OX)s7SXo_|L6Nk2`*$p_~(FLH!GB)0r+qjci(~*-^~R|4>HXK5rNaH=IuLVI~?~ z?bU$H+4h%!8Oz$uHOO7ui;yw>{d@;fBbpbL@b@Pp(ziYtJj2b-ao63=dk-FW#yn?z z?bN#-EXJTqkG&}c+`+fg=A|13Gy@(R*hkzw+&4#N&k|rxkO}^?4`EFRWYl3M0HI-k z`xQD<4#>aRI$W56e%eddWNxF`q@4JyngKJKtxdV76VM(BN3N|_8X`JLEnNcqY%y%|8_lsU7CNk$F#>ke*lS% z|Bqh7BVos>VExFN4MliyV*d}oE_N9ZfOR_PX9_*KfUd(v%DDs=b&}}o0(-V+9V@x- zk!NTe@q)3nqe14KnU1(YInI4S^%H%r%%*n2Gc}WNvCu%9>N$9a%q1AVyAp9s97X+a z2(M_(&AU&?__$8sB5>pjLe)8uE`VW&Q+O!aWOA=yQ$obkafk)oc z;gGL|qT2}_JJO6~9aUW)O;AODm_J72>I>|QBCr?KNO1K2KMsO_A#=+_KC1wTak8Tv2fp@(DVmX_7yikj-q4r`d>G4+z?aFig#h~J#*C(Q>oCr-6J?j8@EPMYQt1yI*vEo1 zY{GpUQ-jcNf2S0(1wN(}nvFV}mlT6@1A8fPgSnF8r_j1{jd0i*=$h#`Y&X9j`wr@v zqFR;fZLpPVVUck<8F}1Wo{T^Rix#Us#43w0S>uPVDQngg=K|hLh}w4I5ppZDiB%?B zl%msbR~U+lx!8~Sht$NRr63NjDx#n^F}^rljwT}gJf|T3C?aoIka{H%$Bjs|Cz~wq zm(;xuIBv)7{Y(lZd0t3-h4EZllw%BTQ4uX|D#h0`tE$br6qFbksv4*nr(e2JoWp{R z4{xEa6>LEBdwaV@YOoK5Ao;IUD9N2kwl??v9c;uuCt!ZcRp(b5zrzwn%|y@)X_cO5 z9_!A{5vjithm6PNp2SFgLIHF?Vf{HjNiz%A`=hjq)K`r9@JT1fdC<$!lA7QjSjQR_ zSKf-GjR)Q&kZYM;MW&<>Dx}HChenu~EF8r^ruhSuJsjI7@xEmLNypqBOHnldN#%-j zXSF2m7pWm6pIedaIz)=$GnkY3-VhnH%O{Bf+&SL70etfd&|3$Ej?VA;w)Y%=;eAPC z13A*qDV0i7HMFf7H5i0~?>5mS*-zHr}ZXT#KiZTi)$O3n*B! z!n)}8SLeZ@Eg+@%WO|1l{P*WI{SIovXVuDU&?7WOh=G@lN!Oj-b|PfiL9_Cae%~Nb zPwUu5)#r3VFF!3noo#Ts>XjqgYRCib3_}f#Z2xsq#A|3Rue5@}h3RJ#u>`UxzB8tL zb8g<~H&LMkSo?5?`Ua6UmLE74{O_V%T5Q#g)g{{tt+igr+V zpVj-DRNU`Oz#J_DcPohr;w=sSb6o`(8wdTC#F%>_gwIm^NVx=dqtOi2tcl_MCNHRp zgk?t(wDdI@RK-+8h%m6u=LN$wuk~$id1dAEE2|irY@xTDs;}PMw1vi98q0xVwilw9 z<4NU_hwaPLWq(KR#agd|aHN;*^l}mHmKJs+*mkEDF{C zzOXR{;-aQp%P>$NP!|X%UktCMYJEr;zmQMTZddQ@uRag^_3h-?Yt0 zbs|KB>Zf77F1ea21zBH!V{IT<@MGiua;lCpK$S#AY#T59<4XPJArUJZH$*~9ATpG~ zj2#5Z5F<2Tc->eEJ}?%FJcLEir)_AS_!*|#b@FOUd#A`ua$(ecYCsxhGh=9a= zAxs~lXg7I`CPB*8+pSoInA7YLmTunJZwcb;>YiUThSYi{suH^U32!v(1EA$HR#s%> z#q|u6%ERBt_u@6SNfC}MEjv$*FowxcQ;YgRflxr$7%6yhSuw0C`rp1OYr{wGevI4w zsH%X)`T*rnTJaG>Y1+i{tx;g1h;dXus#jQasEE9K==c;1iCZ362DaA6R-K zCo?y!HFr>m89Zz6LN9~7_=SfVZ)A4;U=-;Gt7E;^#mb?pSiQ{%%>|Gz6VbW*K@yqs zG3)RrSd>3RbxHXb0%ga>a($CDUr%i7%IR5S2W6Ijf+8d7#kZBUG4d54sNx~n2r6HV zgHdv&u!~=^YK8qJ(3W}{)^9Hu2I`7cKNMvm7ft6|6dI!z?C8uT<3K>{fYHi5=Kqjs zb&d#qj*j{j>rsy*L)qjcK9ChA<}^HEANwUR{y(~a@V!t(FJ9a9H^TAP??*U|?v!y^tY<$`LM0>+L_RA;4Nv&i7S&e5q(-# zbpzI=1aRbxpN42kxHX>;Gh--Oa9V%;KZr~DYjx2cyf0VLum!KKst`EjiGeB5y-qRX zH(ec}aaAShV?c}6z#w7o0a5;_aM_%l%5)Ie=@~xRW5{P04=CB!j>g#9wmH*~s@NG* z*Jxq<$_PAy%PK@D8R$}&2<537yD1UluCv&>EHCOA=tbZ^_faWF4-Zd^rkp=x%PN_! zvk3QPHcb}WCxCOEKF@s);bjUIJQsZF{zj$6F$eSA0TITHdxgSXj}}vM=0=&|6<3KA z9X14&G-KibtZu?%`I*ZPB`63+0yY-99Q6pH82Cs&t3>`itpO!5b969#uc{BxOz86( z8pIy?&1rfrISG9*cO2#9JhK{lBa zs&3c%GL|>(uM^ht_H{{$WHl88XiHzd{gpx%hr*!yJ8>)r*_mWufQRO#zg~V%j$OeN zeIFl1`X7UAalZGsNnFg)>%8!btDOZ6a7&bE>rI+@X|pv zKMEhi`ZKO!Fb0RI83&Crf|Xf3OJMZ7@mKYs)#ybq?_@QyB^cKW*!PtkSYZ*hNPDQ3 zi4uoYs>@Zr6SxoJo{HX=RvVvf$``1OKYPK+U-_bjkwqCO&7M@}h_q|VU>68aTYDkA zM4U1`QxT#EGUh6!-IZ9Q)*)$uX-{RJvcO>3D!YS%&<74(BaArCzd`N z)-scdbqyN_6XwNee{ptFH2^}`DVd{^Pj%MV;{i(?II!ku$(KwVni%02-_btXPxbVx z^Fl{efPnF5p7*Ls`)vqE4GnMl_yUR_Q~^y&r6SkpsO<%{jztxG{JCQM(DeS~^;>6ra^$_T&>bHuNHX1R(SM zLQr-6gy>PWK*%7?ALMyn0=cZRG5%@o5UuRcslA4@SXNdvrRlroD2VY`W$&Ji6k}xk zOADoPr0b%NE3TzwlX$e`wxj*ENL1CETtB#uM>rifv zD))1gg=V3j%)GT6OGMTu4DV%2(OtIZEvukPwqqOg7ty4Yt}st!6OhU);$T&QuqRH{ zXN_O6WR;o}zl~Fi35C$vbDC`{ycb&yyR@~l7#Yo7cx541jvRzaHm4tgoYd-ui1_uX zPyS+>UoW{R$vb-vUwyXtxDKFJpfIzuLy!G18*?MN0koj-WA$YetK+KJ3+{s!gM!c- z2a_mc?c8qJL#L)!&(rz*?G@tIpP=pvJ#&pbfi-OVqXkG5T!`7C^7w)Bjgw#P6JR@J zRBS(iD1*8+cXUJn=!Xluvip0QsfdTgJ!uA`>>V4%r6h(F>??qM zT(Cv4JY5Zyo*Yb!H86Q}y{_RTl0I*dsh5&{;n3nxaWU7;JJFxyT$0wPr{(ERi)OeZ&*eg)4n9Hx`-PaYe;Un!sp8-^Q{x8kU*fYANN!NA_vOD(73SGhW}oI~{`xG}(q2#&L_Yl4 zsiZXc%#vmc990Ixw)kP~RqWpB-jDHwqCqA%CuSUnUbm~dL6;006TqiJF0V4KD;B1= zWjR<{?(>!$R8Ho7B#&j*+DKs@OGDi%DQr;iWl#V_aatw9e%&k3jP={59PwrI7LFLM_+)HE3^9^@ zIB2dj>!>nX{zan9GX?B`Tdbk6$<2m)i#>K9A_M9EKJUF(^x5SVnE<90-8{ko#ZqHW zZ}}0Fzq9{#R6h zZBTM1ye`XJ-J%@l0d8YiR0c8ih(WnlQ)c)x4j6qfMx_U|g&3^(b)12hc;|YYa z@GtcZc`p#ia&m-vjBoOad6ST_Gp2!1xnMci4L!;86FskYR(7``(VYM@jaTxV9&HKm z0Q0#Gzeqd3WYtR@e0m3%FX!L@YYre!fQZ;P9I73nqqMDqE{gBMmdCYCu}r$%OewhVq~fqb*A#N!iY9ic7{m-zcY+J|@yqriqI&%^=s_@H;=dXqr5-Wj=tQG`)^74Y5q z%GCO9#CFlNba6m9Iood|Vgoe=z}0}ah(FXj4St`mu~dxF>;F(R@C9W<>&tsfqx$Xl zLX^~u+21FX7`lJs*-NYYl!{(AqNnld_1~C&!^$XK?Rf@Ur4NS7rniv2Y+R0EB+|2F zYXfz=>_(iX%!#3y!(3lgpSAp`EDWRrKY=PzM7}LejMK97+zccZEi8YCJab6J6*7-k zBZCZm>%+LY+GpqN^d4S>aa=`}J#7N4yHoXI+r}%xMsgL6iWGk$mlia6glJPAAzGfn zQQjoudUjRRDIh0C&;+dB%$3xWp&q&l{lqf@t2d#;`iina@^68V9Pma3zWTITGQc@Q zrz}C2zhdAAF^6%uwRc-UC?|7d!3g99=N~#!n0_+Y{0)HTP(e0e`kPeL4dQ1AJ&%Ji zcpB^nX@PLUK|Q2C(sPLo+Yb})>f$%2NgoVwnucQs&~X!4`NjjZ^rY2S6H-5Tjk3+V zbS|nPZiHqsS$?f&^Bt3H7+Lq~gRz=Vd$ozthrOdxcMgxCA$RTI#`Nzdih`5=Nh@k{ zm9_r}$`+UXwMP)(Sf=Fy0UxBNHK)%=gF_N}=+)i2%>H1GpB@0r(UdQ7j?&IbHkAe? zywia!NcY%*EO!c@0QGHTUf}p?`k&aKIFFS^Fqo+Np!A!Z)SQV^`4p{!*5C$>dp<&- zVon^N3bKexi~?q#D@oc($^SmF@KV8(kkVXbQrEo#MdqE}5>R0#wmNNxLd8#N7%sbP zM;SST%tu|n8>*P+eqru~s)@{wgZW@(mmNx92$vCL%SRTbm%J^%T>m0m_i4*2BBAQl z^B&kn6OCf>-^VUO5qxJbg6nk{#bR%)+Hr)Aq5D}dQ%-S;*Xi5;ueFG?75T5LTifah zxLK%Xoa0644_-8E9T+G{<>34~b;b-)JXSX4+ndNWW)0SozhN@N9VqL#cxc`k08kI! z%Elfm_Rw^+unYp!mB{S&&`y$&qw^(Aht=Wnh^)eiVQ%++v05$oe|5&A5(vKhsmiHH zd%zX}gL8UtzKdY@>G2ilt3;c4u)Zup;$r;|Q{=ZB%KkbtWW_X($$r`gj~=*C z?H9}n9J%J5S40`4Ay?UbUNpQ+?A_vXyW(|TV}@Oq5mwHZDB_cI;wb zBv`PA#^#PT-1x!d;C4%VIBzClX2AChZ7+VkcXEV*q-%PXtvJ7%tik#~94nENWyH{b ziGKY-aa0m|zB0PFGn%N-jhA8cj3U%TGq|LfOvkkDxM5$u6LMgl5Fq`G$7cs*)13?7R7ZQ%$>N=M!yVi|Z5|{8g(G zRzMNI@(J9mL^{^$n2Drqpk^0H|Fp<8cC&wcLAW*4_Yn_WnCDivj0&CB?)hmt1IP*s z<434!K0)lu(xHssZC5+G6!Qa{(<2u4;d>T$DNTEN&5GYa4lKAPjHI%DfV8R^?gUSYwP`}xPX%tR!i0>7Me z!4nIW2@_*h$Xzpb$GYr^VSH)YowGw^mFjPM)mqrp#Tc$-XNp)?$IWZqo@aR_Xxr= zy*u`Qd6ynV=O%-faz7EbM^vS*rjOleFm^Z%BR-Q~j!h1F|3CP=@^EFJ|r{nW0k;6>_Oif?eH@9iIT;2WEU~> zsFOx@-U^%Xmc<+QAm^`zakrsy!QMM3shW0L=mmml1~qaMk8{XeA9i8;XOfm?MuekT zx<4#>Sp8fJAAYOdgT$MVddfYH%-EbQT=V{891||q#h{EsMTvmP!PXLii4pA#(4Crt z6YzS1S5j81@l&m*w?E4rm4du*V1|ozT36R!V@>XG8h}V3eo-z}GEYMy<({x`URK3FbR{2oK5Y#j$4Lsm&0E&2FuApzRedv+Zt z{`($$wGs!Hfb_v?QK>^gu?-|MZ*0n86_pAT)|#UzNnpYkkfj-ILAU-ZLXrsMO;2#m zam7hrv`RJcpW=n;cRWcEXza40h#ZBS-9uP)Cn(VHcmQOli@F#2Yf7V~f zrLQ)26f<^!0WB;s;+xt5z0*75Cs^&L)9W>=f2|Ly^j$yh!{r>(%<=QesYPzrTP6M}ZnwsD{vhxF zHh`@-Hyq?3C*Dco)U^(7XM;lnBZM*~5)!+QPXZ^9zS(Eb6thE@ERMcoZx0;p4`?ka z(3&TUe{UxEm>k*U#ykAUt)pXbg34B}%$AUp1LK&raIT~4e56Hef`RYHj!j}&vrL`c_)t4cyO2ZzgG}RI52Vm7D z^I!uj+k#Wvk(l4b3H*;-l&YjL?xsIlfQSHw*D%0MiuM`eIGr&weK(Ar5jy&b;N%(6 z7mp|_xA4k!`Br1%HLVa^>VgzDY8^ATrd?9~>2}v-8S$u2^qjdYr8Ss}Q486X&`@wF zLX2wOcN|2cK8I0M`=R<^eK2Ecqg&NcEG9r<{(o+&35NVlpxB$8k_(b{osl{v;rli*xNuVvG&4fx$&;UrKN|JypZ_g^Abmv z@;hi~%7bshOY^rBH{S{%tq!!i{XRjvK<7yv-XTGCM3WwC#%ET2^~qRjxoam-=0pHqkb=RVV@!GQYVWG}|I+Fn;RIy@b_1zQ;#$*t6!1dy? zPdfI7Y=WhldTxCv0Sf>vUxKA**Zb}Z&z5skM_$)6EqWNSMb=aJo#dCp<(!#gdSn#_ zRY1Ed`k0a?Q#dlQo90b!m&O{bN^4bd0!0>8s-&hs#51#9tFaNU#)fM|3v-;kqJE`j z9FVsA7oDWyR@XDWTVZ5_cM9<-PH;29wCknozmh_jk8`Pnva@Fo;OrC??t{SGfI$cW zcd9>$grMOG;1TZmc+xoQ7T~@tB<=>mFRM7#NNhnPo&V!wQbl0|@4Mhm#>@bvT5C#y zX!q~}^#3yev`(?U;qBQ!2`lCQbOTSu0Kb)K^qiG!f0Xs(@U3p4%f5*ckVs7N-gegE zCA6X)zvy7yoR$%V9215TBO0-S@IOhOY2HL1!AYLY_YIOv1r6KOLHuueBobCA$95nn zi&Vk69^QiF`Rr_h7CpC1I7cEvhM99uuKA>98n>j-4a;w$3co~6!ID_h~a89 z>Mm}LYWP3z{Clt4xs5=2EZlp+8}DfzM3N11CCHFqza+iNjqJkj_rV8GS^}a$O;Rc1 z$b!lC&+MKWP--TcOC!xsBpKktsPw=t0yl zz)A?|c)!^sDl=p^#UqDXY+sW4ez#o{Ql>CO?Zul+P_9?H{ui=Zh6s)gb?b&z<$K-ujx>2 zSalL%Ta|BJvmErYKi?_XWxSJqxZLtSJe?o)n$s3=d;@$@yupZqCNiOxIp`$#>xGo- zdFU9Lu1WYrW_D`yXpu&O0w@%TxVhuZ#I+KAOwIf3Y#&6_`e(hlP2ooO-}_{L17KYQG6>Q!bFUOb#mxP{$KxT}rj*!GVi#?c4k4}dy_ zu=|SdXl!tEj&p0ip_m`P1b+*Sj}e}s+I7g*>4djoq2Ip5RY5UEVFH@cDnc$M2 z?WV0F=`ah8mj6jr8TUmr`C$K99cAu*Pmlk$xhLo0=S$&f$}gGC=qp&139+uaSn93I9ERV=+MB(B@?Ig zUWcGV2+5yqB;;${VzB&|nje{5$|DYo78uRxj=a$*9e-x|TqwO^3lpY;oTG+uW;{=hmg@7HFWiq%|@IzgpKjwzafu)+bMmPFH zC-B6VfdR~IUW}O&TWXR&YS(_oo-q3s;CDwpD6WXkv9 zTVEI7KjqLSas2TzP|=DJfdGhlDGq4!-L7BP3)xB1jDdS65*H{@>Dg*`9>Gq2Dm#m+ z=}Ikq@_o+pjeIF%{PMcP}as z;a4xJixK{9)xXEc|9_;tWmFb>`@anqA_ywo(hbr`N|$tZcXu~PcY}m-{xF1a(`q)KX|(g(s{*zni&0HZD1h)>k(_tX`D-v0pB`+|}nU3g(o z>&3`oolMZdK%Gus(OEqj$2X{PzP@(!70Q3M(6W5Rh!azriEM^tE+4>nqT){C@}O-6}RZgfb! z-0`|$05MISaInU)xo-*(*7thZZM+}t?i1gIboY=k@TaDffLyqyD#F;wX}MA3U>U`{ zeF>GELrz7X(T%T!CC&IRcq-*;sJz_p^sI*PJ>#c8V))fSYEc-c!K||hG{E??^p)L=vH-2kOgcxm2`O6&OTB9R=#MG*x+#=^@pJv3BOvYiI_g3QH@UaH41`@Q$+R`1u zM?j>!+9>=>#4c-4rJglf@(GR>g0QH+={#azP;{RN$7&W={z*@&py3b)?Q`j@xl(xX z*%OJ)v^To}+D%QRrcP?D+uL`izH96DMGQ_#rjq-<2CDft3!3S5n%}RR*+t)9=Qr)< zXI;2D9KeM`|A1A!Z0xbCpr@?()Cf9sZEUZ^T_q(;yZY>pfGhTQiY48$va*NL8w>7V zneEaOris6dAnHi3eOEv1C}KJf1d&QvxPQd2{$zM+-#*4H7guMlpZ0BRDB|g087@OD zdDqv`dcKRp4y-U`_k)zCtr!NVyWQ@Z4%P*bnO(qR*FZk^Shf@(RD(T`T>;35{FAE6 za(Jr3%*7m{BWN6MS@J;m*p%evKp9DrGDU_?&r|D)%aaO>N@3R5*grnxuf5TxaX+t1 zSj3vUIT~z)E5iER!nsE{RVp82` zrdf7w9|zgTljPRv4UNT)b*+SF4L;CSY-I^zw@FGDQAV^#g{E^fzuUaOY*J;Pa$Sn@ z+@uO694#FI6$RV`9~vKEU_@oinVI*CT7wgKP9#AVw^>!uHSRTc7!OAqxncfPB zfSO2lyuahj?-L)YOvQ%o%0PA(v<*RCL<655?(`2|06zR%k%=Eov@MmAM{NyA1A(@K ze2@p^_x8VPS)lLlK;FTC10)xZH$YZ4(-U)GI5qr#5CbbCJ>?CoLCH(VfO)>7JO_)ZL8>; zZF&NL3wnO7WK0d4OzoFI`KQIehQe@xDrFIvbAJZ(bwX{t_V1~!4tG`28CK(83FT5i z3-=ddl^sOH2z~CL6glD_QiCwOH^Xm-7=1o~t^bFh(kZjxq`Y6t<7g_XU1)OIqL+Ov zXQL7o!{b)a@`!K2luXT^t$%kuLPLu<_HHb|6GN*whd2Y<1ytj5+-DJ)g#Y=p*yB4) zlx`2q$>NtFtPjL0#SM>M@~7WtpMj|*Jgm`Gy!Ja>Bv0?gQKHM}n#$5b2uy>|>u={~ zI1~Y?Y@Acck#r1LUe7cR3p|l=vry7Tm2Nh<@B&bIh;RV*p>5aOmgcz6OxQR;t&- z9UM(o_cAxE0y>Ott)O#9U;Au(4xC-%cDAF5Sv%C{z*IrC%SP(-Ooe$+_HwBZeHiL5 zN{Zs4t2c2G;pavg{z!_l{Yss&TpPjq_iKiykjZPN#kK z1<$f;77pxMwaN%~?+TNTZFWjF>kpsH{s)w0G(r zTvKSigF^4%S+yNz0I8~F_pD0Q^2A~b(BJ%WT9+5RvVxv-vg{u(Gq3mW>T1AQ2q7g0B26=WG$5f=kIa|b~{b^|da<&v002$!Ny*WR3 zy&zuBsCUk55HND(;JAruOu3scj1+kK`mR~517d!KwtS4@DlvZjOxtidX5{9sJI8wh zffaWBZfN@O4RLXm#0zN0#r5leaz zQUgJeYz9mP3Nwz71l+y~j4@x=305)H{xk-M{4Gw;TBqwaUe%nu9^p8q-f-U?WP^lJgb- zFbSMZ&JN42z5y&+LS15JHBTCHiIk$B;5Q01I%2Zos@X!6v^JM!11RNftUXpma*;rr zSfqfi%LI~KKE`E%X&ypA`I7q%}^mpR(ynd0Rt zc}$P)CJl+w2RQ+u{NOwPYBqkuBJ2)4?!qO|}+m`OjV1pVkhy58Ski!zL@>+& zlpMtXRo_wL?x%4vyEv-!TSWoQ1rk(yFC&xgUy^l@x0`r~wvsm`^vnSZQfi$d6?txxUx=#o9OYHOH(N=WI9=Zs~OY>Hf6 z^}(@Wm5={!*7WHcEgE@`;(`+Z$oewb@L;l*Abzte?y z8VY3fbiZqWk^A42^mwX{m~p2L_5Djs5_t-p!gPHudlp@V`t3b*vq;%Emxxf$r*PJ66~5M_h8;2^N5^1}=j<6s=ramt@HYS%yc9%Gr*xC+Q|oiQAeI>C zrBhGEV;660BPRp^0yl1XOK{>-_2=B*C8 zu~A6^Bu>-L(uVH%{!K>~l12#oGkWCoRVW%!dLYt8c%YPfn0o7W(`EFXk5V|Y|0kM& z2d%btCyovZWH_GYfT5kZl(~C!v5nGgNZzcr&btoCvOayv5q{PFGTJJe@K*5LLH#~_ z%N(XUVq6&)n=dg)?9VnPt3%1jwJ$BO)3>R^$Ww^R8K(Nevwx}RJt7%H@UT~O4$3LX z_;g;&WJQG23Mi!Kuh6bNX)Mm?#|Sf}PYC$T+wiq`XC%JY+`=ywg;XUamZw&(8Wi_1 zJag;MIWmdl0A?k|2bd&==~uJ-j<7bnuu+?g1!nVL-fB9MW#c)&)=dKjhE9N@)I&GZ zS?{fsXF9C#8XH%8^o)>8X;!_#N>R^#vg4|!D7(vXiDWR&?;0h!NI~??2m82O2U`j{ zu|&K~U%aX}l!(vIVpM9`92a)@HHVHn|2CAcIryd7Hyc4Bl8`dZ?p1>HH{@UeT-v0B zO#47ulrFaq=o%lXN%WS}Y6>#qBSXUp(H8Mx5mlp-W$wVKTe{z}l1FQ|dcEm5*7I%S zufxOJ*R)Ggv+H6ACd}*0P}pJX$e{6I@d=I>K6*b5no*c#Jn#@KZ0IDcS&{$;<|Jvn zrDZ!cje_b!;#k~*ijA~XFxOQTVk+I|rM{5IIa>f;sR{p3!#DQPAr**UmGWISu?0-n z8n+xN?wrSlcHY7>2)gW?u>25$Webhky?_^HX?`xgc2?}ziT0AF?3i=_pGRCNuY2{5 zbPuafNcQDX+UKwk_WUrsmT1aZg$TvF#2YQ*rBQjQG)ei1-lC+H8alhrHnH|@DAKkPO&u{2vus~kQ4z2bAt!1 zk%xT$QHf=#TeDa3+}#PI165yNcpK^vnu<`=kBF&Fn~owI9e{s{?T*s_K(Z4+q@5Meqy6)&V_-sX(0=ZxJkwk+{ROCVecn zfP>U0X^X{DvlH6;F4>L2<;SW{9XSZHWdI*+A>&PiM%S2PUS5)gW*m#)!1 zrxq(xi=9rEE+fhxbiT);!AN6~rmF}8Gwn_`^l7Vr8G|}~$}GwM4je2A0hEj?xQ0DJZ@#1+?E)KnFCv}I$e4{%G0xl=g(9O8V4ONb3GiHFYOQdCF)&oN1BzJA5JWr@ZGo4(AX}6$e3?~q*V?mH^%vOqaJ^b~tyL5y>qm8XI;b997RDWw*xIY}X-e2?YqnQ&aZ0TezS ziX%HcK_D=nEu;?ehxwDVJQTx&i?UjO*VV1jAA@Gedubx{O>;1B=S8PP!QGrVqbRT@n!(M-$)O?rqriu&~KhP7Ve%a02A9}kV*Bm2^{@k%SFPzNB3 z2WunC%)y#w2{c$|iEI@(u3rJ^X;AQXle;e2!0tRxwej9Xe^XX>H|rJkx>Lh!#C5-m z(^A`Lm3jeo(f6Os6NjSv&U_8=F~*&==)KceSO>@R^R5>Rm&oZgm)@6?5D^i+H#KWD z&Je1BJ_f*RSgc#T24AOh26J`iZ}aEBYXNsYrUZnp;f+7*4~{*rN11tkoU01lnSvxb zfGj&mCZci_NrzaYrJ4i_()-rIW;eI+W`Yg>zqIOW4y$mvU%vlCtFG0(4n<>FwD9DA zdDV?6$wG#M{elA)yp2;L*_ z#(1yI^i8cd17}Twu&AglAXsU{^p%trb7HoVAzz3$D63HBM9rxEV%ZdQ{exw5BrY^} z=;yf6r6M$TmFqjy_?~Z~Pto$A;-9StxPTW~O0N*~^MtUMtgW#lz2C^+16mlxGA&`z zL5=J8*}Us^`i{n)$v|f^eZ!QkqaFs7S;;dMwuWgj$TuM?6(LJ_~Ik>*lV<1vRF8@dJVRS{&y> z4az45s%CTT1HKkYpcvsbe76sEFHLF z#R>3Cq1%Ta+b*AWDt$G)s2B)1fNR-nB6{=;i5;bTpy~-KIQ}n{yKzIZAHvA}G*)rX z?5!u(MS2yb+`ZYUs%lJ;-y>{=FCgZU{i1^XZcD9YL(e!#X0E#Ceq0(ZBwF&QasQy( z6?j^*O?Gh-G-i~2&=#Q-jb+;Xc&DO8Iz|`xJeGl;>8*wO;@qd(N%v7K?IiSz)B%57 z&enMa^Syq-?>4EIMn*nS8SaU%tS&1&)A$t=bgM7NKCOvgc1ptTs@%mN*R5>qw}lv) z50*c({?=xDr6ilj&?Gtv9zCVxD4I;v#tO2^z3FpbCXaCx3rVwIQhMs27a@_L_&1+A z(dR!tb%|mlaKf%wK3{=v;(ezz&nKyZos(Y(lR)MCvdRP59iUUKi#T>-QHnsGpl$kmzRS}1g-uMWDu>p7DggDd6q~de!gkzpHfm) zv@Tm=)<$PkU>};*Q%U+rvgu$3Z)~`Y8fHzte`5*i%#3|KLkWRAN#Wn(-0DT*ZR)h9 zvxb>Z46+Z5f68a5Sc?{e_EcZc1r60I+>BP1+r%&IWcw3uXn6Ofg^KD2#{h z&+T}ueea46p-`}|N^@99GJudN+~G+7X3WSKw4qul#bhXuoTkHc`M&r|vFnI$VBK|t zg`oF{_g=tZJilk?P|KI@Ml^0$!*#@C!U@WXR z7t0}?!~fPHdD8#e*j|~&^?D)B>kqA7G>y)jt%C|ev+gRc*3;Wv7xlr?eq>9_M|s(PTWJV%lNs=~mg<_Mz1h0-S_(S7&hw*U#_A2t>`P>g-(MRoA6FBB($V$8p{ z|DRU%PX@)B(!Uul%l|=r5j)P)OW7<|k29)ZpEgN1=i-tb^s3!R4#$LDC^6>s*0R*M2D07V~nz}pW6Zwzt}DwOBu3nK^Z=7 zw=CrBzSB>2!22hpADTU(B#!}Bw=7eiORiH{2+EZ_)CI~kT#G)h8;=0!G@<}7Q5vy? zZ8saBB~+aE*el|P`U|T9CiM90ltKHO9}6JFm+Z6vxbG`2^=@Y-!huC)7YE8;@y?F` z@P1Kq^|c9BnE}SIrclB&9sVolOF0YC`x>{bZ+MjpWb0-E_QPUoL7&Cj*G-6G8e_OS z0mOMNuSbUUmwy)BRS5jrWWE-uYi~|HYRH2%?T@G{hq+3;-~-}vp?_$=7y^=MG??|s zYAz2FR-$Om?lcx%ZNH?&30|QSi6RsCC5KiH0krw+EuR%P$DcrZ5^#k9~w4u#$FuF$|Ip}C-c&wUP&gp^vvverRw)=bkK z%3+3$s;P3>A`Jlwc0`CX7gJ<`r@s->&;4vU4wXZtaZNp_Vip$;PPVQ+Y6UXyG z8odkEn{Pp>XX-{+z|&s+Owd7$%v;8E6FJd$Q1Ra4i_TLjiK0Ed|Au!TWtkggeFcQ> ze+QALO8NUo)ym1Vbo$Ww&;saCc62|()hlhZxS7a-f{0omTnV!0of7FAHq9)Sr*MQA zeq9U0lLxU}*ao$lemZxlcs+9*kgSS<=hj8M!Ql=4lVSu3 zcX9VqO~^almbq!)HXUBi2I1GrDy>Fo{Cm-L?43DvYJ^j3BFN+b-W28`3hoQYqJJ6C zsB!3j0IE-w7gesX9vymHLP8M($nf>l2B*o*ygtfj7$ zb|EbgT(1r?rNspbsQoFI(!E13wpJw$sM(Ed^Np0cZcy(xXp`!MOwUgbbY`j>yb4Yka`zchZ1T;I~3lc&UjJdZ<7p4H#K{RZb42IgQn-Dq@hp?ICb z;$(=>GfJyI@_}U%hzI##m!p~$@TX>o90{zuwa%3DNl6!|cumMr2kdq3hrPbVA^t)S ziA1~>BYPw5e<47gcmTDdS-;Afr)R);V%alLusu;vAmC)<0QGfgVp);NI1^Tz!5|+Ro`-R`+ifxO&H3Y~vQbps~;sm8@?zJxn zUmAS`f7GZM^Rz>UE8q)JrxSS6uYuDve$uL;cwj)Ic;pUp0mVu#>oj2A=j|6Anf`{s zcbAvks2ziX^4!00(no}c2TYdJG4yG|Pl**OzQ6bp2AwuqPtC;v8jkd-#4a2Bl1U!oKS#9xU`>= zl$34rSydlKF|asF!Urvn{<5UO$^|o90P`oo<>Eq~u%LXQRbIR7Y)u6)Hq{B;L-|}! zlG~T}V&V%aB=4S*Uhgpbo&9?j)~e!*u;y4IaVbJS0vyGUUvTLQ1^Al7qp|7Hd1~=s zCkS{dweA@Nr=r)`JH(27$fIyDMhpH~)#8nqG-6SsU0vElnCxk?6i_YPP+ef)E}OT@rv?#J?JiP0ux*HO+#s>{HqY}XDI$XDLBnrN>zUHcbIV0 zg=x5hokqt0^pWc)%w~mp)4m!-XL79Z#u+04$F~X5-mjJ>4A8RW43D4j@5;#Z$!G(g zHnt!+Ng;Y#9+2gosGq>B1`F7JnL+o=%`Zf$y>gzEopLWt84YqP3NMuYNZ4i`C2WLd zj@2F*2ijt#T9bVxp~aZ022(bcN5>ajh(B zF_gUur8gYGDgH8Ri@R=^Lvpi^Jl)SfWwF zv~D@@e^Y$8fiwSoW=(eAAuukV*FFfjpHn}wX7JXia=ak(V(?B}Hya;d0bZoL0^^{QV$nr6946B} z;hIx3)66KkiYv*c8p{#RDWs4n<;r8q(-t_Z(-#$vjMXHvOjmjFio`gYc8Oz383w|T zvh2;vWoy_!7+h(ASKM)L$lKuU;sYqS<(ZH_tt`Crf7?D&%?9i?!4+gPS;Z#O-nZ6m zd3;vD=_vQgT~qH%gpYdIA94BGr?s9rZq!`G6%X4zZyA!=baQcN7cdaa16XR^x;9jSeXIA?Vl><3|VcFOo6AL!0RVM*&Y08;u7g zbqAh2>pgKe9KL%re9c#nC;G((|KwL7>F*V=1R@ch=lH;u778Aj)C$}>F^7LV{J zh@oJ`dqZsK;6JJ^>5)7KzBm`yxOIhw$W#2QVjNIgTv?iMk* z;ql>8tE%y}DaWf;it(RzmVIE4*auhu`yl$&@Y5kMT&Rx>Z^luTrlVnVI9qTQuXrfy z6JO+7X?Mhf>Yw9(LAGI8wFX0nRDfXs$mL4le=n9>bsiFf<7PHm;$b;5RkSR-)ebE) z0E%JOCK)Yu7#SvxtnaBvo%HQpW{&Q+z5+CKp6RJt-l>5g{(XFHI#`<#3i-%Sunmrx z=hLh3eEo@0MV!>ZE*EWTH!L5XqokJCUG;YEX!=J=UT}{>x6{g1NOiLbv>)%8*F^pf z=_!U2f*bm3=o%Lm71UnNJqb5o(7WZgO+!(Q;=>Wn)noMc7E1$e$C)M;03M9v@d7YO z@g`&1-Jgv_8hFyoYypB>6GFcT8SndE0*D0vfgsOh>lQ8@unAnVU+X&g+WwO{n50+O zpm>Rvu_6dvEZ0|~nI{oekatSK6f<$CjW@|5NN=J;hOOp^bW z%(ETfAGfdxl6wB${tw^+3cv`*WF$vW2f`D8g+lMhNvrhhhZyvP8B>682Dx?_kru(t zX4L|18Fg-xhD}Tga3NS%Z@)4`6mTP@O^TC{Nxww3}Uovf^l>dxIIwHFqEgjBi ze{R}v4YjJ+BXQ){92Tl{oqz#IBL|BllmU1>5j!3!+5ms_A&RDxDhZ6e;rkqy;@{Kl z^9x8vOb_H@8EgdhH~S$soO+{l(!T=~L0v8iPH_cgPupg2>!b&gNIGixlgolR}1%A%GZ03=S)j$S}gEtUiG=k>4-tHKWl z^I}hEdb-zCbqcQCqkW<(6jT^Zj9s__o*4PJEm6o=Qb;U5J5MmnAjTAT+OmxaiMQ-^eN1?}FXuyUGrI?Aa)`4p zXCVqIp2v43Rn2eD`tO&KKE~O0D%aUE^DY;vO$pfCf`{e?ns|nSX(dc+^ny-o9c&Ar z>UT$jP*li#BaWZsawO5BO*{o6Z{jO$9l5@syjz7K+jM_s)$mIrwZO4>Vz^+uKDeH!e`beeYg~X;?Wy-PUE0OdAWPq);{ocrPHYvb=n zsvyj|78>*;Nb`x1tzrLqXFvhvA1T!;LPtk{bLP*ulqyxQ^B}erw(n%%#N4WL?`qcT)%5@-K>~ahtqc#?@H1x+M{^TTIyiBwc zKj>nm2YOIId_^GN32|2(oF3~c*-rD)(!6C+z4G=AijMWH^ z%59g)(j{Wn^T|G|s@9fosM}cFg1$|LN(zl7ifS=6sz$(VA=bqb*75_ zrbi}I-LiS{(6>tmAM;#Yj4Q0qpGL)$k;II{6pXl35w^g_9bpGM=}xD>kXxGV#XoV1-T~0Qg-_Rk71JaF9d}q_J_tsn}sz%6B{aoAh)+Cz+RNH za5c!uUR~SIv}?7ib4T?mqc$eyS|-RjS%%PIdIy{b65j8q^d9YX1*UvF8s))Yc6OV_ zuq%8#W_aeE`tcTG>^D&C@A_%0?!o#;rQwMqLPoQcl8q0 zZ^#_EubH@?f)Zu_!Yhrgelr;A1pXIel@t;MgjlVoeF+a*l;dgBgw#1Cpz4)%8Kv2s z`_{4ZuXaF%ho_Dp(3m6sJr%b?Z2Kn_ms=+02J)cQBd=Q7Fk34vOkLRZ>8}lCmEqp$UD`L;LaIvLYW*{v zsh-EydWHm_Uk``nYof5;S!(S&mdde)z@f$X(jn#F?y5t(c`YD{FmTQGQKel`N)*mn2pMZo`%M+7Hl;;)D5qKJGl3)95$ zP4XWwmZ-4)M zqrRwix^|Hf*)RWO&o(8n3rlpEoOW!iWl}Q2dpV>>jkH=+WBCWnGCxSvZQxLq-nR;g zpxh}-hbQ(Kc(Ak$qS3nD*zlg$$rsmt!5m1BbRI#OR!y}qD%(=7Xo$(>XOPiC63pz$D7)tjnlo-_c9Stw@^>( z2Ik9Z#$psb06QfD=*ov2;@)|E#tl>aFJ_h5$VZ1uX;TG#2+SjHkMt4;KexN+|0(|5 zjOti^A9KziqlZcRJp?-zi~d*HB>?6Pk2vs5HuNE!EJ4>@&zu^IP?O|=EHg_9{H zIeUI?Z3rG@yz`pv{gqB{ll^hu_$vyjn=6I;@iSMJC@);{hln7VQ3N_rEzm)?t(o%3 zFSPra4qHT0k;+O`zDK8L?(s?I2efKj?}mKMA&@?WKionz@z%4rg+}6u%tf0{mMvDj z>cLgj(Zk&9AtfUEPT%OocNbZ*aKEO0w(qJM=Yzee%e)Id3f!Szoxfs%OB!ra%GO3< z!a=t08f-CB{`~Qku&E#X6@>Q|?`b-w`b4&y+75gcvqQM=&taDE0B)SrXy1WhnOcl| z-rBLA@DXiI3uW$Z2QiMNIhRC6MLqfM+jReH0x&TBClBfI!BvK{AeB<>K062p%8F!W z$I^pObDPqVC8_1(18*Y>>@FK~@Ox$8x@TmV2L(QQzue8@DV?aLZUtPXh50)?2`|$5 z#*k6f^>nlwOQSng%}+0jDG8p`e9fTm`7FTs!n3C>lF#)BOF!KwwZt6Wf799*Srsm( zHWgkx%A1AA0yXaLMMqt5rn#4aeo3b7YCOfbk%~B+#}+;Ypfro`bE6$HGqgVmd{CZw ztA|dEv^<)|xaX`SkYR*u2JJn_Y{0>%Y=;AtHeBsOi3N z1iZGAthC@+sMI!ZMr#^6A%S#=0qXuM6g+L=p*V5bS%CwPCJff3@7g)_?7g*}LRbj5 zeHRxmKdJT*&yUaCb4Wt3z|yvE6C*)KEn10H2~8b0Jcf;?MOWTmATlBRMm7<)D6B1A3}wh|94O>!R6*_7dM(v#%3T)@Iq*vFY`&)xmX z;B7$P3%I{QhHiV`4|s7!@;&b+emUsN;)Y{2U40l$A7fB*jULmFeuU0sKri5KQg-Mz z7#Tpxn`1}uLoN4J?C)BD5KjKwwNStk^>Ysq=UZ#W%0AB+$t#yYnxd2 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 A)Bpeg literal 0 HcmV?d00001 diff --git a/verify_test_results.cjs b/verify_test_results.cjs new file mode 100644 index 0000000..2fc1201 --- /dev/null +++ b/verify_test_results.cjs @@ -0,0 +1,35 @@ +const { chromium } = require('playwright'); + +(async () => { + const browser = await chromium.launch(); + const context = await browser.newContext(); + const page = await context.newPage(); + + page.on('console', msg => { + console.log(`[BROWSER] ${msg.text()}`); + }); + + console.log('Logging in...'); + await page.goto('http://localhost:3000/.auth'); + await page.fill('input[type="text"]', 'admin'); + await page.fill('input[type="password"]', 'admin'); + await page.click('button:has-text("Login")'); + await page.waitForNavigation(); + + console.log('Waiting 30s for indexing and plug activation...'); + await page.waitForTimeout(30000); + + // Check command palette + console.log('Opening command palette to check for iCalendar commands...'); + await page.keyboard.press('Control+/'); + await page.waitForTimeout(2000); + await page.keyboard.type('iCalendar:'); + await page.waitForTimeout(2000); + + const body = await page.innerText('body'); + console.log('--- Body Output ---'); + console.log(body); + + await page.screenshot({ path: 'repro_check.png', fullPage: true }); + await browser.close(); +})();