From d4640a578de36f9c0470612d15dcdd5eb398dca7 Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Mon, 18 May 2026 22:54:00 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=BD=93=E6=A3=80=E6=94=B6?= =?UTF-8?q?=E5=B0=BE=EF=BC=9A=E6=9B=B4=E6=96=B0=20CLAUDE.md=20=E7=A7=BB?= =?UTF-8?q?=E9=99=A4=20EMOS/LGBM=20=E5=BC=95=E7=94=A8=EF=BC=8C=E6=B8=85?= =?UTF-8?q?=E7=90=86=E5=89=8D=E7=AB=AF=E6=AD=BB=E5=AD=97=E6=AE=B5=EF=BC=8C?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=20git=20=E8=B7=9F=E8=B8=AA=E7=9A=84=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E6=96=87=E4=BB=B6=EF=BC=8CVPS=20=E5=85=B3=E9=97=AD?= =?UTF-8?q?=E9=80=80=E5=BD=B9=E9=92=B1=E5=8C=85=E7=9B=91=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 6 + CLAUDE.md | 6 +- frontend-next-3002.log | 10 - .../ops/overview/OverviewPageClient.tsx | 8 +- .../ops/training/TrainingPageClient.tsx | 33 +- frontend/types/ops.ts | 6 +- playwright-home-check.png | Bin 217485 -> 0 bytes tmp_apikey.js | 3 - tmp_obs.js | 3098 ----------------- tmp_rctp.html | 1238 ------- 10 files changed, 14 insertions(+), 4394 deletions(-) delete mode 100644 frontend-next-3002.log delete mode 100644 playwright-home-check.png delete mode 100644 tmp_apikey.js delete mode 100644 tmp_obs.js delete mode 100644 tmp_rctp.html diff --git a/.gitignore b/.gitignore index 0570b122..93c06ff1 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,9 @@ frontend/.next-start.log .codex/skills/.system/** !.codex/prompts/ !.codex/prompts/** +tmp_apikey.js +tmp_obs.js +tmp_rctp.html +playwright-home-check.png +.codex-backend-*.log +frontend-next-*.log diff --git a/CLAUDE.md b/CLAUDE.md index d06cefc5..6a5b040d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -103,13 +103,12 @@ curl http://127.0.0.1:8000/metrics | Directory | Purpose | |-----------|---------| -| `src/analysis/` | DEB algorithm, trend engine, probability calibration (EMOS/LGBM), market alert engine, settlement rounding | +| `src/analysis/` | DEB algorithm, trend engine, market alert engine, settlement rounding | | `src/auth/` | Supabase entitlement checks, Telegram group pricing | | `src/bot/` | Telegram bot handlers and orchestrator | | `src/database/` | SQLite-based runtime state, DB manager, daily/truth/training feature repositories | | `src/data_collection/` | Weather sources (METAR, TAF, Open-Meteo, JMA, KMA, MGM, NMC, Russia stations, settlement sources), city registry (52 cities), Polymarket readonly layer. Also: `madis_sources.py` (NOAA 5-min NetCDF), `amos_station_sources.py` (Korean runway sensors), `country_networks.py` (per-country provider routing + `_airport_primary_from_raw`) | | `src/data_mining/` | Historical data fetch utilities | -| `src/models/` | LightGBM daily-high model training and feature engineering | | `src/onchain/` | Polygon wallet watcher, Polymarket wallet activity watcher | | `src/payments/` | Onchain checkout, event listener, confirm loop, contract audit | | `src/strategy/` | Trading strategy modules | @@ -120,7 +119,7 @@ curl http://127.0.0.1:8000/metrics | `frontend/components/dashboard/` | Dashboard UI components (map, sidebar, detail panel, modals, charts, scan terminal). `scan-root-styles.ts` is the CSS Module barrel, combining 22 module roots into one pre-composed className. `monitoring/` subdirectory: `MonitorPanel`, `monitor-temperature.ts` (temp resolution chain), `monitor-refresh-policy.ts`. | | `frontend/lib/` | Shared client logic: types (`dashboard-types.ts`, including `AirportCurrentConditions`, `CityDetail`), API client, chart utils, i18n, `source-freshness.ts` (per-source freshness with `expected_next_update_at`), dashboard utils | | `frontend/hooks/` | React hooks: dashboard store (global state), Leaflet map, chart helper | -| `scripts/` | Operational scripts: probability calibration training, backfills, payment reconciliation. `supabase/` subdirectory: DB schema and migration SQL. | +| `scripts/` | Operational scripts: backfills, payment reconciliation. `supabase/` subdirectory: DB schema and migration SQL. | | `config/` | YAML config (city list, weather settings, logging) | | `docs/` | Bilingual product & technical docs | @@ -134,7 +133,6 @@ curl http://127.0.0.1:8000/metrics - **Configuration**: `.env.example` is the comprehensive reference (8 config sections: runtime, Telegram, weather cache, auth, ops, frontend, optional modules, Polygon monitor). Copy to `.env` and fill in secrets. - **Auth gating** (frontend middleware): Token-based (`POLYWEATHER_DASHBOARD_ACCESS_TOKEN`) or Supabase session-based (`POLYWEATHER_AUTH_ENABLED`). Local dev hosts bypass auth. - **CORS**: Allowed origins from `WEB_CORS_ORIGINS` env var (defaults: localhost:3000, polyweather-pro.vercel.app) -- **EMOS/CRPS calibration**: Trainable but production should use `legacy` or `emos_shadow` engine; `emos_primary` only after local evaluation + manual rollout - **API proxy**: Frontend uses Next.js rewrites to proxy `/api/*` to the FastAPI backend; see `frontend/lib/api-proxy.ts` and `frontend/lib/backend-api.ts` ## Commit Convention diff --git a/frontend-next-3002.log b/frontend-next-3002.log deleted file mode 100644 index d68292b1..00000000 --- a/frontend-next-3002.log +++ /dev/null @@ -1,10 +0,0 @@ - -> polyweather-frontend@1.5.4 start -> next start -p 3002 - - ▲ Next.js 15.5.12 - - Local: http://localhost:3002 - - Network: http://172.23.64.1:3002 - - ✓ Starting... - ✓ Ready in 541ms diff --git a/frontend/components/ops/overview/OverviewPageClient.tsx b/frontend/components/ops/overview/OverviewPageClient.tsx index 8d726780..da831e0d 100644 --- a/frontend/components/ops/overview/OverviewPageClient.tsx +++ b/frontend/components/ops/overview/OverviewPageClient.tsx @@ -309,12 +309,12 @@ export function OverviewPageClient() {
有真值
-
{coverage.with_emos_samples ?? 0}
-
有EMOS
+
{coverage.with_feature_rows ?? 0}
+
有特征
-
{coverage.with_lgbm_samples ?? 0}
-
有LGBM
+
{td?.truth_records?.row_count ?? 0}
+
真值行数
diff --git a/frontend/components/ops/training/TrainingPageClient.tsx b/frontend/components/ops/training/TrainingPageClient.tsx index 78e3713c..ed77cfec 100644 --- a/frontend/components/ops/training/TrainingPageClient.tsx +++ b/frontend/components/ops/training/TrainingPageClient.tsx @@ -40,8 +40,6 @@ export function TrainingPageClient() { const truth = td?.truth_records; const features = td?.training_features; const coverage = td?.city_coverage; - const emos = td?.emos_samples as Record | undefined; - const lgbm = td?.lgbm_samples as Record | undefined; const modelCities = td?.model_cities; return ( @@ -76,35 +74,6 @@ export function TrainingPageClient() { - - - - - - -
- - EMOS 样本 - - {emos ? ( -
- {Object.entries(emos).map(([k, v]) => ( - - ))} -
- ) : 无数据} -
-
- - LGBM 样本 - - {lgbm ? ( -
- {Object.entries(lgbm).map(([k, v]) => ( - - ))} -
- ) : 无数据}
@@ -119,7 +88,7 @@ export function TrainingPageClient() { {modelCities.strongest.map((c, i) => (
  • {c.city} - EMOS:{c.emos ?? "—"} LGBM:{c.lgbm ?? "—"} + 真值:{c.truth_rows ?? "—"} 特征:{c.feature_rows ?? "—"}
  • ))} diff --git a/frontend/types/ops.ts b/frontend/types/ops.ts index 6f1e7539..20523a29 100644 --- a/frontend/types/ops.ts +++ b/frontend/types/ops.ts @@ -44,13 +44,9 @@ export type SystemStatusPayload = { total_cities?: number; with_truth_rows?: number; with_feature_rows?: number; - with_emos_samples?: number; - with_lgbm_samples?: number; }; - emos_samples?: Record; - lgbm_samples?: Record; model_cities?: { - strongest?: Array<{ city: string; emos?: number; lgbm?: number }>; + strongest?: Array<{ city: string; truth_rows?: number; feature_rows?: number }>; gaps?: string[]; }; }; diff --git a/playwright-home-check.png b/playwright-home-check.png deleted file mode 100644 index e22cfa5589bba374920783d29e0ebf9d1588c5cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217485 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
  • f88U{G=_{OU{w?VUzfHp$#XUOpCxS)Cz)p^A&2 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

    Jm=En;)`seoO;gAMf zIPzTG@(bR`!g4}!5A)RQp}Ges{25g=WWU`)nKVPfBlz;gD^;hd1}-WOhh<_~0`Jdg zTAl_biq($c5F=i{Lfrs zBMKuI>W>rC-97G?s;2V44DRhY*rm@@9Zg*_EECr9O`?VOC3g-_5o!kQUY)%to@mcw zm7VUJOUj7c5vvQy^`ze zTiUNas}X<#q1(+e+Mad^27~dkp`Y?u8r8i%ckhvup;6kNZC^%X+pe~Hp9E+PUmP&2 zF8sQbUMLG%2w@rhNC|@t^Ro{s;2-SrI}OCWz17xM+udSs^z$fue15(`k)yeO9o*wy zmU6z%Q1dB%*`d|t+WmZcY&;QmMz;ht;MXSL(XCTWSDUz8IP!o{3R^#(m9zhfI89IY z*)#8EQC)4ZtxPON)!7z{XYY(E|I-@Q=1q9x4HeY2gjajwDFKaW7bM_$k?)6yrE}}c z!?!>WOPFLqC;%jlKrg`ZlJ&!K_VgumGrp&=%-dY-buzU~PGqE;^)TgjD3c5eAr&F9 zsmBY@5HB_^6X&}}2`&*9YP^lIPLD9A!fMl$n4bdsS#TXwH|M$fA2rEiXu7QlX${d3 z5dQos{P~Ale-HZ}(X6s#z#eiZX{wxAg4Up7M(!NC2r(m)P`~H%j2W(8>bQoMbAx&i}P<9dbfJ6Y$N7G*jM>Q*-v*FQs7kI*DPWmsj zS!3=S!5u^cT+3-iO3}}6WnbG|8$oXs z46VFEoE1eh-j)TeZeS|^(vmLnx;b$*)hmj2hLU(rNT3K3s z2(zwoNuN;^BzLF4_}TA}E9WPZ2R{C%gHgi9X^#yzz7x!%PA*xUu7hujw#+k8-?G4q zSDA?(LlxL}WJ6ZrQ?RlRt!f6sRYgzBhH%m<>2jh?1!TF5QoP-l%Jm4J<3 ze=vJcEAxrR=aU=4L3&?hqc{z;g++Bo;Zlu-*?ScldSF-WEzvLL1HV`rNfDPR@0~5DozZNh`2E$2Sb+HRXG7i7@p^l|Srit+ z+HPp2XLeMk(`{jZ^Xe+9MTR!^z^5k0W~NrqkjE^ps{cPO;E&CR79Gl1s2|RIGUEr? zMN+pd{YZyA{@mgF!12iu*7f7`$A+{U?{R)XuYmRx$j8^;Ix?$UJSOH2)z%X4sx#CE z_lFeW(j|LfX~1wHvi5;|_Szs^Ha0!}{0DXt$^~vvGTkg8YticM5SjAocmR6$gcC1L zihWBp_Eo~p^G%9h4p0vK6o- zejOfCL7S~EQT4|dH~JtK0#Z5|3lU((zAEC_w_y6I_B->IzI2rY=%?-igQFHQ7t9yG z+{Tw|<>5kU-=WFe@AogOvB=u3wv(5|g%lKKF#yBd2H^Xtm9SrQj|#7FJ?@5;0LRDH z*bK#!zI?&CHV4MSZhJRpSB1hTb7{4Hsy{c&kvK<-A#9t1o>4I`yKF;-Q#j{-neh)J z*JrbfikQxkxW@VEsOO`|n06#LsdlABs~Q}9D&+)np%YSyh^ct;lx18mliu%s@aax= zD~t3~g=b9%L$s2&ocH#X^o!vj$o<@64u||-;;z?!RtRQe^lP1txP7>CDlvT<(7()A z?bnZtTWwPJsIWJyjGD{sZ^v|_DKRVdW&>V*@0D=mJDeB(@u27NcJ!uHp8l|?FFj=| zGnRaiHkXTwr_IbIw{JXA9k+st2# zm#lv8K~q`|ntgdphH^;h3&1EO$Ef!pv+p0Nz9)cVnaZJV(Js3k?UOb_mQrW>Z)?)_ z@=x%2$C{amXfp!;jJMh;1n5WhVutg7NU^7MD=2ywG$#I})l+Mh72X}jjFf~C;d4j# zhu>-XU$c%xe+yeVb$Swx%S!>P>Rheg3yBc5cvCY9^&zOrYMOKcTPBRu57imuMLo$v zF^jEtRS|T?Ob_zZNVL%EiRxPob7UtP@Hpvpe7mH0^~2kd_inBIE1NI#tt+oW!@lFh zJpM1!-L69ep_ta~IN(n?3Q={6knCIXz+(QY#Uly?OTVKfZzl7Kdhw_3J|&|Q0pCrM z$FVsqEtA_kaXfWx9EF|wLEBD$RPTlNmmjn!C|-%)>=Bui3!ol8eW#Myvg~^m9uai` zs)_U-uUSJiS+Iy|75{U?agjOOJ}>MMVj>e2=nD9*oH4Uq+W)d%~Xw zPR&Bo8$M%mg?f-~Y;$LzN9V+kzg2xPe?N?oY`+t>-{N+NOHCaR%>`%o+2Wx{vBdn-Rt{MnrDJk>rG9DLdTwnE@6=a-`RoF=vARU9k$ z%HQ2Oga0vs{FOowXx6l`?SNo)7*Faqc*?2Cfs|-zr~Sx&zGg!d{oIA=9X)R+OE(gd zOhk0RS(io~a)xfbC>E+Pc#gUId(|xE8B||;Y)E=r$Tscb^uVzQdYfv6oTP2uzE||b z!ZGk8zFl9E1Nxzt8_?C3)hfuf2tBOr`sxl_ImcYJd!~F*Vk_p>?RFI|U0BD)#%bC= z!?Ko~=!hSThd1vq+z6UquwFf4?22^o!)X`0T2jZD!x6^kd>QD@_xmG*jlaCx#&))f z?%4nmniJ-Wl(imI31JelbKCA=KiWLM$7AA@SX*I-ov=JsADBwFV=*o|su3WCwSGe) z^N1JUEeIEaMdLHguyWHwu8IJDSs022l= zgya>elS>&dXdwhQ+U|?Q*Y=tFdS-G}I%hj}Wo2cj%4WaNd=TcQ^`iDPh`-I~Z85#q za3bEgyGx+>sX!9h*UJ#8>2PYh!0*1`zPAVV-@GbmS7Vm@rV{XZA=0jHHQMaBU331; zBSVtbqH@&ZR#rKg2Y{00%iJI8avVSac*$2I#aUGXrQ8}nT;8-ubWJr`52tXi4ZWak zF~}x|wwDL!El$}&tU@=4`cLW;Cl7|sW(nFYr1V=o9X1uBg{jUv1P_^dAbx=Hy~qdA zF|;aK{TU3W)k?c#h&~eVoBENDbER>m)Ylo+4;ObI=Yb#2x64g}*J<@oH^vx69KV-6 zIyfNct0w~7No7~l=zI5#-}j5G5?CXYm!@XOLh$b%H`^}z7w=8g2E!c<01zJ$@pw7k zmLP||j&I_H^m)da+v>qu`>*dw>Im%sY(w+qCJ{?2%rA_zV6KyJevtoy!3gKS-gNyl zzn%`lr4?zm7KTr$vH`k(0AyPpA3wmEKn+)#!5t5{;Re_WR>2NrI(eKOF2^2$V~a@m zv&*$Sh8tZx0bwDPk(a#j=!s8e0?K|etK#&k>3qohLC<9Uiq}t3wI<apGYl~?x`BoN5qtB8@?}L$U2Sv@r3-AbgmJ=#~D)Y zZ=TH+BwzKi@_We=`9@woC9d4Usr@S=jelQ~WL_2apb~smx^6g_#dlIR(uSU?LirwK zBD$E{3(yv)ptYkqGFiTLoc4U6GG}21#+LWoR+YB9+pOi=>R0Hrf8f+2XXiP!%B9MW zV21tBe@4k%Gq)juckuN4unB9vL(?;_?v(OA>U%pC@>>;_IqZJw_kEA_6C0Qa>rbED%OAW z824qrebm~Uud~^5Bg%X zUl{HjV6tt1ax$ftKKztN#?{;HAj+aQ56R=}9AbMe$k;mT=pmMO)y%RGnn~>4w%(^7XK5Z#vFtuowRc z=Jf*y4y!ZbKor{&%}$iO*M911ezbWk;q_!9ri{)8%D^*rGRqfP^QA`#E@$ZTOr-Br(?#4c4|ImWKcd{p}c=8inUM)4;;^oQC^ zjizzzcw3}O6YtZJaqj_RimR&1f+yll7vA7nWqlTJu$yX=)Clim{!NoPvQRwHO^ zc~8H%Fr!GQI~FfoQ%iE}Zx8MJ+714lXsL6Ry;gMCIJutI?fjxN{=o`f+bcut9LJq3 z8C-R{AN6m}+=v|8Hjn1!TI`OwY|lpOsaDtkh37fHk6{n^FWGVtU9^+0JMbd-kIMg`<>Re6}c-_w`M)#*dJHuKQI zlI703^iiva%hRU9CpqS%()%a5lAL{{xPIV&ov?Qjt8NX+lGRLC5p2#?B5;nM>DSZP z|ETlEhM?SVfDRX;+Hut;i3pS{F&DEQOj&t#+^4Xr$6r9*W zv3U~*j>LVgCsZ8A=h)1`;hI2Yz>`8iNwy z(ZuKEWZ;-bw9ro@BKM**{lM?Ern#w$3~}ySt>t*!4QVs@on*ZGK{!K>Cde%5hql9J z8M5>?gt#c;T?`fPI*WAPEG>GBgHO!ov@83Isn^*z3S(s+ki;`Dh|e?GMvs;xOt(^Lz z9|0qHNjhh;NwjBdPR|CR^{~OO<9e@E!uRg z-Vli@@zUyLzFl*%MZTh}@;y;GGZ#pJJQ1BzzqFb|?2S;L%VM3vLJJ#O1LK0?m6F+U zo9BEywl7n_TV&c9SUu?W-6ut&{0Ma*GzJ$xUzhNf-GjPJMFVpmZ1!+F9JhZxJ9lYt zT-JMMAKpHB4t>C$m2z?PhLpnog3Gfz8^nA@j*o|@kA%g?<@cS;_FC3$ZCTphgzkPv zXKw~Xk-OI|NN3UNEr|;h7PM&NCMtw@@KMhduJ}JR^64EQQo!FgGG0GVYG{Ma&Hl#) zWWIX1N*qHcx%35MWzzjJ&Ovizx$%}0Zdz$ zO4=ob7q3HRUEWJFg%QsWRp};*`lVWaY%<^4hpq61NReq8ss%B~IbU2df_ya@+P*kG zP+6pi~3lZ9z024sd*)3bLtK%H&<1mfF-U+%*%$|9-Gi^w!Y{|f`7{v z@hE93VQU9r-Uz)`#T7#?!(txY8?r}pj=*r_4~Eq(J@#f?4~!6~lWEr95C0G=MLfos z-OmOAQ5kTzH|fXRqOsg`ov6+Fqd3Y`W{<>MWjVy7_rzBJxzCn9<}Y)LBKN(CNkTit zLaGZa=AXpXBpO?lH0d}Xp(tq{*coHKna{;Ro$u||Rc1?I|2uTK!vES7SIU# zTdy=BoBJbg08JXY7RNAO3)<8-U?pE&k{y$g5CdKEZ`f;=7DSz&^aJoKu_C<7SR%K@ zZqp1`;9Q7g)i}UK1NbILjt#TN4tI+&CR0(gLY_gJC^D%pmVJD`xz*>PS9YUuS`qjO z^=6oD|Cinftyh;!^bLA#FYhz6I4jYW73k6ITat4r%qJKSWd!JLh%o|SJ_?I6f?Umi zp|1})3nlYP`19lt_knlWf_78E$LiU%dRc|dMsdB7TMrPk^%l0jl_Q?4J|;Z8%i(AA zP8DW4e)m0qGi}lF&v$_ReG7X^1J2Ck(;qcxUVZ1St@*~ z5`+>C#q`DY8C+Ng4Qm$mnwNmq#srWva(w5{Qdic5ae;N_*!N)6Aq?NL{chkZ(U%A< zD1+UT)sd9c$mGVUvK+`1#e9R zcM4u>xMM&wN<-WErizWc0c2rFU?JP&Yl1Druw-HWex%8lHarEMddcbx>2?siTYhD^ z1kuhKzXo}~Tg$&Q5*O;EJ56Qz%@u58EkHTTnkKPg17MSxz?U}{sM#jR@RS)J+vY0% zvlou!t|=j{tC%Cua-ysKvK4=vOc5V8LBZ6d-^~V9O+MjNvsDwo>7R0pLV!JmYrwe~ zaCSt8B{c5yUyRrbEw%`9%xR7gZ9g0$d#zNGqG$NtYtnulX`)j8;eZS5e`|~(>Uq4d zRH?1|m$r61+{fDHy&I?B)FIuTOx+I}xzC0L_{5&C1YeUJ(_n_nh0Q)s`3gA;QA^r=W|G0sjboSXl4!+(dB;^(rN4@E{oS)EUUuf7PlD42X316Pr1L znLvcMGpNjXJ5FWC5%VhlV8{7Q`lBmj;TNZq2xBXZf)EX>dVu`Hnr~6udA@H*R8NuXJstNk`DC0ctN*q@9H&>()7B}E z3Nv!{a{ZIy;3XBGZx-TuG#Tk%I%-W)^zs5GUyEWs!4;7s7*|1w#%DgnD z(5b%)wxX?|?I~&i&XT%337=4lwoM$^KW;-(SHA&_iL}6+PAd6lm<+f(FLdyB3>uI3 z#;vY@Lbsmn%u;z(DrEav+_YxXNIReXO3A|d7;*C!vR3hI)|fxa{vjtDrx;iQ37h~) zOwxB>{0qrLe_}MSSi8Qni z$at=;2L|?$qZ&L=u0!QtA1eYluS?a@!+*@q!t)PQgR(Y>$Q%#rKmgbR3sR;ehC;qQ zZ|CA1K>s-;OUiOqgf%|jyDVsZ@1w%=Fj+^f&2cZ#zje0qZg{{O;{`La*$Hp}UMwfj z;XaGKyK=obl1AK}Y*1%^f0PLuvYUHl4QQzP6xOukt>!eeV^qS{qyz-xjvXZD+h9ST z5u?|BcPfq7HTSHtW}*vb>e*tN!rY*%e$9naucsL46c88WTG!nhPdXylJ_iDSTZS+neJOLt3m6QWQHC_P|^m+f@ zP0y>~b!p*MW-IJ=HNcl`63aV=dTG}2&+{2MpuXpM>E$%0c8-n-{*%NS^Z9j2~s0_QK{O9IM$K$rW1Og?7Djdb+$yDSP~0ZQA~ zyS`P$g)9nMx1kdz5)XXc0o^Zf@T0P*l+4x1OZp`Pyd(tEjUeDv`CDuNk2#AurjTJq z*6K2SA^H0g(4~{ZbbnSk_GY*NKG}n)z+TcqyY}bdXJ6iyGSC>>B)5e|s;Nl1eTZbEOBT;%2XC1rb z+U?F*%15F1(^{KF*ftp}z?vcz0Nae|+Aq+b*;{53I9o_x8J~^GBFuj+fDPKpjk7@= zk#Z9mz|1en=s-dI_Miv94hed#V^>_!8?8ZKxq7VfTAx7E?#HY`ZlLn}XUvHVZz*dH zEDXuR1LfM1{!pQ{&dTB^1E_TPHbZ#VzpVdNsRRj2PpoQ7Vm#b(>bUJk zW8A2vva+ZL% z_jUnw46?GaPx*a~>OUUb;YIEj&~8@w{}fquvX-Wd=EP%tLIyP5}4)4&@tHEunE8M=j-PMt)d3CzC~W(MD9`305fb;CzIx zpBTRlHTK;2Ek()9b>jT5PxM-}Qx0lo^678W)@5%h_j}-gCE4J1+{Zs-h2G=g3mULJ zcS>2T+1=)XX1V1XM`L^O)P&P1!kQ88V1uCaY5NvaKFxSWDChYliG_jMexgYMNEpqM zvOyr{NppE6o_%#N?*1COLev-ijorO#*(^})#`)+?$Fzhi6h+MUSLDS}X!fl7J96Li zUs0N-V!uDswO?P=up?d%md)6e8}sBg6%-sZOX?ft$jT}Fy!>hZm(G)o91aCc+lSZD zv$5t_^SN*PxoJEY>7@e@`i+$|+1{(8-cW8Km!oMTLQGwKTFP2~LPigO$78oLycT5; zxB>J#W@oCQsUD!p6?iLra(kcIdgKhjh=z#6>h9DG^&H@X{120T?3^{nSHJpVQ+`cF zhUr(#1mJUrNVI-_ZL34}O4Si6@S$|}m-_$X>a3#b+L~=0JV0 z3Y2+%Nl18XuJ<-T_gu)ULe;y!wNT?ZktU6r%H~IaLY%&0nHoge$|RJ>6w}!E@oybe z*dzz-BIya9?ecl^GZB;TR>K~gwWeH9Yo%%eJ`B5@5voz`2`STPHKz2lqnj<4e<3Nq zO7z+EQaECj)Zc@Ac^4SvuI>4Op6B4yRKY#8ceco)3i@g%ps)But;4wwP-Ad0pY&B2 zw-KUYpsK#9@m4|})2VDhr)qlS7{i%A)_);Uss zJX;e@^dQvihS>dq=`5ID?ZKnoCXowz=i`hMwM@>Enb$n*7Wkuw(|zZv&fZv7#h@+& zaap+cgS1QQ&+mIy|4NBrh6IW)N8*i*ALkDN-VO~tEVlMv^D_!! z+`FfXf*;Y`H;g*3iDjH|pI9|3O%Eq-(IUV z3jXd!J?jGa6@`R_6Y5#E{h;_w)Ey3gPYcw zc$zJH2Kw43boB4A?V|lyd`>^ZP8qOXE%?&N_MDn7Zpob)k5=`5&yZ}iDHgAI_c6CO zFZQrZr2+!=d#NPhP9a(6#yGEcMLzg@RZ+~Z^`Q**j!FZSx2HYxPrecK(^oXA59Xc} zqUW+mc@Q0-v*5R?-@h>s?4#P9fbl-!!DHO-mTSG0!e>u*UpiOGMVaY=Spy3RfR04& zXveE4#KVv}5l%Hi>r^gHuumZPB=S-7f*WF$)cl~^F0LSgz=JisNbp(AT(U}Gs=jf$ zI4)(eAscf@^iYXyE!7$i<&Tn`oSv%c{Y1=MjmsWdAAv8-5dhKL$~8XWbTWWBjjhPX zRHUY7#T%Zy?kGpLlrC`w`?fL0z8%r?$X-43eu%kCoS z%0|s}GGjs*1mYd+OGwK0wYsa!IBm-|IC?$5DbTgylD>Wf(bGTCy6myom|X=a6(dLN zneX(vA@0SkI$Z}H?N4l&qdYUZjL{EU_M=CXT4{j3VG}e{vyd%_CjTq*&v4OF%0 z1Ju5m>1vC(s&!3&oh8jjmrN`JoM_zE;$tMx1I&rc%CMZ;UwwX!ZCopOZh>H$lFQq| zvkOZ&Nk%hWyscFiFG-Sp2(gT$#m!K^oW?3IQVe56dl>4@`(iIJDRYFCesI~1UzDyQ z{OQ+*P=0qSD)CZSOBsG#aK$y^l8*^=$M-v*T5m7oY@KCz-*)K{v9BHqcY_xD9VB=5yI^aGR* z&lWt0JIKomIq{qrc|=4RRSg*847)ZhB6pr`Hv&$*MLz264@Wwy*{@h-&TWrLwMCVk z#Rd)L#$mxCeI^;~-5=Jx1iz)LZi|TX%Rl+2U5W&zN(;VS>U;w$#yMyIw;tI0)$tLd zT4&&JXRf?+t9m*L?NDn6^A}-aJYd|cmR_KilN2>K*-pj;SVXZ{VmI0Zv%0%1 zp-dGJ3;RB-ealn$m%qAcZdO0*nW2I~CoaRiPJR*($~HMoHk84pt9fIfFofM+yy#f(A2KjHZxPJvV%3 zin0l~^)&?OF0#HlCAx2OxM}y58k>3z{)l_R&~}9Qei83&SQ6t1|GzmNP7% z3X#(^f(36oiQ_5bJSz;r?go==Y5+y*Uw;p&P;`N%O=E70zOEd$=J~P}#TH;mD9b+8 z7+<#S<{5_8AgaFZ*xt6-I~VPtw?WSq_<<_XHW#ds(wom+J?PCfpaDPj{Yb0s7-x4` zu+U;AnwLJF?JF{zGrVgFfGg>`9EaPLz$Em!Zhty!Is!bxU28zjLxg8&tgYB-o@bH{ zGklPwgTwo{Ey3%70sd0N*lMa{ycquq%oDD z^@%AzHP3COwy0w%I_)M#N0O4FLA$qvg|6ABEVW~GhZZBacJbzuSBbly(o^03ElO_4 z{(b46p5=XXCw*N?5;DMT*S!qvjRE+d=CQ?60t|ZHf$$h#C4YSbXOJG!O?Z(_B6d~) z`(o^~o(%Y_A0X%MYn$rt46|6C9b}>e{;=3SEJBRU<1v%@5Jrw1HW81NOsE!eC6_Bt zBJfwR^tCOq#9TwWW8a&Q`!RWMp2uc(Pf_^QLk}Et@c1OFb6stOOzI<^QAO)6Ir5}v zTgV)2+UrrDawr^Kv+e3-TLk9jT*yzS$?<0#Nt_Zf&i{gz0j49l3LcJ&PN95iwB@3n zpx@elr=-8{!umSpFAZd}0d4*4LE)Y2@NJNU`%g+{aoJ?rGEzFNAq;GM6I$x8=I9~q z1nAJ&ubIj}L~6pLOfX2`kr`4wO^O_JcpW?iWi3q~YuBvcM!u{Fm4M^t;qyO%Bc5L| zCR?QqM;fnLMEGz@k>Sx>4f9-WO@j~dXpCr<(Obt?vL{#UaAC6Ql->Aac&SYlHpY~!uguviO@Jm;ZcJWd5yNNx zw!ni{M98=Jn>_ty9W1MLL)a*WwIJXx+BgeYcOr*>p1&#%SIR{CkFyN0$jq67fttHu zsGpJirgjyssx%oacBHpLi94**AB*!s@^neeFWIa?;>^^mO0dA9X~ij1EH3s0_ahP8 z|E3cQODpfQk_H}PjH~u%h_r_|&xKr6*gF#A+`kL))bZ0G{R&F56oT+^q8g9g6?blZ zDF)O?2U^yo5Dfe}@Hi4kWymLj|9L@xGt2!ju=3YPY%~^w8{nvE($`IvoHqbGZWxYY z=4=#a43&jrfd3K(keq+gEDA$)d6k^#GCK9Owe(lfqNxf66`XP1ZhzLT@Z8gDo;JrB zITk(?YQx@Fbg$9a^a}^TNQ?lHY(M1tfBRE_-+=Xoz5|qBm#Jd_pRT^a-xtAe3j-8C z03#sk3P6F&B!rS+E{ed}Al93-v@a#>e#jccqQpR+PAC?_*ThU1FGXv2EDAf;$C;GX z_9krJcZ@wo=R@AWcV#b}!vu@lI7@KZChY)U2L;EMQn)J9#H1@6+0*$Mx8fKDPo&x(8%B%Xa7<$=ju@5u85ciC&(fnvIvnk-yTS~82E$^ zGIjNO<+{>;{GZVr?XK6!i3~Q8qPSfJ=!fwe=t7hTrTxS2P_RXU>pSzG67Q6X7}#W| z9kzFKO=+|(Qg?a%jlW^X9!m2rCUZY~f2z(kM(Q`EUIO0mS(HS(3Okv8meM&8l`QD! z@N!sNX6B5_het0%k7xrSqTb7BUNiCj+tvCnhk=WxN)mTvn*YdM*g>`~qulbg;l+xD z-aiel-VL4ffK6vUGdmrI%G&g=RAa?E4@}($>1@-6(YQj4+If;werG0Qpg!aP!`!u;{?+k?-o1GWD?37;vQ2;)o*zAZw`Ob8~&lf4a67s88 z1KeI1+}2@Nox}v3AKYXxvSr`-4+mEj3!#WPqQZt%Gllzb*s=Z4=NzI%n+i{(gdxrA zOpcYwlK@^%;Ie$xe14@0#H`ZF4MY-($7|gkz`RgH1Y}=e+kDdrYphft1bpMAdnQ2p zAL|sbZJi>dF)Dn$mx=P;iT}G$`dq1F02?^M->d+dPOPhEEex=PWaFUFuvTDfp893? z2a=zrB@>4t69*_Fq-i^y!$!uQrrg^q8!sM5n?$rflp}*%=+oX-E^>kg)|hs#i!iQy z9uY1jn|;jVjA<7R(m3oCXVd@z+8e=`3_$P6DZxOfa0JYJVl`&W^C z%t5B?X>!8C>MgfmW~+MjGTW4vdK={@z4e`*AY?)q6S$Ym16INlxvQEh1jJ}VEwnx_ zNeQvp>sAx3z>*TD7HM0>4u}Ajgu`7{`;{3|zy9OdK8P#HZ)eH4^ZzH>IH{~VRs@Vp zhq>uinVw$11UTYkp#$D10M}K*Nhfy3nNi!An+mgoE3+!WA&*kf5(2GWSDhq2$--t4 zL#>ez4-bDsi!I?iy8wvo`=wHL_I5t=+EY~N351j3zK@T%X0mvFu>eqlHmydQz_qCT z_4!5Fih~p+sm^w`w8B~c9sYyK3M3cWHw6@~$KzJQ_S~cZQjqDl$Ha^8Ob}I0+nw#H z)-8C9l@-2Se!SVForFH8NSRgb&(~UfWWVaIo z-nr9AMccjaeVvjcR1=%&xvg;ILMbTJDD_2K{m?9C^IT*(ls$2Mt7Mv2iB~*rQe@g` zDQ>>z3r2Pdg{7L0KKxG``oiBuD~^GL zPVAvu#87EEj~dzr_~b;(H2eU7lT@#e4Dv7@D~$Z*DD(6d4A5BLYk;PkjqXPgD%Ldj zV>Xl3+IB?IB(>ivERA)yTxnd_4K0yBNFY!5iK8&v53%sLJ_IJ}oDCOW%UIQtyQxf3eaI!`U?;NGfwWkydRmt!&lf2`1Srz9Op~nTlD=sbGq< zkecdiy~ntOZ?ZVM*CiY;b>n|(0Yyp1#onr{D;xx`xGD*j9aW3xqNzH~c|RPc9X&Pcr!dfjJSic5kwqG|5b?M%(z*|@ui-=9 z0YRQO4<7LFq2>gMxHV8lQSCd{%^oqcbRJwyb%6=vhvuu8@|J3Dnqkc+8lttcMB08vKqGnP^AyG;$Nv0!s+SHU1vU)D19Ry_0!RC?!6vFh7h3C5;DU1QVtMYT4C3Zn^Gri$bjkNsXGi11hOA!{7i;JgSTyy zyU|P9kEhyLD^>oCn{quDSrrgS+CVjsVNl;maoU>_UPxv)T0DKdCvk^Ij+PLOKa#)y zS|~?c!_S}3^(t>C_hkz}6898vT`(>g7n;FKtk5+#+Qk_IZWl&G;gRi?f%iMb?}Djv zzboGHe8MJBlh+jGu1r_Dl0~6e1Py;2!o-#8+{fpsgd3z}Q`V0%RiztG*Q2CXFuD#| zOg|3^d2US;0K~Y0=$$!L{e_$qYVMm&tTP~}4p^3{LOl;g<|8DYK9iJOYu1R!-L&tB2#JWigk(GG?nlUdF`4&ro7fF|P`-?QBJBS6C} zp^RfePJKTdGbgb79*)9``75YBXU;t_j&^*a>R`9_CP`x#s za37diNd&GA!!F=x`@=4h5){>l{A%iP`yGBF?{{hhuiUOQ3`ZJCOg(D5!q23U1~n;J z8$iTz9x{kz@!E7*j8|{7I#Hw{1NQz3TTah8oLW}B%te=o2St63=J($gd5*(6Ent@_ z6!mu!qZHmbFs}q5&P7U?E3k4RB6?Y$iYb0s|Jc>Xjdd2dHxSs@eMbfW9v!U;8EKL((RP zn=5WnsGCsLYus{(_kFcQbofEy_b%Fu*n%aYq)tLk+utW~_xgT9k0uL*NhodNR?+2f zvp^Vom)m?*l(aV4TJaNPkh48{9pFe8P|^CSu$&Ig9cnep!6mcASH$Dt04^&HHZpaY za6EACY0+zq6;TNUt9);=HoWj|Zz-8!CgNKLw^zOUu z9itk0OgzQ%oaqUtq^L{dl3pkr=nTnk8)|y|&vA8(n1@ ze9(iJ2bhz(lgr@v4Pur?6QGQDyYGJ)U)FIYR)aGESktq&oHj3oV_wlP@31Eeq_4s* z4HcDkI!BDMO-@}h?(ke;CWKj+JyimPr2u25iO+R?O56=g+6dJrCW|Sk=$-i$Vb9Z<%2dEik+gUtd1}`D9W32ps~rwULk*KY#dje zU|%ne3wPWd%3*BUaw8ImI~a0a%qi5B+ZQ0o$1nTyT?bFsTYOC1Qz+A?KPAP;Ns1}Y zg7Tp1v#JYh%rTvSs$@%JA^MJzGrh(Q;a$-8yyqV_E;ss@7u3M{csp zlRyilbb+v4sA1RXbfM*~FIrQ48ADc%+x_O{GA{Yyp-Gk`ej#5=WcLaNQwh)rw-i;{ zuj`o7+L{1Lmp8TBr^p6rXv3{VpQYNf-iEm8KESvejB@;yZk%#+0i{@*l`g%fFC-)+ z)jE~vN95Z>D$fgjaI~zVon1`H=W-jca5-non|vy!A@z=B!g&Z4H7-;MaWmy0x-l}c z-QtOK!SrdZSQ#4rR7jpdDi{{;;TURD2`Opyng+TH1}RoPq|dTmW90Z&K1O)Ufzo)3M?|Uk=ujk{k>rOXY(bpYn_V_?!Z>_8VR6rgdW{2D& z{PNCCrg-J0gw6Tgwyp?z3H_g7f@* zb9$2cg%?$$Gq+Tu?!%Zd;D{PG&OcdeyV`tB`XP|LbOeh`0Lyj}3&{4=cq>nRF*O>> zYa65w2wC=MU8JLA3Q>F_r2QS|aw!iR;BHU<#6!KkBLM+A@dY;kURBQ6NBdUh*8#W% zo2_?rO5Psg>Kqm}b;y7d6a_F*VVq_lus}M&z_FOEUd|-f`r71-AxI#{3Q3lRDKx_nGi$L+aP-oBBD3~mmn zHy9CaL^bFAE@A9-zq<{W0iBInKG>`@vXMKlEEs(xI@~rZXcpJL!YHw4C-;FAHn9qA z1CJFhxCdd}x-Jn5t8-jNd?b(I_b;#2EY_SEZhV8^{p0Qt99!Vav*OL}aAs zL<02EJgf!`q_INkADeE-LoIQzuN2>AyCc>?qJJL@V6P|vAs zDOv9pa-XAHmcMI4Pn`<|HN+!E{-@x&i0X_4_Ho~L^*x`_iyeaX5os49nm)=uVqZ`N zPanbbqS?)FbH)!D!bgTwK}8zTBTh(%tO8etLmQzrUJ4GZHR?ND)!f*BxFz>6-Q4UH zRgeso@dnobPTFx-mt(`xC5T*n^get5H2;CQn7^uWpk z`RV<9Z4caCcax0wzSyp~@Iz^yXIn%hhto5~_n#&Uu{sXbHJQ$A*y>ZwRs(a!-qMAv zYKI33zyTAFpmuq*@#1mTyoWY{2eR&7%umO;?rE{%85xd_0(j?FOV5Pfzpg^n>1*L0 z9~K6_`XiJ5qV1Xx>TIdX_GMnKH*2#@9CmX2)I8gpw1SSJiF%!^JJ(1=b$S+Z9v03o z>WcZ?uB0wcksKxlA}|&keg{;;Hj!IqHY(L<^t$x;W~cOx=+4)GrUWG^O}7!KR6ZNC zd`u`rMMjeaPl193&mE^|f{Wzn+mh?A$buVUZ6v$ko-PTe#a^Eyc-m$YuYq=ORM%*d zJwnP*`~ZPYSpD7E^X~~JAN)a8JJC1@vf<&_sdp6gGMhi^Lj@KA=X}$3iFA8Ha!u+A zx^V*|0RdK$*Y5ikrIzUT4@}YIq)rrrlsGNto{jo^1W(ZFC z&1W=azIsprHXY@ppde)yXT;MeTB?n7kDR8(9%yu5%HMqE_x!FGPOqT42H2Y=& zE2rJzdf%8$rEgb;GBtu;{$#a))~12=QZfuEZK)Umv^pN@oo`>LbjI>= zlY6G5x%~rE1zCcL3OUd;Yk(0)v85C`Y@D)!p_knfeLSJF)}cIO^Ex{kNz%dTqL6rK z&5cCwJdA1*#K&QYv&v(#xpd_!?3zclfztpYfT-D$k?4sb*|#lrRCtW2n2GCck z(4_M9u$4UyU81%|$K**3dF|~a7EHGFJiKg^d!%_eKf*qM0zg9ar=!ZDiHc4F!;Isry9(+&bZ=`>vh81+VkY(JvbSILH7k zWuYRo*l}u!bCU%vID>klIW<54X)zR*Rf8W)%!0Q-v>+}U6G)^@VmD+d$S{b0c*fOZ zTgh6`V^D7wR{RFD$%4|5nBWUB2-EH1X@?w@`>>GAmKncG$O9twgt_i(P0FmtC zk(3VDww{UM)5O|bQi__7B92?Xp`}&q$X6OHT}0vd$i!jeDaIS1IUU2I&{MDF4DZxj zTF91}$C_KYr z(`#1&YAcb8bmH4oF*-xWSLcnu*$k_Fs9sd85ht6mb%m!gw*!? z%NSIWz@f(cTV6Ef0VLxR+xJXbE0p+}vC6ukACQYMPSrs}KMEs-0sK}t++1X>U{HMi zp2V%02`_fjQnBUCCruZ@Z{YLBNwkeDI5mI#sijf1V|euxFpw%Y+{f1^7qsgs_kJL3E=Xwb)Z`|nlH5)y835jjfJ{Gjtwm_Xf2Yl3v z)b~FU4#8Bk&jOP1X@SF_VAhDCl?+NRXSM^WsTJ$cWBIpK~LSK2P277|hSVrFyRb4AKzq?p;rDFav*0W*1=BEeSYbzRUd zQFx47&_So>U=7ljv~idXEA)$$NKVUoqA}y)HW?Tgn4D1}y0xr`QKl*UVgAveF_kGu zG0giW#0zzQg_^4U1^CIu=u-qus)R=kv;qLFifP$%^UCMfZ?rZc9Zsp_MdZwZl zVZl={_XBM*4*6r_cL`JgsE2g=b9NqvyauAWH!!I8N4UMi!ChgFxAygV^F|_vUL`EG z^hlEBbk;JZTML;#4V&g4Js%}7G$S$B1yS6}#?N6iGxqF3M@sV1FjuS26XaA>%e}SLS z(k=sen^sc;*E0jzoL`0OO6b>!jEo_i{*1TL{oId2(&wBVS9OxCmMMt?$d-$=Xg9W9 zh)>j!ZSRBw$*p5a@`pp@za9c(>9ecfGa2)Kg&2i(lBv9r-o)+^Z;m=8xls6P_LNZSd zi*h~b1WS|a9dQ}lLUl-FFA&isN9r>2>~%(O#6lrE8_@O(@md9CjuMqGXGJW2Sj|E$ zXm$_2tixJsiS(-(( zz{Hqt(z`r+B2BGjhZ#~__-6y{haM^C?vqxcWp%-T+67gTiB)(u>!4ZXOnA3$1B?S2 z%|XJuAM>XLppW|(BQRW2Derj5{yx7nOaJc2R)H_4#-MEUoMEHCtHmB5WrPAuDG(c#-`^%oV}8!Os3W79jJwy3(-Qy5LQH%g=k zH^@XBtctq#!GlX=v$@C_MMF+vFc-?TSHe@%v};j*%h(IiIZ@pX{Z0W0E&(1N(LRv- zMZZT*dR@kb=pEU7ckwAI+!CABnAa2(Qetdin6Ag+jI-(AG8*rZfnJ4zRv>RUt7{4V z`+tpCIvxj_o(wD@0F7}WveE4RPR7uw-B}`r39Lp$oR{Cxz$(vx(j>jKTz~C7!BR2M z<&y{YEqo4pEgOs><@=re^9osga%6@xTjODyC;b*yWQnlIvpHf?x-=!e{cd%3*;zCZ zE?urhYgNy+T>xTnq#Yms`1JbR^HJA3cW`(C*a}pWJqNr5B>o$u>u6c{`2OK&3S@k( zi5r*n%djVKEogQ#mLJC1iJeI{fxzqQ6~dMPi55{|HDQUWGAcYS{h^{0fN8(i@Mzi8 zqik2P|4{0yybe?@+-IiXCp|WA!vKpMQITenC>OUBre?9&&%A3Zw`Rq6wyM$$Z>qDQ zg!KcpHmFN=dSIT>!)tT&RW3R9kzWeL>COPk)KJ)29?XV2cq-Y%AmmG8;LN0a}wX09?+N0GXjfOUT-;oS*kQNg6Bk z7aJ^i$miikBBRYy$6?AV8f5g2T8CnjYtQR=YXbkxH^E1xxT`SCkl?@P1tdoQG2AGu zUD5*XFOy{z*!jph{5yl4AO)mN#iZZD>X*10dzlMFx&tgXXn96^veB>Ku!T z_!IFQXQ5GAG1WbW7Ed)>fEMjbzHH5J@k%pjr$3PgQSzx}nZFZt9@6sA?5jS0QUmq}~oI*&mAnX{)Znm&}FCQ${?f ztB7XC&T;{8L$dvu0^3aHX^J^;;Ncu1C;X{Zi_0HHK3-dDSnIqwQZ_L%-rV8jZJuse z*q;yGz+&@KBD!g|?>?IVGJ5oFtw3qCpF~trVJ8o5kaJy935v*ohU1jC{B4r~lN+GK!EI>+9ai{F|?o|YIBcjEIS&#rHA zJP3GG8WQLgtYj=jUqZoaFP?Wf>_%pFla>+V?0(8~x4W$9&C#T*3ag=D51uxt%Z8>M zq^a#;YveCnQAurZxE#+s^F3kU>uO#m`>DV$9gsbrzB3_JFl>y4Di3 zbeQm#HYzE?^!^@M2uRAO6F@k3;*;>x;CO5M;@>J{TncO-gMW-G1DVc1I|Ivk$;lxURnK|)gR7kZ;sLWx?o z$pLO)W-LAqaF9Kge8p??mT(T62x_dH*n8xxFJOP;k*g=+-tOb$KjPT7Mc#(@&hKy& zMRcOX<~f5^A_t@UlRF0c;CnER5d6fYP*3@-EK!SDsg;b|n#=Q_T7Zx&e9S2#s{4c2*|}L*S8R%f<+A5?t6pzNP%2522BF4^h|pmWsIlrMZtc{keqK9s zXvkE}*f=Xc#CQ_?#`YT8{{d7$3kz9d@`9!@l{6?aDaTh^ApFYly0dy*N0Pe6c{YKk zbLO!qf(Qp{JOrfB2TuL!_1FS~nchHhV_@ zlauKUTz9mQVu-tw8ma3z79-N|hK2upQ6$hQMkzYAgVA$X$HsMMHl8+Yr8#Agq63Y! zOR$v9Fo;^qk@PD^66WcG_)r)U+@$nj_zbN|jcW zU6U*EUhKg&!Ogk+`bN!09AsOxGS3SCJh@$&NRa$S9Ipv8+E1Sf?^>LEVRHVvgWs{k zN>$|9-SeV0qsKXo5q|j*YkN%Lt8PWVw*JcouY`G2CU@e`B%B}Lhdw<|QcDE8RD0B4 z?Tsd8fsbV(X*67V(^3Rl7Y=20+cBTR?Z{MI>bU6|A{FZ_T=WV)@y>#<)aGTAJuji- z|M;xuS*X0=p`kIHS5wzpF23K6x3Cu##dST<4e#S$R>B?vS6}`I!5riZ&0&2mF(58(#>KP!8kY(Y}ANj#u6NCKUWDR-Z<|sGQ2O z{#x`*bd1`=ko~G(pFmX^Q2SeTXYED{K`j?^`VR2Mj-y0-iR4(|o=06C?&SV>$VLWJb+v*m5 zb#g;dEzWUUIxtU1Pr05SgAZ7oJwfsj{2S7z8&(rF5?`;fSgp;k6pPAqH47S)2IvxW zIbu5Qa!%srwQ{9RH$$IS`l28SPvU=7;||BmrO}!=3{N?TPp50Uz>ENx)29ynr|-9& z9FIIedbD^xx@wXMUO7T41DKhv^)V>d9nI^%9vSCq975%zEJ2+NEbWfVtL%46mkUAo zyRdZlOOgFQcpye=&l#icd&S zPe}D8Ysz0%7sa^bcW?WK)#54x^V>4i#%vQ{EI4mR>*JkS!iu>y{M$sFAm6L z^Y`p1F2EEHF4Oa$jg79(ZT-vca0+yU_GE+c(?b?26^6!XU?=C76eZ=71bn;<*$$(U z*;Ek4>E3tYxe{K>Z3>xK30e$!<=F+LH=2f}^(2`o3d)20ss;j-HSXN0+E6#%RX8%pA`EjIB@|J{)ffKF2uIvu5>{&_3E921xa$6B^3YW)giG{#U>Kyokgd=%&!`)1-(-uI{FBhOOjf@5(O_pezPq(NEx5XL zTKOF@b0i;csc&APtM11bh*YG(wJ4u&MbjQ}oE`LTRB~bONxzAp+}=O0ZJ$N$SfS*& z*X&2>LNURXEjjK+=gWat7dTEuPnDJVS0-RFI68XLQGI*#31p(nn*}qE=aV-{Qm3#3 zR*CbUe1merPhhUK1vq9;8ooNUpRHB-`BBy3IECSz&kN}=kesC0E;L5j6oNQS&J=zx zQ8Q%2c=mBs>I)nW?G7`}fNB`HmY|OXbw?$58P9$oV;KLKwG!k`hvvWlh8|p@MV~%B z@_Be0b2W(2mv5~v_u&0Tt4h_zgB+-~kEP4NU9u+HZ^7-zi9Z|7pw3zf2??@tKrV%? zFPsisz;E82Vd2l-Sl>aAS)YuTF}mlB!w` zPKJ=0|0BZz1#xGxbIN@a8CQxe4X(t?+Nu%l@X}qMp-e_K)t8}%MuE^j(}&T)h#E6E zGwBPCe;oTF-h&hu;!es99j49Xd`bJ+cGpxcS1;EeH2gQ_i+V~`oU1R|<%mLMP-rGL zREH&-+F$fF;nR9@D|#NDJC*V}GR9rYzu;ez|AzN@%16JSIQcPH+nPz`(pEgC=%9Tn zOLPKS;vIP#zCMrBe?kZ~?>{XEUv44Mc=!jvX?yo=Kt0K%v$gB4%J>QjigKc|mZ~WU zdNp#m9Kg;tSPVEfT($v1!w6NW=F9{NusAA;S546%!ZPU#msP9_S_-g+C-PiXr(XGX zgO$X_VbYkvEd?mRQg%;xj$=tp^m0%zmWf8EJ54}7EwfezMlEO9EU!S7ObyR{MDu4P z7To~`B|oyFg`vu6r6q*dWWf2buixL1o{MZ;iIj}PZ&2qE;^wvaq0rT}w_{gVgMI5+ zXQy@oTkjQ;u&0UiTOS!FPxL(Yfu3AE{@lI`R&qYk90~3b zXvbF)c4HPe5lQPQBEzlAKuC_H7+btL-9Uk=uRS#+0 zJw|A04cs+np4-P=WIj$AdP=LgcLbr|xRKgWU(FK-+8Q+v%S2elsCx?b?@-{%&vInl z2>26=AH!7KXc6G4N4w^BMENv*z1g$S;IXgPrN60iCrt4%37%63k8&(ra=AUFB#YuV zE}vuexgXx$nhukGcG{E}ijF{KOR9IGw?~M1oY1Jyx?>v;^n+bhO!4l)Anp3;RW^=2dd1ubJcXs`=LRL0lyYr`_ z*=I*%5ac9v#{M6R(4r*f?bXb6*@>*@H|8__cvG>>#H;?ectcE<$D~?(M)z+HNH>@k&#JSG&tVdv(LYRp^Kvrxaujg;0I zqxvr3CYuP_P}_c56%Y03TV)^I)MHqquIF%qZHN3j%c=z3Ixt}K0s$x=WwhLTMf@{T zAiFP=hv54Mnm2X+c$j3ypqHPuRbA1VG{)GWLl1phDsJw&43ut)Gw?Ms8hUQU9nGUZ z$wchaZzi#1{T~*c^Y?%LG=WpaAQ4rM`K9soLiW&XGK0_$24k@=L0a9?t=#84kf4`) zA&IbtUK0LgZKfUt1SI2VgCA$~#b|*`v*Ms-VOpC>n5b7#W*Vc%9`rWBIn0(14hwXqy?17o6pvu?QbEvyI)tiOi6+DQ0D9@IgC%hm+JdYN#Y z=P$a1yc~W0qtSW$r`|E9xeT@U!S56jl^sj{UlhQiX_6ltnzk55J$CUQ#+Bm{*MylZ&qkq2 zNVilK=r@)g;@fx9Jh$50y5; zu1!5H1`_?lZ%6YIrBs{BI0?-j=mXbuKWY6=gyRithR8V%j?SZBt9+bXhP2)g@us@$ zjL4VvO8f~4^s%6`5+zAsf#g_O6N?G2rjOBe@LP70yfk^qZak1$tQ;mdx3oDVS$|i@ z0`w?;KR#i|@x^^TRqFAuP3HS+TED_?>-ReuBpC)4h}LeXoq9IkE0kxPTw zkUg=t*V-)L;@5m8j0&XF-)ZK|rH`CsI6g9_B9wOSD6!tOWdkG1fJrUcI&x}$SdFa9 zf#c!;8wJ8PV|<095pc9*5AX==n2b39T7IB^AG5~*i_J?%MFNZ6Vi%syYmyM2T5g5& zr?~t?wcKk6ZA8G1acr@la4En1p=&itiZXL)P1VA~tL)Ep@#wFL>mwLy}2*y^1yfBHNt7AIU!f_HiHF2*;FfO};3VV$9y=Q{Z8 zB~ccobd(+iwe7e4WfSV8^3N)##~Du#(S(eb=j!CJ+9D35I>lkoqbDu#nX&CjM=93aR;^bcVuxgL23(hM331u84)U(9@cY#m_PO&)~7?BMVY4I8shdt4e6$CAkI>-I;X zGz#)*HS^*WBFa|z{#Oh$xbp4gkS+-B^H*uW5t%|A>0as5siDYcwGcB)A4o za3{DkxNC4H!GgQH1h?QYxCCc#cMtCF?(TY;`+2{0{;}39X1c4Z>nho`H)>R0GC~Ag zZGqZ5K@Ego%x-J&>m8?vX!6@Uk%o()Rk4GBkL033qxP0xSzl=_zgD0AtM)$AJ2Ow@ zx-~?-wG+}MfToMzeB?t!!CMxT0f;7noiU?2#>%A`_`46IZoaz+>HOW87(&gImMS+}{o05q&3JHnW$C#QlJ(lQ?NO1FGhM)GB2IQ1cLsV6 z)Kxeg#Q01l`-IRENOr1kdUw8(j6;N<;dZN`^QUc|XX zQHb_4IB-t660H}{J8B79haXO>ouE)#!k9g09-UAxd7v?8_nMdSai)Sn`Gnop+=Tg} zK5D^jMlw*NkPnoV%5;+6KNR~9@=z@7g>P~<@yk8*d#l!xL)d~<0WhBt3^ zlhzY$(wX{AV9pdR+unWGQlJ!PD=F+)z`c~`rb1mLd^u8)>YuGoQOXm*ehiH#AR_uIYGOh`AM^C2 z4W9m}b{m@2b#uC`BXg-$THE#-lb>R#^>WCwHc^$l4=g+7xhox*;@_4^&>Os_FE=?` z!s?tia*sItL1q0wTtB&g`c@fgU$>*z0|?#A_MeSk!B_G>5dlVR#(=BDsEcr4mB^7< zN_jwKOn~70GKlso8Eu_Mi(+Pp4;ON=5UJnUpwLd%m(>B!_2ixz9_-|g92~1liUXv_ z&_i{RdZHuPA8yICV+=j@sm*_$1$7;VA^Vw`;hB3C5x03OxE+64{s_m5^N-rsB0-W* z0Bp_h|HU zw3J!ksNENx$&0MH=!YsN5O3k+qt2m@su^QKDj2Sz=-zXnsxybaIG_$g5?B5fWUExII++*}rUuwE|cF0783Kw%e{vWkw2lQ32SzW6D~FF4&~ z5>ba^Sbo7$OP|138fW*;%HuxZ%#D6|fi#{@v>}Ej?@yI_Om^oa%2!8x?vlL6HZRWB z#o*q=$VHA_FLT|GYYNI;@12QYXi7uD5$BJXg$g=!z+SRN&uzovRMw9CFq#kV!`@6x zIqG|tytI73sV9z`$`%iueKz8N4|j9rl|-_HK*q5`{?AL1rLX=~az#ae>lkG4-6HVL zjIz}ECXHN}djYl?t(BH*Z=5zSQ*+h2I=rP@)q?zzT`Lp8_=C#Xg3dSa*X}4sIhY}_ z(5aQ&dEXE2JdP)gR@Vb6uMETv^U?HRc0*%Bhy4XU4n`bKx_(@I3~&Z`a3JI(A0y7d zdoor!i`NxCpIdyJ{X&3L)ER3FR_YLl$7*^!3&vHYy7zVQl{x?^p+hp#xnB-0^iTF| zUstgy9bXoCepy7i2l90T{d*m|drk#A3XfVLz;h!pUhfKkMERoD8v#h1zm>J@7Ph^f z)vwfl0odLyAmn96U-3s@_68~f>K*>HI;zu8-mHD^M=435IwsaOardO}66VKSpG!Kr z^NK1S3b3hFMO~OeI?!EZH>aJIVJeVBq_&Sv{hmO4N2d?@g2I(5yU``Q(!BICNrZPx zGiG0S-Pkz7VhF-w!so-7SOYR$Af}pQFIP6 z<~Eo$k^WWoaa{PQSY0Of4ox2L9WxtVX2FWYOd^2kttY?W205p;1_@f$*U(?ZTk z;`G=wyZDKjHa}xDVuX8S&$9@MJvPDQ;FkNcY+~ztqR#J|X*AXx?Y&l+?w9x->xy>< zj&^Q>s(;=cVU_EwhBE^6cW|Gn`jss(!u{DHd{oF3@ufn(UnTSy zcN`F*s>Mm~U*zN5A0cg6{Jcc+w~ri2+_S<&GbAV4{Hr9Q^&d@#fPEm7fOYpk9tc{b zC_0AyUNWSsY(`t8V@!&dX6eA_Y?LhPQTKKR#|A>Gok!Rx{$|=G}Ah z)1rIX9sLBPfx2xIbRinR_tNHrcejzZMdgF-dPPH@9Oc7p8PdNm6}58Sf-a+R(R}DK zG_RhhXg`_vT+q3f6iC1AmIb{}o~{Woc%Bp;yiK9>!uqJ^Xt`mbwJI3g1NMZHzV4)= zr4pa`edY0^uW-#3>GNDo4!m`Hv`no9n;zEmk+jsTE>IrWiFlM`20S65VA$LbR6?dkcTsG_bsRrlHs zM9<#d?pn)P+r^pJA?#1>HWn@--D_E0U0tN?C0ZZIwdfKA{ewir`$}~0Z|B1iRbPO4 zAAI5iO0&$(ikj#{(bV_LJNggdMCNyYwbq{o$T)~L^>3} zS(1nBp6vYTzeIOw@}eaouD#DMZp&>CMRlM)rxAtsF6YON+_lAEB!Wqph%5aq9b?JtgXV$@izmzEIO^QH!ioLbs3V7@DSNzC38k zPKsHc=UVk3hLdcuZOnm z?Baa1_O2*5@?>g?4uAL-P8jA~aOoPfP-Bm;RlT*l_3ne?vus@fDeJbw#eBF!f7`}r zk1V*RpC7EDt&GUMh4KjnpVy&#SghEHqTT z#i+QnQNKURQmLpIt1N#O78BkImZO4Y=u!gBS_& zONPiyut5S}f&Gg7F1c?%ifm%6W2KniM`7V1W1BP5I&xd;9>xB$z2*5OqO5(BOd7f! z*3IUny(v_d79Eg_{F@7)N*e2*o9Ofq;uR+Xz<7H$@dqv6$IkylqgWwEg-4D`agoUq`0<7)P`k)6#N=8eO2$Uj6K{rGRv|L( zr;F*;|0A$~hp*BYlnT4})6(e>iJpZ0`Sa6}F+37S@{rq&Wc7_Cuk9+SpYlMkzEQym zrO3-~?dw>P=GwJT7`#eiR{Xbp5X1B=H~@#HOzE|hUk;$qxSvWPeFDm+n(Ex#b^<(OW({7z(8sYZ8?EB+3-5xzTyRG%w_#C-YC@lD z`p_zFfwc09ph7OaH*{s=A(UmMi$0h##`ZSq z8n(WB4yZCoBhu)EkrNw2_7X_~GAHbXO@6Z*x?%we)TBa%i3OW7HWAuW=2<6ESXuL# z0B-8M>01iYfymjQu}zWSGTZbTA;R^$A+bK7p$Lqn!zy91JtSMov^C~NNX@L?L)w8j zt`Sd`_UXyxfqk+mVlTyoGYxek1a=HKNnJEFD)t=Efom{;imgh(h7A%`54(J>(PAVO zDv3k;DsA*bVvD#$0aDWlQVlTnZv=KYN)X2^6!K{Ru<5NDrAv^Ij@qqj>2tDWHLXn{ zYGW^;mt8a)|HeS$`+vWkyMj^I?x3T+QM*mu7cXzzx$ixUh7c#1OjCiTDw4Z(tQ^(;hhmX#-Il zEVyKy`nd+z(YR=O`FH&wGVf9M973wCddz?aWU5~63(UCWE!II_yAZH#TAXuoV@O{a z;=8YF6Z_>X6+7R(Bjo9K=G3v0GrGORFAaczFJK>vytqb$qPB-v#-C*MQNh~u*2>sE^!99riz)(HxPRS27o-U6P$|(#^B>&s)fq0 z&%D#MwS^Q|p_385V5Gg7K%Fk~<8U-XBxYH)2 zzYV+9N;zg5biMgN2ikgI*weC}!s#6YA%Le2>;9h+nD9w25#vur@c?|?XAZB7&cctj z*)nWiCH8Od$D#JcqNXLR`hF=ur2Dgl9WGvkuc(M%9|aPy^#JT|Om~TXkY8#Z0kTv2 z0hIIZ{h^I{WX~l`L#MSJK^Yuwu4DFZqJOGXIGV^cwJ`@n+_BDrZMt9@zPLefjM4xs zdkr*BFz7!B?0<71BO{;XV9pv`U>gHK?NXKjC?m(WM-+;?HwVvD4W)+7Be&z;L)h&B z5gCU+idVWC{BO^TCNylIDG)kCeu;NvPI|o=#`UxUS#E39ZW_DZL03Xvs5CKK??#EX366Z61;69$$^Hj8wDLfr z>y~=H7j8h4F%PtPn5sE1N)?hmf2VEwsOd}VLvV|rx@J+8NtLo!RVKO900fo)hAD^) zHY`CX$f1492Ku;Tc@J>oXC{>=z8}ojx)V`;HjYV#-u+^hOd0&icbpKr9S-&1RlwA6 zc48efph1x8*Ak!gIY`QqBKBsVl-N=t?tb?~tmZ=>33rEBeDoS-0lec=(S~Qnk3 zyY>?8{jYJ)z?qAjRm{|pM!rC6~H1h z9IRvwRJ?uGz@vPB8Satklt!8;!dF_~r>hvTZ-pMRLm$xnE8_q658ko}UzIX4y2kX* zj1W7X=Cv4%1OdQLGbNb?JGQ0)3}_;3T;y{Y79kpe92c8W|91hRe`Pmcba`wN$>Xfw zAgxV9z3seR4o3{#T+3sg2>E#3MyW5j+W&_D&AR?JzEQ?F{aL;GW9X+cpg6kdVz&C< zhEdNvU8h(JNsFzL?oa*rVvJkQ@a;V;X+JJ9D$WT4)md~65ND(BNd|dkI#)BYq5lvx z2F0mlh5Sa3m5z&Rjt?|HiHpvb*Ys8^xwbnh1X#CtFaiPAf3#$o(+S2e$2jIy0zW|8 zt~yh_&aeX?B-Tyb)Ih08#Te+1?`joI-l70#`54%Q5a{Orw$+Qn86upsM|oT)X$d|I z))CpD`_Zl2CY&`2W+_rg2NSeQaO6<;8zTRk$vguF8%4F=bv_CKC3|@GW%!9#7OgY!kBMU;GyN zb!C5U#eBR|r)(V_mD>5GZ)V-TY345)+$fCV*DUy?hd(@NzpE}lDXxGd@}8h+AAdBk ze+$h%PeyvfvHR8kp|m10VJe?%{<3QmOT?K5oY$8wl`HFz`MxofyzP#LWoH4G!eP$>vspDb z-XIz3lHAO>v`PjI^IJ3)fs(3QLtRWHhf%;|{eBnHcA~lJ>ZMbDmY1lP5U008$tIU_ zIh`uc|12}z!0*wY5_ zHn9{9`cVBMb!Mx&0nYJos0}B1Bny$VdR}Ch6K67wU84q<#Tj}r9Y>>#Fn2LgF#*>+ zqdXp`llz^%`=F@Qvtoj7Mob34N#hOKgJ+@NZjlND8wjE#UwcoL;yI_a-LK=j%Id3K zFaJ`wd?x>CH;|0=T5`X>3*!<|1jB&-(7KuT>>R4HC1E~~=RL$Z+TTx% z8p4NRJ%I*T1ivc8m2wV3awaAxGdxf3Wx*Vm`lq@rx}MwH57&qI)bAzA@}v`mUV{52 zR_A>_U6NJZu^v{9&ei=vLsQf9WJ6bvk40Q8U7U@K|u|c;N$Vq%Q>c5#{0|D{B-Y@@&eAa3p5buEfg!yS)f9=fJ!UXA2^@ly;fjp zX99nyA-X-B2LVrSfbp2S+M31Tto@O4mFv=9qm4n^Z?+(Ga|(0hknjMIBb9A-w-EA3 zHDkw?-s)*->{_i~w1yHg1N1_y7Av%rtb( zrnzKy+Cn1J+yGTsWkZ(>CKm5jD(heF#9JaTXeykS5D4g@tj1hcki7J?XJ3XFxFps) zWKWyQmYEiNEW0pk3`Dt;C;dbRcVuiSAMlW38dXLQ$c3xJb z_9keB%geR2=?XQUoX#6px$3`4^WU#U41T=cjhV5hMd3T|Vc7Vl7kWKEWQ?Z6RAauv z!kv1t-KV=p67hV@ohX^FYH~X5xH@fnzAjcP@l}a)@*xT_je(c8uU#W?XpU zc5-vyJxoebXX2R1;L^1%DYZT{F#aq_VIRyuL_oy1SC$C7a-*%=TUY~X=6~JBU$;I+ zvEDLC2T+-`AFSLNIC%%8eP3GozVY#SZsh(GkUsbJc~@qMzU$kwIjiSf8hCcFPy;?0 z6>Kz}G0CXt!WHZlvXTTN;m|?D9QfhsxxBdgQD+)1S&gm-uQ~kbZ&RqS-AG)4$U|s@ zvX&mXs}86C%-lP(&{=d(mjPNkcLAr=zD=I{z4QZQZz@Vm2F8BL#ec zIXE;)c9ww>|xA17G2FGw`zGN#-`Hy?auleTvU|QHJgTBayR_9SG8h4m^ zWCHGo@e+vFoomN@Rhc?TR@PTFB;tv`j+c0@$wis-(6#KwlPFEL$BHG`ZwyXY@ zz3vZhEf?cgpD4D8swvDo-}Q#hN6ng#=Z(rn9pe1Dh-zm}cR`^eg8dsp+3a?EFx{-7 zB($l{cRdxW7D2F|BU5XM8kd@?9sk9^+r!6oY#fXB%y7HvyFyS?&3y2F`LmV#IETqwsZuQEq78?j^YFI!OTSip@` zMfL8cYR-uk93FhM6e|z_xXU^Ar*n$`kp;Qga1yl9X?i@~1sS)#;`Wd3dZ2_+-C#{k zwrJ%OEpyKv@k3@BbMIJ2p|y1$*-JMXe#_u{Z?GrdGYzUMeLlbb8vD0ykLzkK!Ds<$ z&|YYUtoHYqgq+y74&p4sggT3^AQY1obs&iVkTGt19k37?Z z?*Tltvei1#SvjvlR?yW*+CuX11td-`|MJv(w!JfQo6F^HuB~{c&SE^y$VWWbN{0sx zG${V;aX

    Tji4&`@6}q;Ct^7A8}9Vup6xLtNbbadn>w(fxa>AZf&OdfC8ciX#JlC zt<{j)vR$hvju!749U1qh4Gtr9fb`)+d2^H(!^SZJp98VBzLpLX8=HvVE?ZZKfF2ur zqQ@JeJ=tnmyoT!9^wIubNNDh{)v^dTWmD66Ywst=t2;?m3c4Ub*THj2MXk~r_xN|> zHE(jnpX>5;(S|2Ffy7miggPQ!?2y^N;&UK=Z?6fF$G@$3;deyX0^J*@VYGCvE1T>i zd1F2IW{GJ+h>aOY|0*lOyWl9^L<-dWy!RKhh*IAX3ply1+r3e(UR0h&hUZ&y7DdFf z6QK+>VK$;>&wqbarRSZTF~up#As>c4{CIsFo1Q+hB60VO0(z=&VcH5ZU}0h5yg5R6Rf=60*9ie2Kh^|; zc>8r>62cdcxd_k*%AOP?)zx8d%;RZ1*COy(;ZU4gT+4Io?;NCPGC(XW#r5^-!>CwT z)AfqNo7<#-6#bu$-Xlu=D#7NDDG|VsH@*D7Ey)VkKqAyTWhD*<)oZlCI5!HNSkQJj zZFRwwSSLlqIiAWfPh6I(n8F3D>hgy+CvE=9`V!^&eT8lXEKE+uhTp z7y~U~4VmS8d*>J)_xUkOcgrXh72|-QcjurR(NJ$c?`BAq&|Jh|ZiGAerk@=u+OzuN zf89L{oGC^mkS7@C*)ver@kXmG5VVCsgIGcBaF5vjq1VlRmO$;)nc z;3%%k?;qxD{qcP4WAH0{KdCI8Q-b=K1JQdi)4lR_AX?wgqmMBOZT-g2%r_*6WszV5V(7nCXG zNBZzyt$o17#RaolQzSvj1s>mMN5IJqfGp6j%Z3iNb8(t=Tkg)zY_3x+oZKZPsWZHH z%UXW_?m00z5x)=4FiCy%Z1Q-7f6JkLjY(tdc5wrnLOZQWmg_w(nQSu9X}(R9%|OKK zl|{T2)-SstbmfNMbw)&G;a!f4&>1{g*+-SnkgrFJ9N+Y)y{6z^VAzg!8x!bLUaB0t zR8?;RUu(TCyPmG`>k77iu@fy=IMsS9&~uTp;CoGkg-*SAg(p6yf{~sr4EaicslHZ> z)29iVIh}C6!%7l(+O%kaw@8v3Gav|{V3F1wpw6SBm}B>ZuBM#^EcCR(~%rRd}mDD<`vUte~PD%PqS!BW%i z5Yk2>IrLM6Egx>XthQveU|`&GsJVz-d(qnCv6x2}_*HhS+pRnZ{;j`*u235{#=I+oni zq+1aeZwF_%ELQp*rG6<=&f*pS<<7!3Leqapj$dTNGv#{TMBv+d`0E|8wdF!{gZV7O z*`F5jZ}$$&(XuV>*Asl-s0*1Cbcz7>SubDSPkn)b&>xB&pSmT5y7UXtYBFVBw*BdJ z>}*eQ(!JABW`F;40m^4Q@GT!VKoptE02dcXA@{%&AG?x;w68lN7rPp-zptvQiLI_v zkO8Yx`Jw9uSYIk|Yvboz%{Z6x?|x_utTtZm1)tW>UaGH(m+ID?C-9u~NV~QU2Yybo zU&}y98J?oPT>@!HU8*_|Wnq)|wUhiLFKZth4^h82dXrJv=6A-QktNygGE^o@ zEsMfXOgIX&y9y-_DlPePC{w&b>S zpU^un6#z5u+KAY2KmL}A_U=RvKXfAX|uHyd-a zXc2$tS*&P{?2vX99O^wwRXRVAaD^ZKtGU-}8JOpDXvcwkToV})!VcD164BM=2mG~I zI+O{lh?MWA;(dL*)In<1d=SXPf44Pw%;U7kyRwRuE0z()=ysLmE*e$%uWD#+Zf`7F z0U#gIFqM;I0IEQJcHhznokPq0H2-jEbP@KTXeq7#alnY><85y8vk0VuO%{K;EkqSS67O+id^BM5F8w34jF10~|qx_q;v7Xms6YF_5M` zZc)U45;UxASR^SYxy|U16L`&bPfF4yt34OA5rf_=rh=XCOqFAfpVjG1g|%AazB;n( z9!1b{0H~63yV4jPMy8RLH4Ew7tJ5X$Ctd}l_Q|KxRB5X0jujLHue3B;FEq>2Q__%h zb~Z#V9NlzglK>5fE(?h-<_7y;%xpqWvDE54AYTv6c-OF8xE>m)FaTMNTebtq2B3_# z!oC;K6j^VC&i1d`oF663-qTERn+*X06A8XebwbTot(+UrhvlcK2jW#3o=VwE%b(yd zhSv4*trq;qr#g{30Y7+*48%ox>q}knfG4uGK44_>kVDZz`$+A4wA9u23k3<@bS9VS zaXoC?bUxda3S3ji_MpV zb;HD)yJvqJ`+z{u6fDf6Cm@%(&K6BM*)xHp4i8?yw5_ZbELh2AtV|0S=;*B2bIqn0 z(}<~ZyU8r3zu;9=Lu05vSK@xJ;F*f~z1nf`TSL^=_B;$Se0LmWRH7c#b-uUBNW|xK zF%C;vjJyMX?)Z4UpC+i+RD!OBhK7cOPj<00RTPg|B3x6qwDd&Cb32nh=q#59toVPf z!fnB--(xpOf}a1>#d2kzSreD@X*W{_&@5RF8&O_nIzduf5$dl}_6s6oki<-V7T(1< z1?oG8IcTL|%GQ%Uj)x`I>(GDJ#EXq2uBVOR22K7$33q>wW4W)bSDr7Fnr5w%IJ&fa zfd)4@Zk<-dusb1|-z%x#_JQ+~R)mlxbrm0Ct*xXvB-9PcUJHYR* z(0E=bUqtG-hbKnex%QHemA@saG|13rKi4JjAUS$M;zsy<$uXE*h zPJ2EtkFI*W0*s-KeG!Y{3ciKLr@sE8qCFiQOh-Z-5+%;Z(_Ppvt#R9J4*Gg`(!h!13pF}IK;3tFI=1E_+28Mf2fkU9@ZF}!&# zBYS##JZ!E%UxI5h94FN@n;$5p@Ysre?EnE;{iqZl+i5Dht>vtlBJXBnmaE)2eN-PIm9 zNl6b*DK*urMZuon_Fb%c?$ReB9Z-(J!2Hprwp?s*Z)*e6Q+```R*N@GU$=S68|#HK z0WiHD&v=Ye2h28I%r=p&z~aJ z^loerLd+Hu|9XX?)abaMOY~h?yVCviJ@7F5EW(Fa(mBCi+C=KR#{V~6N{##l3@{{) z1L~w@dc7%pG=LMQW7AK7)s;8uB9QULzNbbF#d@`j%^d1!>#o}XMTWq+c-Sgv_3J&( zEm;Qt7IvWgR}=hk9_p=HXSw`+ zS#+++>N`Rx5VJ+F3%<=PqFBQhoyPFICDoeq=X*_Ug}e0cct)7Iw+ zplgO$tG=;uP}H_7xKQ`H_N3jmH|l@&%Lu9Pk9cTq+i_Zzp~0;14`DubS3phWdA+=})a-G6r2hjptTqq{ z{T@qKQgR>ABO~B-7+Sqh1Z8lOf#|BBfQlap7|L9R(^VWQm^7|GD#PTb$eWDL*P9lz zHc(UZ(v@h$lBKthpl8|q+Ih^F$$o(ZHuf)P4b)_WCJlG4CYIfq#CNT)(UXypeJ0Wz zGG=M3^#y9Ea)a5jRo2tlRo6O)ew4wiyF1SGmVtl&z?aAJ;g>*7#Q!$e+cbh< zD6Nm+&3MpaeiJojv#mR~(m#St7S7oor75OIC6;iJ(bh1n@DN8eT*a_%Wja>*d;cO}v}zGcj7TRc*jR zsZl^YX@pn@qv!02XL_wLs_Ls2i9t>5{uIZJvY@N3N{rMm13 z;pd8-`Jave)6LWlI!8JRHG?CTRgJriS-Ew5ck6F3;AQM+ZN9_P+5pEw%fVhkbnt{9 zT@=&F`O@&Z;NNJfI=tgHyT$PEJUSLVMj?y$JLtEff>iWZ4i3Og5>_79HuL53fetmY zl58?yI~ogi)ndo<4BD7jB|O#wVtfn(C+}nGt$)1WnzN`p6wuAm-{D2pJ_fA{X3|ZI z@835Y9e=vK6jxVUOeP%5x1Bwlh9#~Wm1?IYHX7%cP<~WfD=DzAfnwA%DMgQ`JeHz< zI|ybcg@s5%KaEJ`=&rd^`c87C$}tJq$dJNgiQ-h{VM;k7=lgS&*@8QlWNv=1F-(6@ zCL_z1vlT=>XGtDf2Si1oKqjAoGo$*0yAk8pBr|dJ=~W+(zh?#9M!&g2Jwr8{$gNyN zls*1~WEJ0P`r?yjbAR86UBKD-Oo+xygh!)i2F@m7*D9d&Yj7^`@^rs#Em-7>J%KVddvGTP z62DCuO}B<^GK!hgd|q-}b7+GkDQD&~gzkqd;> z{`u`tbSNF)M_&v(t3hCFsu?9NMroKw5TooEZJ(2l|EQerkuYCMmoQrD5PAEvFU;;e zkiawszy332biz*16gq@U&~HP=v{W^hL_Q(t-eSY8)pDD~9Kc08m}Ajqj;gvvozT4U z8o7XFq@vNh*j>#&kvEK2h=T9i0wTPmkwq zU5K2PWJ1lCF5T4KYV5ERCcN`ZW`6y>q>)vN~ID zu+IB0sjj)rthVVdG0`f)R2J~XE^ep+0R6xVs(8edV+(HjiwD4AzQ$XzH@Lb6Artet zJ(1}~nwh+9DfD9Cz-t+Vt*9>Z%1Hp3&3^==Yy7>yMIMb<$3q5FasSW)yq1c@5D9d` z7>PS*Of4WtQh!PBHH)JFo!$9*HmN>e=7%CSdZ;%c>lk}p)kfuH1H>Vp zU)xjS2c0Zep^2@Vx2>Wty`G4v0Cf}fSXV&E<>TNiUuqs8XYpVaL*Y6DWtnbsnsW|+ z?QHRkk}|-7Z`dUU%v#+Hmy3)%l%}CqSJ+QpKsc`hBZ=}ljkiQL`(xIvPrv5+57{C> z;N+K{{8P-W-Iz});ftkB+hJ~`e$ebBE+P-|t;4jNs&2;ma2qvnlvCK@3jmm4BXmAE z_sLaE;}Cc{3`Ojl!*VVJ01!nKKwmf9QvU}+>{9K|9)FAr$9UmVo^t1pzl;W!R-fBP z9Rc@=-(-U~bzktfH2TOJ<1#*$cZgKTxbyZJ?vSs^4LZ@wGRA2VQFaQE504;uAyfSX?89hCV?m4U4<}~mhoh(J zw{!=#cT_;iT2B&U`%s(@7VH-jA^>%HGpP&jLp6ZwypYm2kK$!XgJb0Rl{eyICtcF2^JdR+NN4_uR zx?m=0`!ADhBItWGjJ+`fk&aD!KXoYS`UMd48J69_^c@1CHNU2&`6Hj+(s4qB6E{ydw^hZ2xz2=>~rw8zN@gYP9?Twvehapo_#~&98<< z0GWDw-3_Rt3GV=~+qk7gYEVYMf~u|L(;IL$u6aJVJ0rQY)>)H2(QAl>M2?NhX#bQK zAa9IGju3d#K*@N;s<+kV1Y{Wi-p$_q0uv=zwD5C9V^Uj)OKL%@=Fj^|x4em%pYh2T zGDXr;g&5*|&q+^GHk?@ms5UZy*{>e`h?SILT2%5S0oIuY&Oa9u<$q?i=sH?2SuNtG z8g=qZhFIl=kX&fjiarNz?+4`74%-Wp6Z9~H?w_=1)NT38Hh?_0QLD9pgG2%dSN0C& zi@XC1bVjty#$0bsS%vnTG-+lnp5>4Tz)1Hq;?Mz1=>v5kdjEpDgF7MTCzV*wbSIuU8H1)lA2TrGVzp;r3PhWLMWMMe z;Y5|!CoZdrIKbDc(wx)b2Nc8nKHNjr3IO#NTmpiUlg_5sKPJhYv4V}^DE4tGNE-YymwStjzxDK8218%&C)W~>X7lVUw_@oIT z8IzanPd=s4FVWCM9NIrKa+o?{YWKNfZa=NRLiW%jM%iW~h6e^LW}2}Ir=Xjs_mwEua)A(qy{EznIV!2z5~AF6I!u`C`|rIgVnB5a z4n|ay5^h#qKgzLv1nzOk=;QV<3$q-6Nlml`?cf41NG$1ZtfSu$J^&@MF-!NJTT)*G z7Tfe-lrL8Q{|Hf~>YE^WiIi5lDSLmecz_zUn%j3+&Y{(ASp5NrK!>V~r{l$p-(*{> z-s9#@2=rp0av!SFUy8XGQZv(VQ&NHzKqV%BF~!xn zN&D{t#YJKea_<5jfM9|UW{U~wgHv`7kkL?DvFBJ*uAE<1 zLEWO@n1WNkjLN>{Ad9w=T zJHkrmKvRRhdl6e`=eWmd-Br5%v3sWQlZ;Xtx8uEpI-oei#x)oL4Uq&6Myr_;EYu&v zTD86x^9-Qt#exE=reRHnhQHuB_8}u_>~}hjv$^6vx&CDzY!-K})7M)VlsAqNTq?9+ zoU1$(t$~{qgO0)wp6Z))$Hh6>ea;^_$0z=G~Jn3#Lk<@*$H_FQ|BR2Es zh(jz#>VOSGMhK;9VlQmmSf@w-Q>{dU2-UO3!Q58pMV0}y;tiM4v49LaZ=#sPxmlu* zrrC1Yq*@igaf1+?1jG$l1)56=mNATOrZc_FebIAvymh#}8gdx@ z3%_db>2WD5>nJ;1d~g6MF1pVxlHhUK%jyz~{8=Bt@V7~ijk)yGFH9phvw=kRsdAh@Mm^nk0%kPjdz$i-Ihspn!d!&C?$9FLZ^AE#m3$CA4e4E zLghAKe|#tjh)DAiTi@1FD`-UQvm2V@lg}!CKhuauxk(TpOR=s{QXaxHVbzJo>2kIf z8!}txrnOQHn}9lqf7|}k4oyT6l9%k7K+>x=`iDf=Zm6YBZ&(tFY;x)Htjdio)TcJF zp%x1O+QfKC#Zg=-tE!%)URoJKRT5)+vzYII7Y0xG9zE*TXg#4ON-5H>Cm?{9!X#n=7UlFVnMcv_;hH*6EZg zJ~RJX3CD8YQ>mzno3A?Z!&cdD!bP0Xr$9=wP}lttwtzs7Ny<-x_wtX?Or_Q_z6hG7 zM)X_GL-AQD_laIbpHZn&E z%!X|EIofa=@y_I2Q?uH|H+vMQjOXICdVCw{&(K@Gw8=IUm+gYjoKaN^pFT9+8&*0U$6MVs?hr2@w6sqvoTuxE6jV z(fg6lkRX-{N1rNaAR)J#U^BuYzd43368@tna?z(|zvI4epR$k5{ax+<<~{-+z=OMc zdu<`YFoM9>>W2`)eE!VoTJE+yOcu6s(}wS9qkM}=$0Jm6qn1c*ZSfajc7Mso z_wY*yJhytYan+{ot5fDVc_6Qif6uUp4X2TZY%k5ykUVDI*C|rX2PO>pbcX?4CK{W? znPHS=$IEmbqpSIKZysK;fz#G|sSNvi-f+kL3ccHt$LI4$MlFu#__JGC4qZ&bZu#ZT zoxeOpPp0=VQN}M2>AG~aRo>Ffa*4-jnt@wByHQJTOZCM<>09bu?WZe)+mrb!Fu&tu zb&zzOwfk*pVp+@a3XGn&Tt>uD#suoldohp89r`k`+p6DvhWAwmPb$|-KFGYY7bG9 zU9L0Q4lk`&D(@N>Pjv3CcR#hJhzr(RUDJ4)qOl|Y{EMuE^n3!M*BJu0QS&*%kct!D zk5z+RVrMhJ)gD&LP1HPnc?Q=<(?J7=#igFE58l}HNyN#mvoD?~po4nnRj-;7hbC&` zgOUd%Jk>_e!6K0Nr@QB50(_=Myd8auSpB&%6x;0x=P}72CUz@z{M-6tZl{B)SHZ)XGR-z8N5lV*s;`QwYiYVY!66WWI|O$RZV9fzg1ZNI zx8UxsJGe`5cM0wRHtw)-cesml{_o-T6Js#O?$uH&FuPIy$~Ax8hGhwqmOW*l50OxFw+;~5$Pv3=h{Ia1g=tAb;sP&McAodftPe- z<6ks5nGdxjjfTSXXU7c)%7>HRZs@R`x$)(DIeZp7L-cMAr@3sWl%_x2ok{K>&WJ&U z;W%Y|(qWh7Zq|x?BJfe9{Nh(n^)qCJ=@^&z9(QFw#6t#t@NAeyG%~3`KWhPnC(iqN3x-#TAK@UC1{bi_$XW zwh`wGb2AcFk8+{)TMzzL*Cc_*yMRO0Dj?_@Iybj)XeP?oe%U*v@$(x}z6jvwhNU;u z8d_qrdpB_H)g0O^RZYCq*VjAYgX;{Q6Jl1>8XQBCS2GeEr?9wA)*3<6a*N!R4t7Lq z%eci)$KU_-(@caVcQ3cc7yvrJQvL?C=u^;ee4A@ZvC_@%wmh7}@ z9A5{`BUtJ`_|&-WAC#_tYO#Di-ODE!ccLuW?X^X;S!xMdTh1%<&u+h+SMz_7zKAQ* z-T0EO$#G0Yhe^q);|__6XZp6%}9vsN4ZPgSB+95#|4K2OM>*2ao+TYf_!dqt^-fKhFjr<#MY3q zYh8%YDfi|Iar=im%if3KVI%<|{mIz45R&Wjay*i@M^pQL4Ab`mTqJ(;|Zc>XUWC0QVFzeg( z(I@{X^T?Cfo63O+dMIW3VuG5aP^O#Drb#<{%r)JK`QiDMmi@8LU4?h4!@Bk}UaTH3 zBys|>DY0koyh=GgZGtESBd@Srx;;)%K%J}fGcL6t5Tv=g3Qsuu+j0JO%{^e2o^02f z-*Pf`BOv&L8r3XI@>I6i75~&0^#(L>A|g~faTz{ntfyT2^Mw4ycQFy2dGhBZycfz~ z`H4C_^~3qpX&UzGS++^rF}}~%F2Smt;b{R6sJUetg_TnIdGz;X<}}(P(v34(UW@7I z1!))*Xsa*o()R-B0@!o>r}VM{a6(CezV8PR6l_J>US5#IvN)k5WON{DfJ-^0qWvgg~)=3P#e%efg_=b7{*U!`nttM!r#_h#zv zHRiig+t+T^9$CmQTxBZc;p-kg&?5V5SzybsCFlJtJL(aaf*y@vcPvP2hTCd0vhL6X zW*nXHUsZE|=O+C<%T)hhmaSicjgDEMZ*qt1_-D7ioEc^yI8^&akxXNd-g;>KnS`2A zc!I{v?LL1jF?kfv=RG~$TARDfGt9L_wvP%bQ_~Ue!xn}yjrVr?`xaKoJQqRmA)npZ zpWazZL{e>H6WsuQ|L?Bsah2lfjSL-ozs(q3b6L|kuY*%M^Yfzy4;Pz!vToW{tDd%O z^P+Q4YXa)RQrEbS-Gdr%gb+iR+P{HxAH&=c zR=nndHoWfa(^!2g_!%~vHe7>D$F#JCt~>nwd-QxYIG-kaQSm<=d>}^^D*dZAl2CWL z(EMF<=?9H30qt}jP}kkQqo&62Qjeh6%4ut5?~>H&=!$(g1Sk|2vSk_0kv(z#bd`5| z&w%T_5S#if9rN|bQC_fI+gE(Z7w|fEn!jTkkdr9-56bhW$>4g)3rPD;c9G@{%4R-J zJ&IyubCCBdryKwFLDBh=?Q$cQZ|~Kq@3VcIYlPb;ic&9GXmiyQx>iI zbJSOZ=}_ByLm&{i*&vJ~&{n=e7I#x#L%H=(kXGV$}p*fWzR{u6xUTRsac{pSGmE+wCc^G0*crmnOtyWqpth*>QY^$63J?AGKdg$_<{}ZYd6tnE%dr*STUfxe6puooiTM<=34)34;S`@aO9?e&V{Q>iSYQl(Ha$ z=gOx@uGD@0Fu7qD7R6B(Eoq_;=<5kTQac3jfAh0am&?aZc72`D^{(5|j|+)*zD!`% z^=Y}JML2;#=#D*Mq5O_AGc%Xln%1~P+*;4`3S1nx(UE!|{H>f0B-B=qMGM>ekQeRewcI9+Qj zcN*+y_vG<)Omx?JDvBZfl8O#`jQNep0=5VF3WqlW-dQa3TBBMpKOmA&GFv))iSDCymY@RL=y`K3WvRbD! zV#f7kU3nvHE!*nm_v0h3t*=GRSbpgVs%qVThGojR9B~>gr;p z66LiEjpf$|J7GL2%7Rbet@|QkDp}}ZP%@+938?IV&-K9m-nmfwZjYo>QKa#3)FG2?A( za;z&Fx9k1X9m%C=^5Lf45HyK+qeY~h^uJ`(<+P=AVAJxFfFYAiuS`XQD9cxTDyLssDA$=b-=i||< zRFgUwr9D)9>)%?y*=FoVoggNx<@c1vPQ| zW1FvzjLyd_6Pjmlx%TV1G$lQw0Ts!`F8RiP=`)XoAJoztWqyunaT`?`0Tre3@6xh|2*B@-^K z)^cj=!XC9Y?zuPc)Z1_OLX@diLanZFcLehVGolXvmTR>SZwiYUd%B)}2=XVcl6Yjg zzjs$rN!r=*yf*oxQ2w!jjQY38r2OS}-feM$28G%0MGeuoCM>La8X6k5xOB_{YsEg} zen?#{v&UtD8FyZLKXlB*(M*HYUV@=y9q;D;)`9X8r!CvWI!1x#ydh0KYDVVr@^HAr zK}pc)iL3lpwRzyGc&AjS=|h-XaGB_J?bJ=zv^gIIoX|Tob+@GUAj|s;7J`%`1xSnc1yLHy}x!Ykb$5QK!rGj~tE5 z_0}W1V(<5qanDH7VM_dSa{)!QF`Rg{?oM?^k=OD(w# zCD4B4N*u5GJycyy2#l+e*znGdjb?`}YUpNKIqigke~0<$sty(X zy!674jU0I)r)`75$SfM6aR;ATY{tr#^YIw7G4;Cj!yoskLRSd9tYeREH}I$JB}ui) zdo~nmI_|y4;BMLp;>YWpJj?r7pm)Gf@(%UXGDpe17wfG^3*JoL{0n}SiDc^g`q}HC zW@G`8{ypo+E-Wh{wvCOAgvCQm?|@T3ldEA1YiFeNXO@?$^8mH2>K9 z)n|O~77G(I{;bX*t8T&usJ3*#>z5b`sH**#k#+_ZemB5!p%A#^qL9^JeC&J*IYkwE zXhN}6V|;puz@U;p=+HZTZGRz~ae1&h^N`fd?lj@@fnakk=hx?QX*0b7&5XZvR2 zj-9UOkcO=H4@^Y(TYk>x9CNOE%eC_?F5UcYfwh9rp0GXzD5pgpw|zTXmz(`9>R}1i zMBiudoaM{Y^TKaxo0Y5i;Wb}@ijL6jfPN4Np z+-E>Wb#Z&hdr9^lm4G$eX>?xCZ8~!`RVZlYD>QuP{WLrNTALUvt;ui!v!y?XcG2x| zuY}iygR){NxfDY^G^OCI_5OqMaI_lR+T+iT#nmG~1%ew+s{tD%sa`a&TJJgGy6U#k zLvQozdw%WZV!HPuYUTCZ%l*;>xi}HgP7_1?skeS7(Ng2lLI(%ib5E6!(2wi`#2UH4`f<(Jk1t>Y0hzbL4*8sC{>Q$xP>NtZ8Mw?X>K|t9+s9 ziQ9t^_WN=gUXka=m!*S9Rqbg`eleL8pFd|JulBq5Woj=CPD8iA(}E(d=a=*ft%iMS zx6+BFticHdO`bW#{@=qBGYTIhh`Dryf?|12g=fgEHe>2CY+ybBe)9Gffe$K!fNI;1 zu@L_k2B4J6xirCfkA9S;Mz)ptgUaLtvOT?cn3iMUVB2f&)vfPQBSMrJgous|AORhJr5vhyykCS zJI*(0mB(`qLjZmtFeM~ET*yc3E6@H&$&Nho!6!X0&b`p7t&Ufhj*h2V)3%k|rtK?7 zCc(?65ih|t9Do3Py_7%lTC3X=8}Uq<+N7SUR`jJRlv~U5oHx_6>yL@RiHC9?W1OzT z9|yS(ajbaUfLqMB6bGX^4~8#qj#evnL=4WBF;Fj`_*{?OM^h26N>C2fY!{z!bgD`X zJ{3@0LyAly4)A|og#tF_65uWYnQ5A**9oy&YH+{H@m;GiH+qcL2`2I2))`Y;pXz5U zNIY>n9AOUD^*uj$U)A(-aah!%T{%1)j{0)@VB5(cvGBv-VTKK3_yTNEtP&wCgomE(L%3rpTn2NTfgC1@+5D*H;(T(Vl0#rV@^X(NH zwpBLHV-sEvAFn*+@|>hHgKg*9Y1#2#M`f%4T0Y$yCnp5<=hs_M#73-gh}Knn->t z(+4_a62z&L%d$jYA=Nn7k2f-r>r@f1C?UG1Y;CA7d|%X$N4G24dO~jZoMU}s^~OXA z>#q4NoNGuw&R{C9NadrQl*!q>fSwHn88tt6|p4oX}E@KcBR#QQ?eBv$VpgFFH)dLwWA zR!8sfRQhqDC}IDB=fnAOBp4{K^AE7oPpMtp=RWp znP9hYMdWtYz?ebOe#^OmTb`L%A0rPb=PeMb9ouZ`6Gw0vhDnvGrrqhlb1n_ zpp|U4lG5bGP|nnF$!X2@%(7YGDc1N`9sjY}53$TkDSOPXvE61gyZSKWk@GoV1nsS? znD#fzJx@^Cq@${~S$d0EpAwrTP;HD-)+ACD-d-@8)4Z(PSQlGOh>uG@Hcma=Qj4^OOz@-7=mIZhhsxkH{SCJbn(^wgKO|fLJhaMv z4#OQ_XYHaua?weo_+=BUn@gDZ~q*L)Z6YlXL+hj$Zv0pj8@Wft!mZ}8RG!*@C ze`Hp|nH5L&Rc1ZSzA$1*a+i2Pj*K47|M4u&jQ!t)9n&4xK_XCjsDJQ#G8 zHf!j|jyb|?EkV@-r;Y;s*p5>AK6NXSSAnDQE_(^IGVDSiVP_UN+}IspOK z_`eQ$iC3Gd?G2OEnBh~}H`#tg{+Twm`3NbZB%mBN^a}*Z*2TuANZ|;m z$eu`lM$8LpY#^#QMV9(ohhmmY)CArUQHq#bgmulZ&&HU{>gOCw_1fOAw;(nNJ6Q|9 zJ|6ICG1eamAtILl;{rIlEO03<{|&5_*!}wrg<}K8!Pf%}4!0y!Mk{ftm8aDKQhgUH zr{t9M)LcT;oqrOt4jo#h9M;Vwa2ehuOe8TOQ6Nzxm1ZvcD@>kNF`ppCMPDPuX>l)F8YZ&B2AaLVAhHyif zf$_;Mug%?Xz%AMdP|(oSsH#==WK~UaZ4a2j1Ii1F&=Em%H7$4gzmi|HD;d;Olll16 zbO-j8#$#DhMKDB2!<7!0aS>*}hvodUXEcz5o1zAe$F0x_oZqPtUGjGbk=Acn{>hH! z2)kyw{mJTQef96PB^DkB1!ue%`(UU6Jfx<$9;!5n^|P}xshu~PY)_svQJ%B318YMi zn|@RFSWY%Q&E>nN7Y!!D--p9&)H~!ok^JAh;~{D8rrToe=nR_m2!*V`vWG+B|)->asM@&jTr*^5@`pkEAXN$RqAsbOG4~fmYFuA34|SS@fOp{Mc6z zw2_5kWSb35od4sA!`wv5<~>={ISbaHWfXo7m9_ot3>@q;7>hKQfI=0VbN@PDS*`{1 zo;|DqLGk;yo7_JW-AZIAZ}UFX5(yy?oM|pBoGvQptYeKHWfzG$aRA4le29KqFfW^eIsVFenhMgBihE2DjKmD_>zB^P!te_Hhj(x4}@q22?t&@ z+YF|Yb3f->@ZpUJ0#V#n@JgA;?Y?qBnFSxtc;Na$1ILZGJI@`bwoGL$eSo12S!UFL ze?PHh*utYjH(|_hi!+)JlG24i6|{Dv1UENWPLZkOQiI8aFRo#f;os#hBg`#nkli6~ z9Qe|rTMeQDvtx7Kcyg|q<>0fYxi;(Yn_6WTy?sJf&QbI)V8^4(Xp+wmv}dEb(l#FI zh{gYn< zp4wBCCbX%Y*~`L*tX z2)3rDf-?Jrt<4k;^LUOS3`}Ey0VtDOo@wYHG|sdr9UIqJ57b9i4B^p#=*?&zjR;Eg zgcm+pX)~FZ$M=!j>Fcjk^dK26u2%ex5Tq;h)JH_Z7Uhwdsw2UkA4mn)vScO0A!q8U zPbTWeY1AW7{dI>G)R8f6Zhz9Q;-iN)!@hCj@77mPI1%fM0V&V~R=+E(MhhT)^!~{Fmf%J`KXvVhDA|k{Cc|_fS#59p74caYlJL63(TDc}XHSFB203@3oXe@y@2D zhIZmbOZM#z4TZTy{BZ8@=oJ3H&p{>jQaUG;nETb!Hcj2sLlmofXlS@V;A}&+H%?al z4{)2$a>2>D4G4u7k#ifNIbXW6cChNmhqKSI32cVeXOfHbgfI~xn}K2HTZ33gcW9h= zB%JSx1PEw%0if{R$n-+j)`n%>)gv1{fV5AR>hkLFGA-Nx*e7@cIqBT%4p~Ky+-~YK zzS(fAVb*_l5L?&$dWwUldzrdv_CqLM9aG_9>gR0WYBcw<>BA9wrJo5m>4=%5$pSr2 zHATBlFHQF(D-`EzQadXA<&AXpom8Y)^&>H`xqP7f{^_Bb>81J@NIrH`*7DA#jR%_mLfMWajkbeD@BzKKcQ#hg-zta}~1H(=`tij%=QNVH^Fd zIgBodpE-sGOEM(utO*+$G}P83I{!=55fod{Mm<4e;IDY7^t;E=I`Y5++Z$&$*0q&i zST%V>4%QCwLRA|X&e6t@hGNXNs8jz7{;v?IYjhAlIIj_5C9=PzKJ?2ZC?P{nS;yc< znujy8SNa7{Gpye)dE&^l%|0wHADX|wrV?`c#03#vvlA+lq$MQiX(@+UjM4zneTh8@ zN>fp@y^>!ftO+?@Ha0#ixRSp>-FS2f?t<07xkY%wNEWqpLg@1Bu?NDokpXB&v6aS4 zJ!02?T+@PX=6@w>l3Y+t%DPOB>-DFrSeo6)<9QVCbo`>Fy*V)8U1wE;=3f%w$twLY zy#APVvV=`KdTLNE_kI})oQ2_l0S!}?rFrr(nU`sWQ3S%nbLA1CtqW6q(4U*~dcHIB zff+{W@SIPbGUm|<3d?tha9&KdOg&WWy;SRaj%1>KJcqvfnTO}5>+*TZ$lN-=DH=R#p6lx`kS`YOH^Z@oa$?uEzAhN6FSylucYymI@S+P=2e!l( zj1gRDS(O7)-?@P2V7%%P2az{o8NA7?*iMjDl()D|H>11KY+#rm;_Hz+ICIW0*$nEE z{%rq1bD`ZB@69EiPS@KTm2sU(gMKYR%N$CGauBh56nb12k0K_|mSysH#%x!4=W_r| z(Z5d8=;^Jy55z;S73s>Nzc%`jT#uf0; zIkUkKx&s)M#?+~pw6Rg<#H;8~?G$t|g3&s)jMX9;a?9eQo#dNv_(^}R;Bz6Wo zKc_9Ms_LR^?c9uu#D-h0D2ohdSxU#h=zgILbu>`wpVZJt4g$;ywhisLmMA7+Zibp6 zO=5~(;?9^eqK%2&FG9-5?jpidhvoyW0=;A(J@oVAvG(vjQkm7$gdQp!gM_~ZTetJ> zCrPZy`P`zm2`>DO&FzcsJnlirtk8lvl~n7ub9$qa3wym?R9U@LYKR#Sk5te8-@H&o z>8e|O*&|Fn+^3!U?E1qG$5Wk&>l-FRSHMlCsF!1aXTpa@f) zWgm6lg|k8=vnjVA2fDeo<|AiGgog0~4Aj?yw1DfsjiQFljb9h?>8MU!Ob{JLo0f@F zx}ZYw*4-`dY~bwx^dP;=f%BLD}L* z3RM4O$KAuJ2iKb<_5JYLzK-6+de-ztGWcHQiIj8WehtYwi0;ch%b%FhK!RYEOGOTx z=frZ+(@Xd;p1%BM~HL?bYmCyCF2w+;mZs$P4}v zo_&JO`8mPdAL;z65Obavkw%z&>;R<1ddvSAK^DYwS6tQ2lG2f5gq0V$WzT)WoYn85 zUioou?1^kfL)AGkyF;ppiYT~vch(i$6Ffjr)3o!MINtkTjXJQ40{HzC(?FV`mLm;h zo`gdaCNThKEU>4wwMgFj#m1v-mlfJ!L6Np9G_Wex5qY2_HGB@ z4~e$fi9a!)nle6Vc+qom>%Fct(h)Nby~3i zLr0jq53K}*s{pl3)OjKX_T3ui3G(^)FR1!h)Dv)5jPqGs-1%>|RQvfa(o`Z?D!W|M z*@1*@Ab}YbFoaaQco0%NcazyM4K5>bBeAY%T6`(pgWA14^I&lT6VBrx6h zj$+zlI^SdZoEG|8mrp)nqxPhOh2M3K>@<)x8i6$!9`9uawxw?FOlS*I zT;C3uiRJio{Wq5zzw$&*F^FP|V*pqU2jIr=o;|2C5B$xW73@}?)fFaX9hTmT^)nD2 z`S7T6LYpMWd}wyT^NH?e7yH4BBS#-djX^PTU=KB_EN7^q9@JB=94PusIr*_H*N>Uz zEu*@AI=AQ8A5SZ!2gmius8fuB8C$9CDJ@#37+(M1;i)bvFiUj!+W4#y*;P^fGZboE zTYI70cyBk!U#gd_(IX&uXZqNWQhX6w<}+{sELItav9&7|5DwuDcYyYT?BR6azJb0I=px&}jKl# zYlQn?L+@eM6*H_c{+Ouy*$r9RhWp5jVssBXWWgLR^-`G5XSXRV`|h0W*qRT$A19pxE>$#Ew%po@p!b0 z?HYDKUh~MW;D*ECS#~##l9}ioAl4;vNMB!&zk1r!TL@adzyBW>aEUVKf)0Qhuu^Is z_B&!P=u715e~1BavffQ_{}DpU;kL69O0RCJS_MpnDyZ|8Bsu+yOr-*D1)9F7+C=5v zCb<|bu7FLVLPw}ke;r( zfm!}tQMn=7wZf_TYv=KVA&gBBE3h7Y?OTEBp37>6zXX?F&JTDIAsRj6@hZB%sjCY3 ziY9l4q6>AU5Or+SR6kJW^WdJDiUUOW zZPFr^i3#uGki;F0J82anTZyG0>^Je!JY#5qGx=VHaOlzyEjuU+LYrGo>ImrX9W6n$ zakW7!tCdRQ){x@@g}l%JtRpip!=p4}+odh(Q0b?Rh%>tMiZX?*f_!gfP{o z(^vzMu(Z$iP=5YTPo5_oBZ)c5)Ra_l5#5m9qrr;Jq&qWJMt{7Cyqh<<@M6d%{`Uab zp+gi*#r4dU7y*SjTQjIs`s<~rznuu#eSCfN znKCq7&A9Ivm~2hVDYTm+DbdWgR%AnOzVh1kVoH?*lEu@}86*T%*8#5K{|49RWP!J2 zn6z0)!J!k?fYoWRV0S-vyik?l6h8Y5a{1kATt}BSG3f{ab=11W-v;_;w9tgu8VC1O z6mo%3(OeG8`S@7T)xFEttC@=*VIYr(G}OIOQWlS^sp#aFxQlw@DY6-4hL?Exl@>?v zXSoRvmj@?0IOcfbOCjkY{qZrMWee$Q!g~gbh;`}eJpPT1jDe6@cXd2nRDgs!J3D~b z7s}wopmFniQMniHPZ{zH0OUvwciDX76??t<_QTi8WQ|Ih$g}7x*c86x)!F9PVrYr1 z={6l#S5@qGWVk2KhRSD?)x!**M<(&$oLEqQ?aT9H-04(1pSe_K8k>nUXtiA;3cp_u zdwWla>sdo74k%wqiC!)Ea<@e)^5JD4DD=m(cLW@`3<#@z7T4Tg<<%#VF`>S6XM|EQ z(y16Y0H2#QGs)gun8djiSGf^pnspLVyu-o_oAUBv^%kqNdCN+ahwqJ*IyUXrkWES% z+|lO#a4l0qTq7`&SCs34CXBNCZn0QbFIS0~CPg0SIzTCJ%=FhrR{2q#<#-HH8^SPE zpDkz+Ik!3iaP$J#ueY}-gsaZuB+aGXa9wIG&Mx_a7n4z9MHwN@1}>QfKZ)I$C@;=6 zpSh`~hSA+tcj_#m>ey*Lv|eaj>wIUa;Lw+}Cjanj)?+mP(@`tu(`Vl)&(|B3BrTJD zl>0Jue$Vs%6iH6a-<$LC@v2ufbxvk$9q{O%`XRkMj^Z(b>GaYP#P$^O@()uB_FHNE z1QG0jz)GXf-5f8G&r!;i(J`*rcfEs$n6Nz{JfjsCmv4{q>}ARs;w9y)Rq0+`6oGvH zUXXSGw|X0>+71`r_3xG}#p33`XaUb;4zlV(^LKS+*!18g+~fz5Ew zAh%=Hv4A7DJ6lhK9;2TUsQz3(S{FU_hi?XF`R^gT#M4&r<~MIa&l_-%?b_=+Gw{0R zv``4@{c4Nt>eZo^>nYdM_F)CPQ@>X1{&HRW!ZlxOqwU%%Q0QIyi#2NbC391(F*BoC zeB=I3`dk^G^O0!j-x#5nV((bpRoAuWZCaEDXZcY;>GlnHV?H|v@d@nm^(xvbN)eVSx(bZx>aT;%M+p6fI`L5 zwR_jjz_@b1k;(J6`R3}auBV19d!|A*9F*$OUfA_wq3V99plRLFJN%y^z>rrY8NS1p z)cZd%JmAejWL@GL1kfm8VcQzIcqcr=t2L9`y1k7dk8!)B8b3 zzWZU8zNsS+{WWGyD@|d^8Z^C4wOEkv^6x>27=1gD>#}`1g4m}U^iEt)eIRMy_q3fa zAX>)uJPUjue4Z|FeZ>xL5ldB$z-k=rV^JxaYeY!FA56ZQqRImC~<)OKG@W7i~gP(({_@q%)1IWLlsh{E#w+Ts$7m{?ir287h6X~ z*T!G%Jy|h}m)k{*I4kcO9=r2k8?}(((i{($n-k`ZelI9=!mHL*%nU~3i6Ewy`;KJ` zJOVo52+%xX3Y?84Wc3lBnXOS7s3y)@UOPN#m*U8SE#Y^{-gBtDPfqO*pNqvJiN3)# zlK@l$1&2$4+r1ygASuVVBK4cECHK?3FD@&K+Smlvn}cHxD?SztdA8SEUp*XGhpl-< zBObhczKe+&1m*X|TBZ1dz1XYqo`R@5K3T4txfB|EBIobBM!-IAU7H@2t<~+ndm|=I zKYV6hAyzj`gW8ZPBnVTHSWFdD1aTZ#?AO7*L~LeWDst$8Wa0q=Se= z@ZFd?v&^9PG=s(n*sM|;-p|dJG#+rZZ~iS)V^%6hy10~TZ#m12kUVYy3i<&;M%*l? zVn2edTqt|)Ay7ye_=Fdf*t?UWQ)<#-zaKgMn3}G0sc5!hRpuZT!1Inp^5YlQozqn&Z1u$02Vj2-*Iqvd{3Ke zK|qsRE^|0u+31o(;uk?Ep$lRQkdTK$&a6o_zhuhOwU2lZ{Mrbg%;0OUs?S?~UT$#P zRl~vq-Du;HNTazuBsIcVcclLM0)1E74%oYCk~M=BV|vx{A5*zI-SDVX+Dg;u(-_)e2%TKRn7JcE_-fln6rvvtwuyXYO&S&dGzsx=Q4YS zZn)uxv3N>z>r zco~Nn22{Y=!%?cwYdSFsU;d|358SCZtzP~`Y`W(*ja>9gt+uY_G&yoC`sP-c=sTV+ zrc*l-s?pC)4z0Br6uC|XW0j7r2mpK2e@&|_v4u>IeYQRmVm8H5%%b`b*yO2?CxFp2 zf1K`Msy_H*U1Nn|zlxE03GBF^%IF(-3o2c%pGz#i{e$S~`hD|5 zKB9VlwEe}SSVZ$|KWc?H_L9zAYk&AsY?@gx)*XXKtA4bmsM2L6CbQ7p!yX>w-J9_s z2z6~rpC#-yf-A)Z)Sm-A)PwoxaL%>9wv zE}2RI`i($mS0;%0dqb&v_SsUNWYeN?`I$xT*3cpviP_Sqg7=DPt-W`_RrF9f@TlkQ zjjpwe*J`dyoN*P}R>-%ur`m&gYrXo>3uPiyLi;<7nGVqTK17T}tmAO0F{vOrPW*47 z9D&lHY;9w8m?v_A;au1J;h9i``eG5i}=utgB0uKKiIRZ&u^&!X-$GDJUm;bvJzzd3+aU^Ng z7<}OZ?{S57NY*#w1 zua#!BtUXbP?_)AtY@WPdMjFL@6p(|Su$J%`D&#Pak<{z4T4(Pt$L#6x@1QIswbTwz zUeE5#&=?hZ`iUMFY|*5~-v7J0KmWJ7Dv4Ff>Z3N(N0+G`u7GYsTrrv2Ra zG&QELf5vTRLu&~A=nELv1_NVNcvztT)XeV&t@j@yhtLU=N|(*g>V~=EJwgp!SA+@* zALMV}>uBorCN5)%hi+$G2Yl_M>|C#S9DaG&Dt=EwcpgK*N96Rw#pklklrrm)i1VT@ zBZl|YZ~B@Z`{nkX1YQr@%o|jhdn8rV3hY8YINk-~0sjHFAFDg#AMQ$Xbh|h4`$N~% zfPAlkXnHkOCDBABO!gn6>DhT2Qlg6h(8Y)|vL+W9c62Pb1lX#6gzN)QGcEo^ocL+J*gw!kg4q9YFV1}z z@re9hA5BMu9g6#+%eKRc?aYtsU?aQy{Md=vBkj(+xUO;U|5om{u&nR6r3xNr~=IDH1{&3KNXw^gcI-f(taG_so1V#Sx5e+ zdC;IZT@d!uAJbJeOJGA|WhF5E4D9jQwttU=B^sm^0M4j_?QUrQdHaZG$PZYfas3fx z#u3GVOF_j1ej{tV;OmlfVgY2gvyxE)E$=#d8xhcYywK1kx(b83kuxeo#XQS_SscHk z4XLlnFN-Rt$v|1;u$NMSM8tq@S-`~=Gp&bOt8r$LV1)Yb;=`k6&kg!RtHWuuHAy#w zN;m0nXOS;2(7N*J-;|k=FiAJpeN4he=u9i|=R%VgX!XEbgPbihFQo3#KhlImQ)u2HKW`C(zbMG|9*_RS2ewht%IgP!J0IxdL(O4~{G zl5mm5<#F?25+l)PBw&JxSPlNZt!s-|omC4SgAkBtFWw8oyJ#8+{M!n*&XL)x^`jYd zwJFs^@x=d(gWuN*L2fDjFp>DkdwxYzApb{6kmQ;+P@Lp9ysDM98b(0Q7nR}- zu389}-Tpc$xo-N4ZB+Bw^r36gvDaP&P9EjD%XG;eGA{q<-sPCrUOgyeZ2iDqiR>&hrdA)@%8T5jL~t}1$e-b!mQ)Q z5cTlw@oxr-oteF#J`Yf$Y$%qjh8)I`T7J|xPOfe+a~WV*$5}GjyU92akmu8jYCj{1 z=Vo&&iARsQpgceC@#qYdvSR1MZmT^tDB}xWwwDtauSjmS#`*C+W#w+HN38I3qqgh8 zTuQdy;iZoEjE-$5AN}vseN2$=BFa@1kiX~C6GG&E^ox`{+xH?a{6b)An&h+HpFZXB z{Ft`aH8r1HapR=IU&V{=uPvqr@uwXxPkF&izHD2;Rq!RGCZ;Pujt?|nkE}jRDs(NH z+K>t7k}yV8SHk<&NqQ(VrsTGMWrVy2j~)%#=`Pua(kAa zsL_bA++zCoF%gnOkd-24M5g@yeJoH`!O|(n1vdu}jv2VUGK1tN|1b13_J68ot3K6#=QSC+18Cf#5USrld2zZ<-Y zy3(Ud|H$dJz44u$>znr{u-Y$K$;wUVKk0pdJ;A(q;2h8j)Sr9fPYrH1a;5G}HCQe@ z1Rj)t?TwVF%*MZ8RF=mVGJmq?A6xf(ezD)Yd$qt%I3n?N1E(odNvJ{(so-e4Y(3fH z(C+yxerH^6c}6P#ur?L;mapnU#OvO^3UuadY%M=J%Ns-|{_J%36wv)`vK#@V3=XJV!Ml;jesI{wT}+YE`8>=#f}{KZOey3sDr(xB{Cf7xXWKSO zbFGhW&*lbr+uB<sMdpBE!A>$`>Fdq^KJGCfwfYVvLOuWzURBh zwA0)DDaT#UQ;Rj4>AF*Hvl}bZC7L}TnOmu3e@pqB&~wzhUW^WViNQ6IB8p8|!+R6d z^0Uxy4}*}0?{XliXE=VZ2X|Az$e3^WCvj4iwdc|xs(&-nUu0I6PNmXZ@j2aMUvsxs zTl^*$LWUB`ujVe8c1di`TlVslWT$b^Fi4VSGyQ|68*fjy#q+ijn^6-|#9&`8rwsX< zhqD2cr)m5Aymoc5z?z`zbMhMefrR6*y%Bw~;wqc~??8gEj=@F@KY=sg=;(drll@Q+ zpdT8(FFITzF*QR}mB*8klBj~E`OfowRn=5%R_iuO2@0*jO}Zl>W7>uNa%>R$6w~mT>{ocQiARwVggOn12(jd}0s_(l z96&%?T3YGuZlt6o2kGt}YRKO`p6};b&-~$Xv6jq??>qLs_P$;_jz1A(#>#h%Yi~&; zaf_$b>os1^JvHrLmn2HPIltbWt}46Q$!)pcu)J1)hkxV}x0@Z)*~w8{chy*9-anF4 zw=xfeKlSPY4T`3>LPfpo|ns1qsNlOjcDL%vlUKityCdO}74$$93>eI1GJP4Ab7-g->O z-4CRF)+B}T2Olby9_z!V7&`7PPN(&9Ai7@QkluWYF(E1M0}p(80@F@J;(CHmR8$o1 ze%_VFgE`1l{LivA!biCo8(g$^3s*vNVP-8H zu+UaT56U@o_dW_PxoU zk~5$8*h@V!x=VoVp%jNw_O)wH>_ZM8a}|@@KMCy_jUnf_lDp-kwH;4uiTwNmMQ^Uf zc^y*uGktAc7tY@!nR%Z>n>&q?H~(F^s1?gZxAh< zg2*O9$Qsv)zz73BuWCtcwUopNeo3R$vy$fHD@c<&C(3=|YkOBx_;j_Rwd!~0xZSCG z8|m}u!&Hgu?5i&>;>R6g*otzss44k#;-A*G_1i_I!sP27%>DEtN{RGuE_f{2l2I4P z2oL(-E%G&V-JxRkz%X}oyx(~E6S&E~yM!e2uRDGLr;(U>`l`N4vpKj`uH`0`|d1a(x5W?ahw_j=)$bRYOpQ=@1R+WOQ7Ku9BojwCc4$E%P z&;#qy?4nhbYP)%}#8at9qpd!EdS07SBe60G^^4g_9Qdz9aZM5*R$C08xvPZIj~z$y zEO$l92%L>VtEhC+hLWUDUP*`Y46*T}qY`qJni=6Lof=yn;zFI8z0`)BGU3<>Lyxja zOnGnVguD#BWaDvtqK>ewV#0)+cd+vPSvH zh%Y&&$XGC1%CZsQyrX=IZvvK;=Y{xLG-;LPvb$p1RHglF;n^GmZlOzB^VN1os*e;- z`o6Vl?Ke@Lu$v9t3jo^UP#u^k(V4B%fj%e0g=No_S2&(0v+D(3)q?OPu9Cy%k*1$c zXzhKf<(G?O=ZD&#Q|aB$&()M@pos?6h`zJd`qg@QH`x=#?wBDCL|{BsGyk$*13ldL z+}TDuO~{nj5~icU6?s~aNTeq(_~F+-a&;w*@EhO#DtJs?B29sGC2NibHp@I4PxJiu zA2`R3zy>{!4j>M*#8h|N&4VZT&(?c_{yl=`NX+Dwx(Ww%=y=g7C4wI4HVc;BF z54RZ-Kamkiqt9IPZd(a`msuloJ5}acaH?1(EM&IRk=jIP zazx6~Oh^H3aRU4TL=m`{nT${L35UI0BqN?v_V&O8=|e2+F5Dlg>si#E-$57M$CeVJ z8ycssGJ>L&n0x|EXp6~*WusZXmu+KF=)Lh)U^)KXFuM1t`h2jN)@@7$2yMTIKJely z%%r;Qp^9}I5-C-ivuE8zxF}^ck9RkQG7X8;l$Brg#&^AuvwO-YyItN_GFfetq*stm z92XN4N+nWUS^1)B-SE$sg1h~zR^K+UPp73i?##zbmJcKvfGJb#=GP12 zC0-4ZWAhPi`!I+e5L1Q=kGb1CnEYBJ8n_kc$_|m z5z*{U`@5RmzvkZ&X3MHh6}}*@J2!fJ)KUbq?ai#N4hYX3e^LX%IW`Wn1RV@`-d$ug zvGF%$R?mPi#*Ipy6*2Gg&9huE{N|IzhT3t_6TJGpnCyKrKoy_wVXW)CJI0wJ@>|Cr z3pFI>bsG~6rR3V*^xBeL7OAw84w9XIK7T=dyP!D_?=CbmkVV~cCAXL{#fhDDTp#D~ zlr-`zmv3hW2YGGF%r_gymqja`TzbN*5}P5iVeX50(u3Cs{y=&$XBRE1`AgZa2?)UX^ zJtkV;)lA)-YKn(=in&V?yz$U{apkO_>n+zTWgmoeHwaTFOm}~of9vjtE<|wHIpGCc zG3~vX#tbp8k4JWG55e$WFi}PxlW>?{6N}m?sm*wnvqDwl>1v^J3UVYU;|NGEujxwi zGu8Q=dF^2NY7>?P&&~&Qr!$&)P2nTKP{ly;PL^j z%q-~t_g^<0w|-;kjHndRl7yujF9Wz-zr3+Y!L}N|r|>DLRVFOE%`@|=QBxFFJ_Dlu zW^@q9;)+=KEk4NFO*u4%Z6mG@r-v@Y2KhfEl8rY&=V_;_VSAcVTjO(04YtilmE9j+ za2(d~to1yx>y0wwrwOMT2)(D(ehps2-@LHN)z+;dd%J3sZr%PEsU|83U0(qo^wH+K zIO?YDFz+)9LWVJMugFi8^b~>S2E$~$^Kq#K+K%FhmKW@+vdr`KZj9=hE62qFr7(Ny z;DtKk9TTkP6mr9*!247(M_-555&J%!q3&^UUOk8knLq}!*?<<|N^6fU%jhA&fl_Ia zRkdwoWPlXI*iwnveIfXjB}>{XF6O4qsl32&n$zUQgOBa{Nz>JwhD3a&8()`|Ae#CT z&1`Yy-V+`bJKkK<@P=^R!FriL>{lb!c43G3;bMnlsv|1ZAHGBHKN3#1d!=;oK?+4T zT0-MCBl$qg*C>j?`K)-B=fRVFb*MnGzQ>KM>Zr`&52%|dqgP%%HCQiAW0-uW2|Vua z!Vo*3dvbQYf4|x_1@@#pw;iEf<}@L7y=E5w|Mb++B=az*c!UGjb4XSQ(~rA%X`_Pc zop-0Q6{k0czZ!kH`H=Xq-h$S)Q`(WbiPBy26TMI>6jp}=Y56tHX zNmi6v$^zX{PNzcaUEh4jG~F}g9;7{jYtCJa_j(0t$gE1YlUoT$%UxMtQ@^v z(WIZwxN(t3+*+7Nm)9{p8$2XBHI`@Vb}bvD2;=LI85wUp8Xs2`9wfY~A~b76b;(1? zNMDNY6Pv1)0yl2z5u$gfk1C7KVa$DUiuL4ie(3M-_E>1uv!`EYAU^1+1m!t}zT56B z)onClKB#|+{b-mDrKzp$KJjOLXRc}67dfa>MaL}G^g=1KoO39uGlW$u(+uEu3oTaD zc#xPE=96uHJ27fHO0IjT5wk*gv};0;wm7_|@SbV!*VH#<5#ouGrW4SUV4YN^rR5a! zjG@-x*p_Iq(&U(y2fP0KSAUz^dO8Ewb**gPb62}mL4WW1bZS19R1PrQm(l!_E!X#4lUAqb$|-lqWcDZW;^20nPS?|tXpgH^V=}H5%xqBs+WK(S_SlDfR)Yv1`y!tq@^WfB>R&_1J%?IopQ&AhttfVx2TSQ}Q5K2Hc63Lu#l5;w zI&F1O^}5{sxpz13odBC3{pI2ky(tGtf#WHFpR=)`#}d zs#`M)X`bd(C3~t)T=(TVJ)2RyGhij0&3W<1#^vd#No}cJ8T#^&Z$yT_O(%OM_wF6J zX*L-jo=)Ph;AS^7KJIVVFHAUnSAk(PQeMB?0t+vYh{%k$(KFe`uG&QMKH%hOt2QD2&10I_4-S|Q&+~Mu z*=q_;tjW}!Sd#_8Gc@IqwjwQJ0n^Hkv0EYbF}fuC~!$V*A~o{T(G~M5+V~2BSQ<-1z9+3pIM^>EC=!XsbRF zVC%ihKC7pvSIh+uwR{if9lIX2ee5Hf)RaY$|3Zwdi&#RjF=H7WMOL&@Up4MKj={jzxQyHvGd!FrJ*+@0=G&UaDREdwzjCy6+eih_1&&l8) zLLtH>a5iMBU;Mtwd8TK5j#1oE`JIa+i_hjTOKQXV50(efXEjqbCGcO1%TUr8=hhAd}@bIC*B7{zTrrnTPT3 zKR(^mLg?DJA@Iq|-n4kUc&|K}Tw*${tC4@m5gdX_Rn&GbMnwfkl!tULk8ceeuob+m zJ-c%)l>PdYt1s@;=EUgoVWrhePJ^CB3b}uXn8%dsP<(2t6`ecbxyKpXy@A@)Pb46N+QUJ>K6z zS87XPj=2^on=euUoH;O$L!7H3pzcCyz6v@f17ko=jF zC3U5>T|#(g7}PJAGzv@+Jlmf49t^CQcG-9(0Sn#Kg^O^gr4~)g_$`i%sK%L*a~0D_ zz4J@Du2!CJ_?^wAclp{Sq@T_L%s3_R0HyxH_}XABD( z5(+LGh`zbw|7oUHH5}q&YSh<_Pn^f~6nOB1UlNiuB-~sWucq} z;R??b)hKdpq7ALf=vA7y?dypNyL`}RrHD8mOc8!KS>5yw;vFJaw`w+4tr%2&)>eej ze`z$?_NG|3W>HToi$N;Sv*G3OSx5UQXM=P84a}|y*%ntc%@QgWFz31N7jb*J$8J-B zu{v#u6FE9`VR!!e^YLC2p}768uRfmyRjZz+e56V18LxHZsSJb))2-suE;?Au_TqYGN#NJVwOeAv=+4vVhXtO6dahrBhlG%6 zOo!YRAhyXI0vYjd)Ti##U6m1F$r9aSjY{@{l}~oC{2L+SrSST7+wv_+oP&{guq#Y_ z@iQ(7>n*EVT6z#CgJv7Zzuk^9y@%(=ME01(qD(k5L# z7}4yDS`*+jpjhg0G(?kKsVzhQ55hIPNeAOBLX4jMI{_Q+%Jd%3;C;IB@h)MAO(tIF z+$x?%38-UXWxw@k{O<|hcK43!dm>X*d9`8}2ytf45oSdMQ9;4$X<|Eefmg^e5>y5L zd>UW;I_f&g^f*d2vg=cC(6VB8lSW+4&AH=A7D9o{DTAg+7wMNQ>~^&lD-S4hGcrh3 z*GRD|?@=HQ3p@6jsFw7yJs)a0?s^g!0bRK4T17ojygc0j=Ux_Pn2DD-y}$gXw^s9c zmibK)*{rf={|xfs4G`(Xza3^@WJfjITykFS&TF1Mv6P)v7ns#mo_zn?^t40L1#);W z3z&}=d(vqQ>t*ZNbGIffuiFVuH1FV3nv9VC4-?|$V|5{v9%xzH(Tsr0DfJbK>3EU{wnYG6Im!*)@p zr9`*owXO>5+~sc)lCIFb(FPVv1;l%=xoJK#%WluBMaxWCmFft{VWY<2k9-WNeJh;0 zixFgRAKQ)nMAm0i+%7Y7r;di~rFqfx0fnq~FHP~88S|;9F%oRS8lbU$LL7%c&Exl{ zGY&82mAq#T?((aNGY(0O&~fE<208ovPYbv%?@c-)l1)K%Q?0MAQ(WEjl}EkY1vh() zx9aATfSgpP;T;#USab8uQ!xBX*>JDvR+8z_h<5*s8tI!t`E0gV+PQ9Retg>T__l;{-A9q*V0hq69nU+`!5 zs*lKK#vX}&We%ZGp}IKPw_EqD!cbEgiLK?{l7tn@fzYjIdJ--T0B5p_c4`T zMmwCvJjeSYwMS;2N*whf8{%0)xBZ%J9i*X~Lq{9$y8W<4{R>P-@TeoG$ zs&F?DhvdK(LQkK$%X7+#AsjP~4wrhjBo#Gpa#s}+iCk6xr#_IbPK|XLSGw=`VD(Xg zSi8%@Twy3l2M1Kh`(Ye9EzOrM`xC1mx6*gsedjficDsAVq+Ml)2zbYoHq>I#!@C6T z#=;tN_(R5_PW^$Y>Wt&40y{=H(kVXGeFPUgEE0{9m}5AhtCxk`!7uMrl27wl=4XR{ zj`BZi&V950 z&_Q(+wQOkaHK_$FWALU17*Z5?2$pk`Pqv!cR@M@!ssa6#A zYxW8zAJ0xBW;XKdRy2*?qV3A zK8cNctRtu)g_)*51~i=U`kaSbI*Aj)uFJ&1BFAN*3-7-UE6Z?T*#RxJQwzRk9A`T- zy$0MK6OFaHrfyoHwa;0fu15|J6-Rmv)w)a+vKeYV9t)Y)o$H=K@G5IGnC99kN9 zy)V>?cJZYEwK!Qp?B>-IMCRMqzuG6wX5{98=ZV?ufzDm< zjz)q^Y1MDWaKT?6Eqp=owzl$=h1KS(-JFDw*isMxQo}<3&zU#m4NcUg@;8~^x3L7t z*Sexl(jCg@3O><9IDm8Q8B;}5t6`){ekKtB;^9Aig)ETAy9Qj<$tP<0n;nqYQo z^93b_?6g2Kl0Xcvn(lUk(x?12-P8w{yWJcu5t#!5p;HVytJr^CVgv+*-97yJ*n%kg zt6C$c-WD(WpSu#YKGU@jDRejU1K3gHYSOf8Wp&yD9V}m)oDc^SLb2*&QwosUzI`0h zZmnK3a;a=>hktiHSkBvIAzO2>AN|F^AGk2qUcT1qkK=j{(@S(^4^#-PjT(LNYnX(M zLq1nmMsM)71R7Fe{*T7xeGm7T(Am8miM|xickBUWg<-4Y^ zz(5Hn7sS@~INc zZv>2tyJC6L6U(m}D{*TmQbSs$7Y>V|!_oiZq#ZR{@b8b*?}GN~Y36~}D2PdsQ-bSL z8NO1h{BIK#8&xl`lH9gbWt9oBF%`znT)1KFi3<+q>no^ywoL9&x-TrcG*{bS`#u|>S18d9)RI9mA})7K}-sE zDeKeP_n?{lCQ+`-_tZGn5DUWn@xp+}!x&_dEG%FGLDQeQBl#eoz=*X?qk-)Kd@Oj` z@^e`Rx&M|%sv)qIC%^u7M#oT*BYimJ4q9+oJD3dRhwI#$75c>b`6kLe(I_lAflkW! zsvQH(xbD9I3o1Np;4FuBVNRKFx@b6uXX^P&colpj9XO=oJwOd;gX+1qLAJ)@jVb>w z{7%{nrU{0q2l%qe*aiy$of6pIE@0KJ{1kG-0*s36eBeqR<`8K4_ifdpU=W?AP@R7m zl}a4r!AHxYz65}|@%GGrUxs$TCu7%sca#0I7JEboa|iBJ3*|>_k?X-}g zLz^R(X4O1Fhc{ae^+K?v_J&F>3D%%2z3{RGtQ63-DN24H$+=tUc|$6( zDVgmQ(C@H+c0dP9w^z&vFg|+1vr)plFwoO?WQNa4!IdN&0_Y(hRR5`a&soFPmn3Pw zdg$usrT@KJRXKe|4<3v?=Rn9#zG``I3-9VPXeB>Hx01UaJaARYpab6H`Ol540TOj? z16I}r32;OxPc|}=;Jkkct4;lP`lO~h86MV7N9?C83S!5YFL?Y8sH~BfT&L=q!A8Gd zH+BO z+NY4pr<8@j({_Amy-{szEcNc!J8f?pC*?l{@*L{z;jN(mb#ZZfzG4zFd=g4!x8I*i zw;FXB{6(zv8)$cy?miGJJ&oZVi1B+16FVyOLE@xcHB$165n2SILdY8_*RsgYr?EI!)h&p59)EVfqMG$av16=^Ail zVg3L%2bTQ`-Iv3@z@~)XwXNLd>KP1#1W+U@Q;E>|-B<;Tjt@=evcA8M=-a9WsM75A zbSy3xEnoH&e@CA{J5{K;$9kHPS=Yzx7{=s;7=yefSQTkuE2tvdLB&GxPyPXhv3q)? zevr*)FA{*=^kkI^c?pNK=?B7LV=mMVcR8o(AY|Ma;2(Gn5g<92t2{LesbCj%EEiNT zA`b(9#dq-s69QagY7jJvBqN(bYWOw8kftrfuvv-iASIS5!SzS#5ojc~al32&YK5j}Tb>df8b!6*@+181~sXUIuRgcu}Jtdz1sPsd__&#WntN0bj=^qh1hApwyt zrWEpUn4uK_%^)VR#3z{G7YQH1&zc@?;lR5N`}^5$`E(FDoA3D++RPse^%tdjJdvAr zX{f+ojbIb;{8jg@G2EQJrZnqH247Krxtn~21`FJEpDCzMYUh%#wt{sr_^R%;rAytD zur;(#th|S|+ta}r4;4)RUW6t1Ln5TW-3>6sh2gEM2#mArVL`ObM1Y&?<(7Su5SIF? zX_p3W3rV5o!d?DWMugxJ4OF-V^D0(f3| z?~&-8_gwG8*s{ALUj8Z-Y{dGtHE4~bGp)kWfDe6Bky?gCfrpjlYPJ@8t99jU7%Of? zDS95diYg3#xP>_UY5YGe0NqzD4EYT1AxQ2=wmMZ+9Ub(%&_Q^fs0wgiibXu-sd zgAC)Rm%+-etGF94uicXy)2!r%Mwm&aAA7Ts;$2AkJa(f_Bja$LONWsD}SWsxk8qg5|5EF9a ziS1yH(x{T-lJAAO3LWNdjx%#Kz0WBRQ1J05#E&Je%=ih`CRx2?Fqz55QdS3g2eJk6 z#wI>vRPii-O`wvkxrYpuDsGJk-Ui2S^sfq6%LAQuk%LcGjz8!Y7WsMtKhag)v6~M3 zkSSYFB!gie4*b}njcrKsk~~fOsb={zQVA9hgQ`%N-3LT;$HD*`>5Oe}o4yV$9`>6& zL549l*lg&MOy);Cz(V=)orNX-jjE-Y2J6>XG38&(zYFREx9No5*uKU;gm$A1yl9Wx z=p1m(9|XDbEL*=iLHnJ}6HB(~U>G6ggI_^CJ4%mAlYJZhX)bp4aAob%vx+}<^?&@M zf^3Jh`F-TtT7#J0c$jI4!hiV2wqDM+jp?czasKnqwoF z!0pq=mtA;2)V{N5o!XeNaHla{Tb~~n54@2=v~w38;7j>>rDc5S#DkxAH02_5@1MUB zb?);Ggi1tQ7cJ1b^Zd+ET5?0*zkCA-Py#;J6Aq7QdCe6ORM98|ytt&Ty{};;XaJDE zge|l>1vYNnbz3vcnOuEuf#Bzt`wMSA%6xUFa55v`x=UHx#=}=FqQYJI+N`OCjJuSX zeEhmdnFZGn?Qa?0GWMtuX?V3~Q&--J3=XFqYISfs!UGf4##Gx3!fcKlagn~w+AMOV z&bQL@c;CvTSQU=R&e3#%`|Da=h<`-kv|@e0>Rh79Wt6S13xEiqoo5Z45Eo*luG17o z7HXW?yLQaHW-xQgHstb0;M8&P5M`q0=IH?W8ZQr%&C1@XS$D8Hd5_F6U5-?TmJcDJ zU1%94l;d-t%T9u=bgDuzNUS~>1rZ*C3G*kEdj@*nHoORzpPaE>*ozg5eA)&`t|a`J##d@k%d z^TWTyeCY3{+4a~l12Y=wDvGzplfW2KmDAQJ>E*w)0H2yU%n+VsGJ$ohxzj43E=YSA z94=-}0xl5ib)f z&0mq+hiLmgxk$O0s<^!JNmxxn7L4BkAZ!VH`uqEs8xArVKZ+rLSvf39IAn9PCmWm3bPDPTo&+5s}r-r|0`;`#ty%PJ^ zP7wVk)D+T@sZ;uhD;<0UD3)I6!1SCy`QMc7GXfA0M!vr*RBJE-J!GB(KNfR?Z-{okG}{7%xnOP(?0?)G&CG~ zFmcClKQTTBuq!M5#_ckeV*F|LVZhnDOPKe#=Z zYRJkGp(<3$ju`s-K<6l`XZP9Lkl$uzLe@mBz~Q<29sNBxC)|}Nw(bf(C1*6k2H%1e z{Vi|-A&Zi7@-s6Rw+)%0f|#6=aTN}EMHvn`-?sThY=8gvfyw3vn2!Wua2hN`})A?28&|OVcUl3Bk>D65SnXDND zxAzTPwN@rA{rLD9hq+w8_+Ulir=^wuqwO4P5NhqFw=jp0UvDpke0fr51^oIdsWCUe z3;rWdlbN}QvXHJ{WhURMG;CtAQtDrv`O-!US7&0d*BFnU;L7gvo}dD9={x+$2?5-%@G09@tNQXDyVxC1M*LGDJEV^Veq&N=#!9t;E_|$h9+(LTzN>kxW zK~>fh1oV)f+b37YqeGDipm6vN(rkN;eQ^%ZN|N+Up1}`(&>og3dZV!#7e7OCAclWur~Qa~{Db97pQQy63#{R_+kzVn*W*Cvz^^RyuD4MO&k*{nF_+P?^Y z1VVcoSD%{e4b2&M^ziFB>0;ptFo#4GG4yHDx5f?}85$*PauyJZAZa#@t6me&;L7J< zRE@7)3zdjjs3rEqSHpHN9QVx@Srd)e#fDy!`=J6S3egFVF9499;XV$X>MQWS?|!zm zibTl{)vxb0R0`?CpObGI!TX9VrgaVJG*SjEXPyt!RdH-IW+bDzZjg3Yn<4gWqftF= z_fU6vFS-`S^LGnUW0G=5p;CK3WNzp@()D1ooiAkD_Q~7n_*B+RxY7j+TKqXOPXJ&* zfMBXt{D_#oc+D&sUqn#nkO@e_Mb`0XD$M8SH|E-uzf6RJGIK{pXpgm2zn^D5k7^n` zU*CkZh_`%i-5z*)wBU#1vNajhbAk9{o^rjasgJs923tinbp@3Jl*(rVLD6X`kd*Rq z`Y%k}#Etj9M$8=3u659K7MX}nEmz)avm9(~4fB`Uc?IlXEAN`MZ7KQXi7NRn}82`LQ6Qx20w>5DI*lf|JF# zoD_~m%f%jt$AN2yEzbxCw%rdb90P212pO1Gzu>C_GK<0mQJzdjgxFwZd%fA!Yab@< z!z^#E=5yjrWyf`|Q$UNM(ECK>`LQR8UgpErpNjQHH)Oc*7HhNqY-Y@$eq z54N<%YRepLET9+iki-J)^sp~dZsP1JE?keCFp|f<`LCaR=Gn@LEX%uzr<;;OAjb1-K5#~B z?rO;yC!*n3lFnmnN%kkyB4+)H0<*QAm(JJGH|JjJ7bcmKku1YDEkg`C>GDHWfq)&Ly+EeAjG zhvObvC8=9B)FJ%?FT_V$zO(>_%0!{Aweb5&=Fjfvi=yeIi&`PBHCM*lW@-hALOE-f zz5$zIN-LzmRa)pj>fps16@CP0T_I0q(I-(DhsosJi$h z3nKP)`{y{t>ltBN<`OXt^jD5fRfRhSjqz2Z_W8!4;*|GUE7 zL((w2N{1aO79c^tLT!*RH(PEhzv7d~Z~b<& zMZZ$;lz^SMI*wDvc`N2w^i#!^^EPk^-TD!36ydTY|64Re!Y^%K&{>>8cHXat=0>4h zLp&wXa!Zn{8I9$*CM4T48`d?(;(DM2?C@W48%-R{y+Y$DIU7x>Bf3~F>0qfd zz8PF_!4j>4I;eh?%k%}8UhU@o`i$dF*6oj)>Z>x78@3u8%#q$UXj-Gu(CJBkT_oLD zku}BBzPC6urQ+WA766XyExpJ4Q0O6T`S~Y~>o{1ZRpeMFy>f133^G?G;~oJe_rFpW zIv3X!a&p?yKc%K7{3&!h((HcmM4!#2yRaxGe>~G21w0$8P+X%@)-~Y!1OUQ81@<(C zQYblEuZwG&r=^_4CFeVDFy}_!?1H0!e%C#Z$re(erI65_WjN3cyk4UfMhn6TEFyNt zQW2}9FVilM$1j~fFa@mS59!z1k0rPSKRMh+>^&UU(i9Q686@Ua^_3y4KkTB0T<%ni zLd8=$vcdlO_lBJWx$2Y2mXKKhcz(m+{8gMH@kU*zce<+=q?aExU+&$09Hfb=K~voT z(hKIXebmRv+-40%mM8Dbx6m(M?t3qs=BaJ6#t>?j)E+i1%C@JEC<)v1`U&yn*i*Y; zdDS)v_E1p@l9gJlV4(|{Al_vJ49BktlxSUs!0v=c3{fQ}wR_hr(I+c^)}a|YwJdJ; ztYA{DcSlP}r7!?Mgu$W+2N4c!NVJE0eR-xwDP6X9UGcHwhww0 zcJZfA3POLvy(%;ss*5zH{U?M0j^b13V^Wt5&@|C%@XQj!ugw6EpCkJxem$7zFmt?X zd!bCKB#xoa$UW-B$_Hpi2`->S%T^Fntm=_qotVU=ON|g5fQjLozrDuDb$lPyVqyn_^4*l+3*9AZxh)$8b9@auLq^y zbG0-OKe~o%zZ&vm5+rxQ65`3OgLQ@gb{or=-72r4fz46j+fss$Igl6S^%cn~%+X1p ze%L?E8IHG+* zwN6epZAZin!%J!f-xx>{ui9q{UI>^oe$1x!*)E1swcn$`mZw01B4d0!F1xB9G1`oS ztx-505DD~J5&G9IuNe*5=9+_^h!H+f8+HI%dpXkr}@31oqZp&R3GNmtgSzIkZ~L;r?bcxTNvBQ*^Y-_gCCfBlLC1L{@j0B zh`^f~AE`{&GMDW5FmC~%g~zj$RJ&hdr5pEtd>>lvp}4Cdox!zMGQ&J16VS%Q2co9# zQVe?R3TvmmVlYODAkO|NFD3g3&8|dJAdw(J+=UqrFq&Tiqq#a4x;1Q&9SjKBF?D+R zjD#oz$IzXGrpqQBjq>8d3+VzC*1rg|*5OjG61FkiQZlo@rDaO9uqK?in^TXw&eb?^ zAB=u+VM|JARDb>bhMk8AJO3=$_55+a1z@EVE^91qS7L~ph5Uo9WX}HmKhS1|aU8?y zU0c?_?S`dySQ>HSeib5U?CjhjgR|dqEY1S4<%3-_wjLpk;ag`p+(*q{D=Ls^a2s$$Me4*GKVa@WuI(RH^}_i zHm=lWqU2cV+_u}(+;w^t7Xy*WA3;yNou~@z8)p6#vqvlplF#h1;`$kVe@S`}=v$>g z0Q9pELty5M8Tu}IlyxayPu}L{FIx#vF8|*vu*`zeM@KKMyk7V33>fN{)$Z+NHO;#X zuD4%18D4MzPk#sxc^%-Dk@mQMqohXkbQrKIlUcd><)=vTcDc7PW#@&#;zJeO7!YYoDzOr=+&Xvff{`pM6&Bo~rc< z%S!K7?RpbvPaW>&$i_WK6g46YPX7O1f+=NJ&;T!&g?d8}NO6A*FzjOB&xOHKeLCNy zq!uLwcCI8OU!b%`?)(f?|1lH&8UOpbTI;dI&@YvY8rwOTx|V$(rdr)r<<^jX5X=3L zo8yXvT4%}U@5t706iWH)y$aVbn zz0<{?csTF6*ir;7pCv#?Kon)gp;nV$+ONIn{{*Lbv2t;-RD~R8*ponYtH&CdxCKfU zq6%zR0fscnuYANNLYy~+YtQ(^T)SFjVCP;__1PlU#RU|)@tfbvdboLuqNd4l?s|Y zdbxYU_#B7Km1n2WQo(t2NaB&_RmZ#rdz$NrI5fe5)BJRM^lWuAg5&&xPqj*BWT_(I z+^P-OY<0j>*P^pS*j`4ye5a;6o}YO?t-125TWW;imj2WeAo6NgZ*; z&!0d4&$M?G@7&uz&NjNI$s}LJZfhDvvARI{Cv%cH9~k*_wN??r>`i9YP#8A{FEv>tvCSG0yV8FZH7}prp zy4)}$JeuaD@Ym+y>lv8}V(zy#nfGOnephp}zYSjsR-a-1+;0WmHvXY@;sCFsVMy!V zY{NN@?7<^$*U8;82n3meIDf1APSiafa(*EXotjT)>rwbbS@TkJfsJAb4K2ntOApp+ zr^iPx?^-XOi;oM~?F1eMcQDN<&F;70#5sTeSVBaW<7>aV(O}oI!o`?ICzJY#X7`8B zHll=1)a33n<*DT>!N<%pX&jrsH8fl-B?`O+aE5PaY3(_Pn-p~tfb5r|*JAQ%VeZ)VnFjhk> z{3CSCZlt+nvl#w>`H?2<#c+G?#Vmx{fGBEmHYOlGp@WM70FBnwy>EnVm-5)F`fX<> zOo4L9U24Ogua~O>`5P+T4^EgeW^ohpQKOJI^QM?Gxh4lcKP@xSXwaA9g@fufm~Q0- zd)JXDN&X{HYug+H@r&_%MF66nZ(Va;Tls0{o2>hfz!162S&RI*n>sHOFw!!s`dn!m zbGwGD59dBr*{2?fKE`Sr#7((%Hs?3-_`8oGvq6~*qr?)bUz}ri$DS%AgpQSg8LU%% zfRP~cEW=mj&RaU?%F|~erV}5)p&7ZLuB(2yRxo-YF}oHWzg*FnaMW!z2Ze8O+pK@vFGOuDdPJ7Q z#u;p$^hfZyuo!pbGdWXN2In_aM&X+Qq;KEhr~6whD>0NtJ!O!KX>;0Ur$T<3JN6EW z7?_%^Lpczj04&5x_z$xu#_Um3u&GrZ>Eka7{A25{0HX!i!fvo@zG^ie2rmA3kryd+ zqG!{{K$LMn|&3Vs`uO*HsvO-;7f2u$pTCpY`_KU}T7dKAG;Qb5SZHLaRxVukm zE*XK*u%Qd62PXc@OHu}021{*=Hpz~dqq{G+jx@YKQu2;h+Da9nzK@tJv}KmO^blb9 zJe79yP@rsHnmdiOe8UCU2|q!*ZgBXY&TV_vamJ)PUJ|fP1}}@R=1kjcr=2W5KJ#!v zo)W)q%kJ%G>HjGA_9P(w4-^!iC20JD4ae+_8Q&|zgHBUaO_7eDbu?nKyZ5JxCv zH4W5XzlIsjwkmMfoqYEtS~h6ycIwE@R!)&9i>2<7qcuAt}uRIcPXKI+FC*`oJI@!(iWO0jCH>PZ5vbJ&<{Tos)G4lmrzkHB-HaeBz62&m-9jy3z&GAN1#0?>9 zHmr*|3imm$@Y%2dnbf2=+pN`JQlk=o7e2M$(wlKENN`S)a2gK=xTG)Ixl6}q7cm&7zv z#Dwj#t#>S|Rny_t$2itd)*_p>{f&BqpVH&Cn$T5iI|qm2X-C=EpCx6sDjL4}`i~y@ zzHNk!j!xD%OBQYTzt8*eBbHMyVWIwp_ZS`y@R!u3y0^uJGR>r?5AO|A0SP4ccEy6J zGN#y8HZMcq2($~o3Ee5kpwVzD$$-6@R~#_))84!TigXhhqaV_us$#k634Ff9Ojdi0@Y! zf4m~9rO;DgH4IWZx3=e-E~1{Dk7Wy|7cMkz3;zk0!>V_t6CHL6DlK@13w1RC zo%0K%eluu;h>Yi=2SiT=E3(66>1h+bx!T`fZ$n441!@{PULv{<-Mq% zuo!jqSCj5L1z(q0Lz$%Ch~(;xcJR;}?MNlM?Qm5x@Oh6klS@5JpoDBW|0*&fm(GAo z_$FzjoWo+GZZ0@he`D@v5FVdp@aWcDb)Q zs%@5?V_Y^MZvCde`(G$Z2^mnXWlU-LeI`8H?@m41N@wfxv}5 zh_$UGI!~Q%fmrJ%`TCA3T!r`f#1GipOZg2EC{S}ILeau<;J?0XB&wbWqqryF#`1u> zLwJSu;m?x!&S5C3$Z_5hz3X{>1XNWfVA`dANuC{`oDmZnD~0WH>Wt-KmRcfzr2*#P zOJ3Id#&_$Pg%a15X@}uH;^%>Q5@`Q$CnZlKa?olBx82E;WsKXLRSk(;%J)0PArh!4 zMgZS+O!C0@6r0x0n&LiQApG^+-Xg^BKJwwujVthH?nigNpW7iKpW@wkdtu#>W{fod z8NkPUh~sR9YkKMf?~g4{8~7=O*6f&A=arDxcKJ(YC+57v0)$vxKFoU|&**_xfBg9D zmZthhgf5*g2S$$A?v+3n zkgUFa8JBkN(~=gvt}dxE*%CkX;Sd%c-pHFQvru!bIB3@1P*bf(X2X-TH7d}*<(bAy zy^uXdGLyD$4`@%krxx85YeN?OHYVM+B3DN$ur+AAGHyR-tI;%3qS4V&MB=k5wYDpa z5pfM!N{Ri`2j?M?XG^Q3&j<2k#+)nMWjVZfB~Ib;En+#VYUIODT4v^r{71Bw zm)`!OGi?t^eHU_xyOKT%fa*=S-C`-*Qom!t0i3Y~aGwV@7vX{U8WidmOyXyZp4H)A7$o3(*QHh=G7A){C*#$ zEVfnq0cGI3%rZu}HgwN#|2y30NR3$GxsIeTb{X)RqUymS<&~9{0VO(6kV$>91g#fR z*VK%OF5~95ZTDI}yLBJ>>3^!-fU9*z_t_7m%aeQTQ}?@}=i<0@r51tBqOwGcxgZj$ z0N-wI?yVajouY~qhPf4|u37CRl;e$z$Qj7*_S6D#(sH2;U1^n+dJN~l13YY_^p{Zg zw-ze5sx@@VV_GvrYE!9w#pCyt(}C~=Kmp+ByiRgRM>paq z$J$AZ@af48lD}JQajJGh>}amt|DpZRD*5S#bVNO7JEY?}`Ng5LYaR3RS4uPwTqd?1 zNYGHts&&Tkfc7cKtSL{0Hf4q@!1<^uHWqh{ew&}1nQ7p+L+0xSRI~Z@$N_8v@*EaL z;hv;tu1BW!7;hfAdE#R*Z&Q`ny$oN@MpP7Pjbqz>mKH4_D2Y$l!ulFMSI`}2JA1aE!3^~31)su7qjGD2vJLSRuvtMwBrvQI0;EqC`>P>! zI85Tsf{zr?%QJ(Y`eRss1F3<*fr0Jl-O>Df&Mch=v=cCoP6&r4-()K3J-J3@t_8C| z{{|WZ-)bP|-*i_`DZ%}5sj2L)N!;nKnu!Suc$vM{pp3XTPuHQK;=VjmCaIx6e{I<8IFSfV-J9$uf+s=LYV+{VD=7IF!89z5!kJ7h!c$(Z!}+s1O3Pv z4AgFK__FYWtQsE?fZbN$-zN~M&I8fZ0} z7%cDLY?A*i^T_Y}4?fn)hWRTfsSkjRz}DsHc$q*j<~C?S$0Zi3+upPi^E^?9#26^c z{mo^G3eVQOoo-_vYSgbKfu*emM~V&HRJ8!I1^UrWfD`+fk7 z5xOT;hIoBkvl~J?QtJjCx2ydyz^m4=rd#Q^-OkF7I&IKY)78?N-g+BG>-#Itz*n}5 zT>9kc{K@XDim=`29kL&aWvFNgNj0=-NqKSWOH?8x%3!Iz z+o5{$6(LTFH1=J4Kz_*i;HKb!&yP8PaK`RBhdowlqLvimXcS68(eWN(2U%D|5?k4$@FQ8B=$nlkzQ&Xh6PoZBQJ^Rs4Q>;><=<~XT7*O)0RaJ~h=g3lLj;J9 z{6x^$w6r@-+S=<|v#pFi17BHKSahC8Mr9?ruCTL02CAJ{A9a8B+=KXGOjZWOLHS(4 zq;|eyyi_6ugl^16faV^;0fnuG@@IMPAOc29rB95O`;Iqi7r{C1B^tIHvELIM*7HLM z29Yui73z%#F~U&uj$2JcfsLO(cbFnR!}O7J?W|Ymg;v9ar#ydW#(_II0tLaNjHlzR zTlLJ3+{GPfbj}Lx7LBEV|CeU*f&`k+Fek41Z28F%pJR<3% zsr2{0(tEdhMiwUdb=?0bBc^X_0Q#<#$KFZMecmy|2;wep=Huh_IuZ4$BXLD4o3QrRAbb-%VPW1V@~d zJDdvKlIXz=L3Z%$Y8WjW3DrbZQ$ybVn|UMp-B%fIDglA>NIx~67diJPDpOyf-t)8bjzc5!q+_~*uJDc0;~u?S z_{~Qc%DS=Q^xZfrjunRZJweBt zW!Ll1>aipjzK_77{Cp1`mIXBpJf{7L28J+G?mGx!6pp8^^7Pzs)V;k>*vJ>vLjBT( zj=VwyqO)#ifBbk4U2A7>WCdN2ow@xd7f_EIsXvtweeF6*ZqS&YohRs>QqK5v-qDey+4Y%j9KW{*(id~B8-aMhL`B+m!4H#szKQyC;aTE_3wVS*t{WQ}X`0GMmLDrg{-f;}ed`@j5#coZJ-A z*9X?&isGW@Nd=y8S;F2&b2q>??p@-7~IqV@*pkae+WAS2t% zUDm>Img<^63ZO3NtjHIraCp`Xgnaj43X~Zf4sl7ryD6?p-K0)Xt-DBt@0-^a>Hs-q zxk-V#`aGmX|BS!F=>5&?jD`im?Ws#V@ylY-QFr(e?T_)$3~C8A&gb;PR%+Lv061H! zfhHw`@ey!%-!e4NN%tj+C z0gsp>NUN^kDJ#JDUiW^q6IsH=!7RXLn)w{S{Jsega14>i96h86RhGVN4E&~#z=tC7 z{&?oIUhu&1;JGPMCP!bqapbwQpo-#Mw~5b@GkV|KiWEf=gtW)!dRF+xF$ME)4&f90 z!gNFDQSD~3ms36*oh-1p=mMZANVi=8y-WZzxbY21EFEnX+(9Oy!DTqLYoEIeB(K>& z9swT04NCs?_HGXvH8VqAYEjhlHHKGm(&P%FKa>>+2$eZF{ly9zz-kk^2FN&~uBG(* zi=87>9;%>wj0N4TDPtcdyQW?QO*L9Hn99TC&DFB9ukzg+0w`U*OAUc`0{SH8ZD0)n z6%TE8QOcJc%+4?m&s}W~fS%OUS1j2EMJsQRw*vPgRNNp=vPetspn=ca0^ra2cyyxy zyar4Q9>$G#xF9+b#xEDN@D(sScYQu_FGJolDEW2$5_6jgokTtW-nEmsWGU9#C9&Ud zUip6hMR*kQGquF!onDP;dR-!8&=w68F-gCH%%i`}?A4WXv{j4`@ck1TT-vbby<=6G$}E?(Ub@2GQ0Q0AMtHs|jRk!%Np=(| z5j9ZTi&7yq9MqQAKne`+UffUN(7^9&wRdJDJalJphigo=VY-=?7~`941>gWlpCV@aHN92YyXlT2(KrVzN8 zSamrxx7Kt?gF$}&VlV}s_srhS|KVktK^^)!yfV*@g7mDDM{Zl`W{S2a5=@GB-_9pp za44c8Zu*x3=C6Pr1fcU6y)m1da`ZF>-v=lkd$BiJhMg2uM|f(r;j};#?^x9bp_nB#V&-xI zUu!UPNt(qIk5{D$E`k~e-qmG>SkQu0yPcubwzj{{%`>RKpMDFbSMY3l&;LEWS&~Jo z9!EK*SkNFadU4OnLAz{kpPKY+VU`hj3Fp-on!W>ag4JvM&PAHzms$SrWj+V1)3Dp* zwy`w*3DW~#dEf* zzV_owO|a>yzp;-v{_`o|$L+g>7*my=iG-lF(qJh);by%)Co zFI$@}SJ0$*SEYGFZ=2+#M2u(I1o890EPtO=??|6Moh6r=>-ieQw6o10aV^VjXXo;_ zULZa$c|0kMtXZ-QsT?ZsU2i9ni-;GPp8kDf`QQj{usJ^=y74(}&m;T$_fc&cgMOIo z*72#=-l7SrQ$pN!qPbn3^t)R&RUVKjW#T*cFNn`~6$3C+JOfFGr)I$CSS! zz0UhcLay_SjEwp_8CrFRbItSfUh$qmVJ%NphPetcqJK~Il``30i$zRQZY`Hz`I45xd(8u%Tx$3c91U?%N!iw3@3RZ;q0I1~Xn zqes_ByB}`f=~!7$bv{lVR^b*imHpxfEJ$J>D6#pEqc7%nJtW&z~gTCwIVpZU{YqPbG%A;-owk6J3*Ctx+ck8c3lYRy^z_ zPRP=Ed_TFudg_7mPn72A5gIfqNp{8@iC5TSfc9JFi8>jJ_iLPlxH^sTSMiKruihS& z-|T`VNYQTc=o}9EW69V1>J}pu;9)20lLz9{@8DP(zk~T{qafa_O)L>pNp}8jB9C-d zw3llPx3QF^QM>OeC5FyGC{iI(uNJ6=R+!OM+e**zJMLiC(i1&oMu;2B9Wc! z)86oid8sr*|EsCSlkY%`hV1Gs@8Qe~4;rl+~%@Yu_+onNThl#m>CI5qF+wl-AY z6_G;O!l79>QDx-wfHudf8(eBxY>i#*B;IAj_^MnrflY78VCFEY{nfF_XyoVyyjz~x z0C~JL4wX_@1LeX#8i+?#Nm_u|-VS%2?eP!-DsgOAk7D%|J6;We-f&$)`RQ#jXXfV? zdShF%U9HD|Mr`+#p*bTIj+k5rwwOpULMKq zM^sLY!em2+4ZM!hwKuGmq4moeVsn89inE6eaO{-tPPt#wzRHcgDK8{LqLB52dB2m9 zt!#*c(7bg=+ZUZy^zyeehi^Q>7FJ_Qm&g6PW! zv}2Wa5!{k_ph;ll07t4xrv@US{B^}!{}cA*$w9vpOl5O~&1i`rOMY%{Vd0NYUawa^ z4;ScHyX=78-^`!a#9WsL%7b_$6JC!o~r%eGBX5`I2_*!ir-SnAefrV7J9 zGZ&!6gI)F_C0A9z2~I?frzeksI`;Rp(b)(({(I8W5XaiJ@LG2}*^ZZJAsgZ(r*+VG z?%hD9%0k!emd~wzZ4r>oo$XA$TGz#cr!n;TH4>r=D>1|9!Nq38;!YiIMS;mjB&5%6 zrO#yKHgoVqg-K`pk4RaqXF5R}7vYbNz}zQoBl*n`-W#(K3!wTKb*NGBJX{oanA^YZ zyA~5C6}{W>WJeggAQgD=FLkvQR}8s z#h4aNgqPz!e7h*K_btNrf~^@j=ilj)rZ)50mu0#6#L2o%M$pieCQ|+aVN)?Kgpjo9 z$@_Bzgb3f$I-#{OG6o^{5Cjw7$5c#Br2d0VlMw380WWqw3KoAxJ3(VWYm0 zVpeCsI^cM{nBsQZqpu!^J>5ago1!=OvF_0o&^cGP6e!M82kO_reJb=Tdx24OZ-Hu79{ zvhRY2Q&Z5NT!4$F9&XrxUJzd9+=k|<-(5R7I*{BQ`2o_GxUIyn6Pe9nNxhyd>}rcL&6WTTIT6Ga76$xVu~+M?WW(8xk2@I|1%cz9~i``Tl04M`|S*M$?a)ubo1cw`X;Z^QYdVpM%cjb!vIHjsI<|W2ee6CNT6hFyLLL|J6pm5g=4n;j=bSd!ruU{ zENFS%dq+#M0&n#X1vUq$YA(1v8{a?rAe(fF@I?G6^re~MvMQeqwW^ED;16jH(wp0r z1jkG#Xr%Q1s#A|Ymhcp_(IiFdX8(lJBOEo~Ro} z;e1zHU95!c#tfzX@DF%*FRX|t_VG8U%wGD|s{%>zccX1qv(#g+eAfKuNe$fgOq^e< zLZ1eW)mhP4Jj+h<6r1PFRo-4@E#WAvsqm^?hr&*pvdHKQVXKdypLQtl+;lypkUrft zKE(yb-ygE@ka9=qMQ7C~u^K$i(FRZf+0&X=8nqem;>N8iOFdsVR2#!%H2De-=UFq~ zKd1WaavI*S7Xp%CsFJF|Y$jyy;fKrhgW2)?$ALhH58Xg;%w>Qx1~}R`y3h-(HRqWC zx=`f0L#GCdnSpb;D{fM|X00Wg(e%dxRKZRp&`;FO^^sBU9Qz`6wksr{v7rOy7k~V_ z_IXN;R4icbuDN=Z*5Py@xT=-vajleJIPK+MTpe~k`w=Np8d8dlR+?B`3oFx2kJU?+ zlLt@OD94Iy_f`+4zAW4txb24zy~~=<;O1Uo@zK+49e@}=4jfmawGADEWYsgO%zAVW4|Qee}LS+m=yPa~zd06>Sq;4!U52#udg z+YEc=d{9lic3QsHmil`MlV^F6wv%2DJcbJf^E9r|x&E4ski_(>C@`BDiemMr>BFT@ zKBX&vd$8Qm$vt$)tykNtiv~a2Cym?Pr8~uLXc}~f#7UP<%izU!^7O_vN@;EGObEQ! zU^pJAJM+&Z+#}i)FvIJ~nNsyUb#R{aVkHpRtgQUl#pr_*jeISYk?3zC&V;|Ei0q~> zC&WeDXj@oMKaT#0{9r{rMZf{7`*Kr5wv<~Qdc998XFgx6%yoP2rMZ<{zz91ixeziDl7$TD z(QL--dVA3reF`hJsBmcEk87{FCH;1njF(RKCU&#S1yaA1{VoKS&mlZdh(i9KONr52 z&%GY%dK{}{apa>=Y1guG8C(pZi#DMRHfxVNcaQnfKZ3l0UP`;^D85<-Xyh|%UMxei zp2qqbbrsz0>g1C47&^0UI;~TQ9nSO4v@T>BCHyV#9ue&9?6_H@G+t`AOS_*OUW!td zSl;rJmJ>B_!iJr+fAj>Gw8f2B#wUkkogp+n@*TrHGIBkLsqC!!w+VwRHZ$CIDO93S zm*JPN0N*oKxiQ_|y?;C)zSD7@l10hY)ivk}0|3NC8G66DD0PO6!v6weKt1#_jEBl- z1HvqB@}I+6DuQ>xJ5*z7b)o!a)A1Dsf%*!wp*AUt6Zsxa5p8NZHR%}{g8dx!KlHz6 zX>Pvr4~!65p}m$0KY5c9o0CzczO%qZNJ_iep@4*Vj6GA-52~7pgT(UawVD}9N@JJR zRE`%hWN1d1Swf8!r?~IxrMrelSU3ky?Nj!MU)>UThwYaFF|;PsVxAKH`#1ok&T4$d zH|nvT6As2^b*J2Bb7B6?2m0Ym;X7vO@s#nWckAJ0ns3Y_3&L>wE z_jqGulsb%_tZ>P5y!%KrBS#5wt;vMN8!X?~={-yykI(M!d`KM6WT}^1<+^06(zi0> z<9%d3*bYcd=E&|rxSG5mO~p166?8>%E_a#7WpzNCBf^u@Sd^^I2XVZQ z{gf2HhwB<;f+73eRtGF*=As}T+gmjZak*>nEqc32cM87AqH`kf+0(x>g&>BI+m2i6dgZb`0v7gV8a^I2i^r!I}7QLLfy-c4HPzmal4Q-Q|x{;(9h& z&um{ei%7&_P~&zJ2R-S`;vm$4s89es*xUaa%HX|hG0)_{!r zXV3+^Fx&6Au0;T}e<1@sGQ4~EZr z=D&aUx1L>y(bMeK*{i#EpBbhNa!V7!O^&hm_g9Hk)+lKKU(dKwJWpY`P||Z;p$8ieiLQXzP4 z^P+P!W#)Pn9+|~qm&L5-=1=bcbXZV~?-SiNVvrIQxk{R^S8KYS&EzL^&|hw)8MHK| zgq=e+Svd@vYx2qf7So?mXoqJn*?)XPogOCN7?7RAFkDvkjjtRa$e%Fb&f1sv=*Ntk4)aJcRn>kTbh^}zsGQFbvRuLb}LUimOe|i{&QCO zKgK1URUq1xF_4IcquLtu3sabs2_Fve2)X)tWZ^^xIH5k^v!aW z9y->)6bnmAKZ#(Ad$)KQ=ydLc?l{)I8RFP%mH=;X#x*;$32}7~IsWLlu~Heyj<1BLAH3e52u&V6X#2ZYPux&3$(&3BI&@y&&_f)E{MzK09@d| z#{c?af&BFOkcoe^YXTz%TM@7TfB@$#C*#<}Qw0gZixjmAgf;+t;3OHo*fe|*O=*Db zdP3d!Kj(>Hm_S297(dDUMEr>Hq4Wt`yVURSSZQvv+G zfjzFrN8k29dFNlF4gO#>)k`dqG=Rs|cz}%j=eYfb`#d4=jhL@->@=)`A@I(KoaQcA z_}66s5(9;V&R@cn#AkK0KYI_9$`lvMdj(5*|Jl3VFd^H<;c-T-H-`^F5s%RhgbX}P zy#X}MrvsfJbEx{?Z1hLAfkWiJ>9UvzG&$?=)fUU`&%^SypTi{ncXw~@HE^VW9dV}E zCt#-=!3P+Y`kFVXf({x~$-(Zh)Cx^*^#sJkke-4Dd9wdjP1pD=QB9@=bf^vD|FJg_ zbO%5v57k@LXTe4av|EibpYgJcot29JVam``^3yq87vy}>h<}F^bksyhXEPBU(6)(y2XV@FR z`Fk#C!KONu_F6nQE$4te70z>YqCl}x-z~2}DN~}4Q()gp-%mXc!1?5N@Q^(R5zZSc^m2r7AOhK=k1^G88 z1&f;KeisC(TN6tC`6_|kF9WH9MUl%FBsVkideXr6Nm7>86UIVjhd62`Xguuv%Z5o= zE9uIIsOHzV-ZHPNZnT#*_QiX~c6>|g`hrX}WfE2zfEr?XwHr#_bQN*3+)p3%)c-Y) z@qD{h9-!r-vmajkoA3OMe@DXkIx8P&;ziHpB>TPZsX>p2;&816_JJ@-n}+C!3w8Gn za=2A;)N&OoQZrvn*G(o@!}VV_-w9u#vNr4@x%-lg>O(JFpTh8B)UaR$tz1@#77NLf zW5Nz%^Z!O}FpTL6>w$V$){VO7Jv}ndXgarOC+h`^ULihjIaf%j50CUu>aooc6OK3B zBhkJy^5j=$3E8t5{-43;d*QeF&folZB=ryw5kb|JDIv4GVlf>;oqEX$)XbVrqY}pF zroK;n_;O5kEy6t_yKmGv3tm|pmBb&^C=}rEvbAGK@YDBM)6}Qla@8;*5@TQ8Ejo%S zqUTMae-ZsVG^+;*Hnfbb5@q2*_v;*X8yXvf&d0gkj^=s5x>sJUqKxQ(Urx1d3s44q zp@hhtI%^Lemg~=V_zOtHC}*Q@czM-M))^IrnZCZD|D(`9lh0u*cYcVU`qS{aE@J!t zh7$Q}oCvO~RW~W%L&;xu2ZcG=ZS40Bd>C~Aq=7u}&DdCE=h_-ZyI3?V%@UlbON7T- z1uxh#`r;iIXU2M^8tBel`FAjasW(-_FQQf8xHfd*Y=+4ktwtQ(21|)=o5_0##g;1Z z+R(E13*bKp!AVKVoGf9B^#dB@ujL-f{5#~!_quS8xU)YUhz>5P2Yh5q&}Kq_cl?4; zPrfJ-an+IDD0VSi18w=p_H;v-JkW=;wfb3T3`OOfd@Ypd4l{U!KO=pDFVn4H*(I;e z;We-Q=E`D=qr^weD#BPF2_-JBpGHNEhK^Jf+cQJK`{%m%R=)AUEO<-e&Rqf>e+cjON`|^{{KBStQ-D$3D-TRr>A8; z;-{j@JN{0!N{Y}N_5R0gndYxoB8KXo8c6qB(pqn7i8^!!FkiP3yh?YD?BBsKIK+P( zWIVB@*gJIHjs7(+Sn02OUvDlZOt1#g3*8&NauKat5n*rTRycrsD;s7dN-E@@pHwxk zJO`Yr|Fgil(vwr=Cd#Pssep^01n{$9xyXlR7VUoHh{C)ay`dF)yjS|2-0`1hnJ{OX z{@+6y;fQ9%ze)MewR}ydB=DaW?gBU#xyVsl^Cq9$%+P7Zok3^8%P9e#$-JF|XHSnF!yhC2>UvoLX z2F!qoe%W==_SDW#CAx(FS{fqo7V+Z*apPZh9huE|;?&6W=IqbQga52{3oq(*0|7Z%T9&KyU{LLqG9NZ1jYUJxgO_UZSqF z;Mtn>S=3Ut{$jUt5LNAT6-gP1ajOO8ks zb(;S{RZ_%q7_001nD}LJg2S&+ztdv`gB!?0lu~KeBeil&3;RdI2uJ3z7oFb>pV{T^2pNGGICR3{QcE1l;aNKLY}GGov66ay29JR z$DX(N@HOtg2mGF-C(!-eJZFa`ovXU&T)pAc9IyM-UnefTI!&^02&r{Ruh0kg9T`C@ z`keB|+hkIOegKd@yQeU}qS2btYG{Zd>uDCv@3MR^ISZmHF== z@U$GPwxSp1?_GKI|J$3suZ&d{!pef4G2m8?tSHq-I9y(Ggh;G~H*7CZ^FfE^k8WuK zTu2OtZg{gq@k;%*H!B0VX&Nq|y{(?>sL51b+T3o_WgdNpBNHcE2=iyPv;meyQst4i z0c?)#Hm1lFpB8d%gQ96YsHg0{NIn&Z<|hW(Evxn!mNzte-+g?l6K!jHIjq0(!9t=b zw9+2BA}0^7<|ilxtLWdi)wX||cHE4-oO$iFvfR7CKV$f=$`nDRL2>dpdcjiq?6PLM z_S&>2a+VM6;XIMqR#$sf4n6Thvr2VML$H6V1hiFErhu2G&lXfpB~*-;5ixo<=*H;{ zRIFDYtb^Ck9{BOZ;km@5OQoKenD_>4wlFp}7Hk8VLKnf=FLVK+48pEcPCIj+YiZ^z zL~nx`kRp?JIAVFE*UI|qObUhy^h!4aWmhad?WZ#r&B2R)R5;GWqD`me`O{Wo|JY>k zd-?>14qRh(ljztdzssFX8XAM{SNak9}qC$Q{4daO>)%r)&y3z4L|dmBy^q96nKTU}Yr0mhG**I^`jsR&vAoi>{~x zS|fm63%lm_KMNZuU%hu-(%ybkXU26XPgFSrD*yE$-cTg(^;ga}qX{&F%H^R!XtUSN z$HvBT5$&dYsYgD2Pjb;~Zc`f1H09eqpz5CvrKGWB)A5^jRr_=o)~?-$D9208w^yrt z78|z6PToIp;_(K@ud|k#x_Cdl+XX#Dk)Hr8l8J4ZSBsvFT=XR0zg~ifd$g`}=aRqE z-?xYI(DB(LRYM4e?yPrlnYFLPvB*gMO75Ujn8{^wU81={Wx~AnE7#FxsJ+zF%d0Ls z?XY}!w+@!Q-ThG~5m2vSiwoLL^t{A*7^Psv`&5;$g$bk+7g1mhR3+Tb=?C>+ z^Vh@*z7GnD82J9#w637Pv9@4q$#dhjlI47UG<2j}0v&22UA_i3MWp?4>%szuuYI+< z``g9M1vlzZa69#P&)o@=~MbjL^W5TY%Ne24{`dm@$8GyTa*TtD?|GeDK(G^Unk z*nYPmHPuS1GW2Gx=a%ks*C-(rgL16KP{RzbmEnh~o#m)sYI`F-6?B7sCe2j+M(MuLs4C#WBz?_h zo)}AZXxo{&K}av5p*-PPik{@WWh3{Z`v3Qj7LV^m?ACaE7Y=6>0ij$EA3El5zamwa zAcS44sX$JoKin+X9`D%DIdpa=`9rEq{)-AWzcGr0Ec^4Hg&mBVX2g#1n6Vqt*sr&$ zf9E^OD*JR!W#`;GYQKZLr6nC=AJ9k`!4jcsr!KPnxppk{mRaIYu0M7d{0@TED_4|P zexT=GL7n&54*K8C5p#A1?2v|-*U}w~H2&~-f1On56Q{?7+)zWG*?a4X(EsaYJtn_- z6V_T4wdWhIb{Ew=0p5W~V}Hx#J<)x$KKbBg;HnzW|KxJI19@)pB>sQDTE2RcARD}l ztmkyqo9StF)jneKKY@u`eGmht(sJKA{qb zgZj^#7n*L9QsQFCM#I3? zj^Oc;?z3ErFHc);GZ-_mltg$b8Nx_sdc@vX}g2WXN;#H64?71=-v##P(SDF&%TjE0bpe zB_5zeY}bpMExs$2C3XvCt|WxM`bftf^6g^j7mi)mg<~gyHf=Fm7O|gn1;>JqoE*wWU;f|gnkk1-1kBnMDS;}fS`Xf-2*IMa zh^}GEd4YGWp^C;<#%NQQ=GF|^a~#Q37df}CK9-<*0lO=7HIc%)Cy`AjSUAsUE-SwE z>vGM)tC}faVY0(PfBroB}xg0`aS4+x|m{qHRzp5XoOluscYKF@i5%Z_nSpHr{S z_Xw_`&;Ef0M{lq^G*+f?CRCfM@b@xiVQN3dv@pala8T6+F}l#( zm7BC;BLho(?wycOmHAFX?jB#IKz{Cpyu2os_Wxq1&4jsN&*|=i7bFoaFW`_4yV9zr z>FGga%*Lc^xRo5R7LTSXowu#@CVKa!ZY%d<;=KqdlnIRDTPeW1Q$zKSWJ#D=gp`Ft zZ;gBxKu=oJHEX4f(2ls3hF0y}L1B+o6wi#ozk%l!#`#`#^BDa~40hls?HwTe>hDcJ zpYywwKne*>&IOTA-_W|Dgspg0!QLW!5!3GhX@0)F(O6zz?CqFQ=eYRmt|9?+xW1>&tkxWi#ucLW z?RjpT-Z)df%aLY@@&^eQ`G=K?8jS*{Cpm9acIVx5$}6Kx_D3op8hBzT{+uB&lifIWde|V(M13R2C^zzFK_nQ52vbu0-xS>R+w{ZLV?RrW_Ne@hTmx#;O47t+WDYQ;`ssJ7IzFfHP<5U*;D{0 z;9zflOs>*meAEfK3}UC-LRvM>qs zYKvfEy>DJQg)z$mp+d65Y-_uLN*_;DG6gjn)otA@JD_WPHX3kJtZAfNqoWg=kWYu=R7TF-* zwm3y0-a1&FVp$~!q@yWn=nmWeC-qn}R?e>ZmZ?Yx%P7JwX+L?tENMX9d@KC!@XvcH zQ#2^t~jJ!ik46pM#m;|r2`)o^HzYi{~r1aRn0dfVC#BaLitr%a{Fee5L$89)rxW7?MMYvlo!$mGVWF|+RiwAE0MZ4dS4C=o&^u%h1qA^C5$OT~A|><|2q+*Oq((?W=q->?6G8}iH_n|I z?wb#O@MlbN&faUS{j6vG4+VqCo0~g5QlI20ARpAXn5`UrVfHl`pkr#MaQk2qd*#Um z&dx<0$W>`-r-zH93#pf~+T2*;L~+OKr@7hSen@k8Z1%I7tup!@E-)-&F+C;kS0F6f zuo)LAihMR+KY!NxBK~2tVaag=EAF%^CL8_UXSBl4dG6gebs2@7N9&YrKeZwk=c+&! zP!M9TZk}9HQ*FIBa#I3LQSY*7&`d8Mt#UwmRKj9f|9BSA8Z;}%gZ?Rg?L5{m#o3iMjA;oZ*YC#<-N(p+CGd& zUqh}#=jRW%z19kOKO>a9ixH≪LtIyMyGiOoqgqUF0DTLAgK>gJLawpC!cHO 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%0Dpe!Kd#@SVjg+_nsRBD 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'); - // Sanitization - var ARGS = window.location.search.toLowerCase().replace('?',''); - if (ARGS) { - console.log('Parameters detected') - ARGS = ARGS.replaceAll('%20',''); - console.log(ARGS); - var args = ARGS.split('&'); - var site = ''; - var numHours = '72'; - var units = 'english'; - var chart ='on'; - var headers = 'on'; - var format = 'tabular'; - var hourly='false'; - var history = 'no'; - var pview = 'standard'; - var start = ''; - var end = ''; - var plot = ''; - var fontSize = 12; - for (i = 0; i < args.length; i++) { - var chunk = args[i].split('='); - if (chunk[0]=='site') { - if (1 < chunk[1].length && chunk[1].length < 10) { - site = chunk[1]; - } else { - popup(); - } - } else if (chunk[0]=='hours') { - if (isNaN(chunk[1])) { - popup(); - } else { - numHours = parseInt(chunk[1]); - if (1 > numHours || numHours > 720) { - popup(site); - } - } - } else if (chunk[0]=='units') { - if (chunk[1] == 'metric' || chunk[1] == 'english' || chunk[1] == 'english_k') { - units = chunk[1] - } else { - popup(site); - } - } else if (chunk[0]=='chart') { - if (chunk[1] == 'off') { - chart=chunk[1]; - $('#container').hide(); - } else if (chunk[1] == 'on') { - chart=chunk[1]; - } else{ - popup(site); - } - } else if (chunk[0]=='obs') { - if (chunk[1] == 'raw' || chunk[1] == 'tabular') { - format = chunk[1]; - } else { - popup(site); - } - } else if (chunk[0]=='font') { - if (parseInt(chunk[1])) { - fontSize = chunk[1]; - } else { - popup(site); - } - } else if (chunk[0]=='hourly') { - if (chunk[1] == 'true' || chunk[1] == 'false') { - hourly = chunk[1]; - } else { - popup(site); - } - } else if (chunk[0]=='headers') { - if (chunk[1] == 'none' || chunk[1] == 'min' || chunk[1] == 'on') { - headers = chunk[1]; - } else { - popup(site); - } - } else if (chunk[0]=='pview') { - if (chunk[1] == 'standard' || chunk[1] == 'full' || chunk[1] == 'measured') { - pview = chunk[1]; - } else { - popup(site); - } - } else if (chunk[0]=='plot') { - plot = chunk[1]; - } else if (chunk[0]=='fbclid') { - console.log('Facebook reference') - } else if (chunk[0] == 'start' && parseInt(chunk[1])) { - start = chunk[1]; - } else if (chunk[0] == 'end' && parseInt(chunk[1])) { - end = chunk[1]; - } else if (chunk[0] == 'history' && chunk[1] == 'yes') { - history = 'yes'; - } else { - popup(site); - } - } - if (!fontSize) { - fontSize = parseInt($('#OBS_DATA').css('font-size')); - } - if (site != '') { - $('#LBSITE').html('Users with low bandwidth, low computing power, or older devices may wish to click here .'); - monitorOBS(site,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot) - } else { - popup(); - } - } else { - popup(); - } - $('#HISTORY').click(function() { - if(this.checked) { - $('#STARTDATE').show(); - $('#STARTDATE').datepicker({ - altField: "#actualDate", - dateFormat: "yy-mm-dd", - maxDate: new Date, - onSelect:function (selectedDate) { - var MIN = new Date(selectedDate.split('-')[0], parseInt(selectedDate.split('-')[1]) - 1, selectedDate.split('-')[2]); - var MAX = new Date(selectedDate.split('-')[0], parseInt(selectedDate.split('-')[1]) - 1, selectedDate.split('-')[2]); - MAX.setDate(MAX.getDate()+29) - $('#ENDDATE').datepicker({ - dateFormat: "yy-mm-dd", - minDate: MIN, - maxDate: MAX - }) - $('#ENDDATE').show(); - } - }); - } else { - $('#STARTDATE').hide(); - $('#ENDDATE').hide(); - } - }); - // CSS hiding parts of the web page - $('.topnav').html(''); // HOME|FORECAST|PAST WX|SAFETY|INFO|EDUCATION|NEW|SEARCH|ABOUT - $('.topnav').css({'display': 'none', 'height' : '0px'}); // '' - $('#forecast-lookup').css({'display': 'none'}); // Local forecast by "City, St" or ZIP code - $('.five-sixth-last').css({'display': 'none'}); // "Top News" - $('.subMenuNav').html(''); // WR : Local Forecast Offices A-K|Local Forecast Offices L-Z|River Forecast Centers|Center Weather Service Units|Regional HQ - // WFOs: Cur Hazards|Cur Conditions|Radar|Forecasts|Rivers/Lakes|Climate|LocalPrograms - $('#myfcst-widget').hide(); // Customize Your Weather.gov - $('.five-sixth-first').css({'width' : '100%', 'padding-right': '0px', 'padding-left': '0px'}); // Add space from "Customize Your Weather.gov" to full width of page - $('.full-width-first').html(''); // FaceBook|Twitter|YouTube|RSS - $('.full-width-first').css({'display': 'none', 'height' : '0px'}); // '' - $('.footer').html(''); // Hide "Footer" - $('.footer').css({'display': 'none', 'height' : '0px'}); // '' - $('.full-width-border').css({'border-top' : 'white'}); // '' - $('.partial-width-borderbottom').css({'border-bottom' : 'white'}); // '' - - buildCustomMenu(SITE,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot) - $('#options').dialog({ - modal: true, - width: "75%", - maxWidth: "1000px", - autoOpen: false, - title: "Advanced Settings ", - closeOnEscape: true, - show: { effect: "fade", duration: 800 } - }); - $('#ABOUT').dialog({ - modal: true, - width: "75%", - maxWidth: "1000px", - autoOpen: false, - title: "About this page ", - closeOnEscape: true, - show: { effect: "fade", duration: 800 } - }); - $('#SETTINGS').click(function() { - $('#options').dialog('open'); - }); - $('#info').click(function() { - $('#ABOUT').dialog('open'); - }); - // Toggles - $('#unitsToggle').click(function() { - if (units == 'english') { - units = 'metric'; - } else if (units == 'metric') { - units = 'english_k'; - } else { - units = 'english'; - } - //var fontSize = parseInt($('#OBS_DATA').css('font-size')); - monitorOBS(site,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot); - }) - $('#dataToggle').click(function() { - if (hourly == 'true') { - hourly = 'false'; - } else { - hourly = 'true'; - } - //var fontSize = parseInt($('#OBS_DATA').css('font-size')); - monitorOBS(site,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot); - }) - $('#obsToggle').click(function() { - if (format == 'raw') { - format = 'tabular'; - } else { - format = 'raw'; - } - //var fontSize = parseInt($('#OBS_DATA').css('font-size')); - monitorOBS(site,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot); - }) - $('#hoursToggle').click(function() { - if (numHours < 168) { - numHours = 168; - } else { - numHours = 72; - } - //var fontSize = parseInt($('#OBS_DATA').css('font-size')); - monitorOBS(site,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot); - }) - $('#smallFont').click(function() { - //var fontSize = parseInt($('#OBS_DATA').css('font-size')); - console.log(fontSize); - fontSize = parseInt(fontSize) -1; - //$('#OBS_DATA').css({'font-size': fontSize}); - resizePage(fontSize); - }) - $('#resetFont').click(function() { - //$('#OBS_DATA').css({'font-size': 12}); - fontSize = 12; - resizePage(fontSize); - }) - $('#bigFont').click(function() { - //var fontSize = parseInt($('#OBS_DATA').css('font-size')); - console.log(fontSize); - fontSize = parseInt(fontSize) +1; - //$('#OBS_DATA').css({'font-size': fontSize}); - resizePage(fontSize); - }) -}) - -function popup(site) { - if (!site) { - site = 'kslc' - } - alert('Something is wrong!\n Valid arguments are "site"\n followed by a valid 2-6 letter identifier\n and optional arguments are:\n "hours" followed by an integer between 1 and 720\n "units" followed by "english", "english_k", or "metric" \n "obs" followed by "raw" (For ASOS/AWOS or Global METAR locations only)\n "headers" followed by "min" or "none"\n "chart" followed by "on" or "off"\n "hourly" followed by "true" or "false"\n "font" followed by an integer \n "pview" followed by "standard", "full" or "measured" \n Example:\nhttps://www.weather.gov/wrh/timeseries?site=kslc&hours=48&units=english&obs=raw&headers=off&chart=on&hourly=true&pview=full'); - window.location.href = 'https://www.weather.gov/wrh/timeseries?site='+site; -} - -function monitorOBS(SITE,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot) { - SITE = SITE.toUpperCase(); - console.log(SITE,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot); - window.setTimeout(function () { - //var fontSize = parseInt($('#OBS_DATA').css('font-size')); - monitorOBS(SITE,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize,plot) - }, 300000); - if (history == 'yes') { - numHours = 720; - } - // Build out select dropdown for charts - $(".plot_select").empty(); - $(".plot_select").append(""); - $(".perm_select").empty(); - $(".perm_select").append(""); - // Toggle certain variables - if (units == 'english') { - $('#unitsToggle').html('Switch to Metric Units'); - } else if (units == 'metric') { - $('#unitsToggle').html('Switch to US Units w/ kts'); - } else { - $('#unitsToggle').html('Switch to US Units w/ mph'); - } - if (hourly == 'true') { - $('#dataToggle').html('Show All Data'); - } else { - $('#dataToggle').html('Show Hourly Data'); - } - if (format == 'raw') { - $('#obsToggle').html('Decoded Observations'); - } else { - $('#obsToggle').html('Raw Observations'); - } - if (numHours < 73) { - $('#hoursToggle').html('7 Days'); - } else { - $('#hoursToggle').html('3 Days'); - } - $('#SITE').html(''); - var numMinutes = numHours * 60; - if (history != 'yes') { - if (units == 'english') { - var InfoToGet = 'https://api.synopticdata.com/v2/stations/timeseries?STID='+SITE+'&showemptystations=1&units=temp|F,speed|mph,english&recent='+numMinutes+'&complete=1&token='+mesoToken+'&obtimezone=local'; - } else if (units == 'english_k') { - var InfoToGet = 'https://api.synopticdata.com/v2/stations/timeseries?STID='+SITE+'&showemptystations=1&units=temp|F,speed|kts,english&recent='+numMinutes+'&complete=1&token='+mesoToken+'&obtimezone=local'; - } else if (units == 'metric') { - var InfoToGet = 'https://api.synopticdata.com/v2/stations/timeseries?STID='+SITE+'&showemptystations=1&recent='+numMinutes+'&complete=1&token='+mesoToken+'&obtimezone=local'; - } - } else { - if (units == 'english') { - var InfoToGet = 'https://api.synopticdata.com/v2/stations/timeseries?STID='+SITE+'&showemptystations=1&units=temp|F,speed|mph,english&start='+start+'0000&end='+end+'2359&complete=1&token='+mesoToken+'&obtimezone=local'; - } else if (units == 'english') { - var InfoToGet = 'https://api.synopticdata.com/v2/stations/timeseries?STID='+SITE+'&showemptystations=1&units=temp|F,speed|kts,english&start='+start+'0000&end='+end+'2359&complete=1&token='+mesoToken+'&obtimezone=local'; - } else if (units == 'metric') { - var InfoToGet = 'https://api.synopticdata.com/v2/stations/timeseries?STID='+SITE+'&showemptystations=1&start='+start+'0000&end='+end+'2359&complete=1&token='+mesoToken+'&obtimezone=local'; - } - } - console.log(InfoToGet); - $.getJSON(InfoToGet, function(DATA) { - if (DATA.SUMMARY.RESPONSE_MESSAGE == "OK") { - // Metadata - var stnID = DATA.STATION[0].STID; - var stnNAM = DATA.STATION[0].NAME; - document.title = stnNAM; - if (headers == 'on') { - $('.location-pagetitle').html(stnNAM); - } else { - $('#icons').hide; - $('.header').html(''); // NOAA BANNER - $('.header').css({'display': 'none', 'height' : '0px'}); // '' - $('.center-content').html(''); // - $('.footer').html(''); // - $('.footer-legal').html(''); // - } - var stnLAT = DATA.STATION[0].LATITUDE; - var stnLON = DATA.STATION[0].LONGITUDE - var stnELE = DATA.STATION[0].ELEVATION; - var state = DATA.STATION[0].STATE; - var cwa = DATA.STATION[0].CWA; - var network = DATA.STATION[0].SHORTNAME; - console.log(network); - var NETWORK = network.toUpperCase(); - var nwsZone = DATA.STATION[0].NWSZONE; - if (network == 'GLOBAL-METAR') { - network = 'ASOS/AWOS'; - } - if (network == 'ASOS/AWOS') { - $('#obsToggle').show(); - } else { - $('#obsToggle').hide(); - } - // Needed for stuff we need to derive - var derived = 0; - var accum_true = 0; - var has_speed = 0; - var has_precip = 0; - var has_pressure = 0; - - // Building block for datasets - var EngHeader = ''; - var MetHeader = '
    '; - var stamps = ''; - - if (DATA.STATION[0].hasOwnProperty('OBSERVATIONS') && DATA.STATION[0].OBSERVATIONS.hasOwnProperty('date_time')) { - stamps = DATA.STATION[0].OBSERVATIONS.date_time; - //console.log(stamps) - var numObs = DATA.STATION[0].OBSERVATIONS.date_time.length; - numObs = numObs - 1; - var tableData = ''; - // Loop through each observation - var METARString = '
    '; - for (j = numObs; j > -1; j--) { - // Date and time - var MW_TIMESTAMP = DATA.STATION[0].OBSERVATIONS.date_time[j]; - var TIMEZONE = DATA.STATION[0].TIMEZONE; - var timestamp = moment(MW_TIMESTAMP).tz(TIMEZONE).format('MMM D, h:mm a') - var hours = moment(MW_TIMESTAMP).tz(TIMEZONE).format('h'); - hours = parseInt(hours); - var minutes = moment(MW_TIMESTAMP).tz(TIMEZONE).format('mm'); - - // Temperature - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('air_temp_set_1')) { - var ATData = DATA.STATION[0].OBSERVATIONS.air_temp_set_1; - if (j == 0) { - plot_menu("temperature","Temperature"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.air_temp_set_1[j] !== null) { - var TEMP_F = ''; - } else { - var TEMP_F = ''; - } - } else { - var TEMP_F = ''; - } - // Dew Point - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('dew_point_temperature_set_1d')) { - if (j == 0) { - plot_menu("dewpt","Dew Point"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.dew_point_temperature_set_1d[j] !== null) { - var DEWPOINT = ''; - } else { - var DEWPOINT = ''; - } - } else { - var DEWPOINT = ''; - } - // Relative Humidity - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('relative_humidity_set_1')) { - if (j == 0) { - plot_menu("rh","Relative Humidity"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.relative_humidity_set_1[j] !== null) { - var RH_PCT = ''; - } else { - var RH_PCT = ''; - } - } else { - var RH_PCT = ''; - } - // Heat Index - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('heat_index_set_1d')) { - if (j == 0) { - plot_menu("heat_index","Heat Index"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.heat_index_set_1d[j] !== null) { - var HI = ''; - } else { - var HI = ''; - } - } else { - var HI = ''; - } - // Wind Chill - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('wind_chill_set_1d')) { - if (j == 0) { - plot_menu("wind_chill","Wind Chill"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.wind_chill_set_1d[j] !== null) { - var WC = ''; - } else { - var WC = ''; - } - } else { - var WC = ''; - } - // Wind Direction - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('wind_direction_set_1')) { - if (j == 0) { - plot_menu("wind_dir","Wind Direction"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.wind_cardinal_direction_set_1d[j] !== null) { - var Wind_DIR = (DATA.STATION[0].OBSERVATIONS.wind_cardinal_direction_set_1d[j]); - var WIND_DIR = ''; - } else { - var WIND_DIR = ''; - } - } else { - var WIND_DIR = ''; - } - // Wind Speed & Gust - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('wind_speed_set_1')) { - var has_speed=1; - if (j == 0) { - plot_menu("wind_speedgust","Wind Speed & Gusts"); - if (units == 'english') { - EngHeader += ''; - } else if (units == 'english_k') { - EngHeader += ''; - } - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.wind_speed_set_1[j] !== null) { - if (units == 'english' || units == 'english_k') { - var WIND_SPD = Math.round(DATA.STATION[0].OBSERVATIONS.wind_speed_set_1[j]); - if (WIND_SPD < 20 ) { - WIND_SPD = ''; - } else if (WIND_GST < 12 ) { - WIND_SPD += 'G'+WIND_GST+''; - } else if (WIND_GST < 13 ) { - WIND_SPD += 'G'+WIND_GST+''; - } else { - WIND_SPD += 'G'+WIND_GST+''; - } - } else { - var WIND_GST =Math.round((DATA.STATION[0].OBSERVATIONS.wind_gust_set_1[j])*3.6); - if (WIND_GST < 17) { - WIND_SPD += 'G'+WIND_GST+''; - } else if (WIND_GST < 19 ) { - WIND_SPD += 'G'+WIND_GST+''; - } else if (WIND_GST < 21 ) { - WIND_SPD += 'G'+WIND_GST+''; - } else { - WIND_SPD += 'G'+WIND_GST+''; - } - } - } else { - WIND_SPD += ''; - } - } - } else { - var WIND_SPD = ''; - } - // Wind Gust, where there is no speed ... - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('wind_gust_set_1')) { - if (has_speed == 0) { - if (j == 0) { - plot_menu("wind_gust","Wind Gusts"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.wind_gust_set_1[j] !== null) { - if (units == 'english') { - var WIND_GST =Math.round(DATA.STATION[0].OBSERVATIONS.wind_gust_set_1[j]); - if (WIND_GST < 11 ) { - var WIND_GUST = ''; - } else if (WIND_GST < 12 ) { - var WIND_GUST = ''; - } else if (WIND_GST < 13 ) { - var WIND_GUST = ''; - } else { - var WIND_GUST = ''; - } - } else { - var WIND_GST =Math.round((DATA.STATION[0].OBSERVATIONS.wind_gust_set_1[j])*3.6); - if (WIND_GST < 17 ) { - var WIND_GUST = ''; - } else if (WIND_GST < 19 ) { - var WIND_GUST = ''; - } else if (WIND_GST < 21 ) { - var WIND_GUST = ''; - } else { - var WIND_GUST = ''; - } - } - } else { - var WIND_GUST = ''; - } - } else { - var WIND_GUST =''; - } - } else { - var WIND_GUST =''; - } - // Fuel Temperature - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('fuel_temp_set_1')) { - if (j == 0) { - plot_menu("fuel_temp","Fuel Temperature"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.fuel_temp_set_1[j] !== null) { - var FUEL_T = ''; - } else { - var FUEL_T = ''; - } - } else { - var FUEL_T = ''; - } - // Fuel Moisture - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('fuel_moisture_set_1')) { - if (j == 0) { - plot_menu("fuel_moisture","Fuel Moisture"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.fuel_moisture_set_1[j] !== null) { - var FUEL_PCT = ''; - } else { - var FUEL_PCT = ''; - } - } else { - var FUEL_PCT = ''; - } - // Visibility - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('visibility_set_1')) { - if (j == 0) { - plot_menu("vsby","Visibility"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.visibility_set_1[j] !== null) { - if (units == 'metric') { - var VISIBILITY =((DATA.STATION[0].OBSERVATIONS.visibility_set_1[j])*1.609).toFixed(1); - if (VISIBILITY <= 1.6 ) { - VISIBILITY = ''; - } else if (VISIBILITY <= 5 ) { - VISIBILITY = ''; - } else if (VISIBILITY < 11) { - VISIBILITY = ''; - } else { - VISIBILITY = ''; - } - } else { - var VISIBILITY =(DATA.STATION[0].OBSERVATIONS.visibility_set_1[j]).toFixed(2); - if (VISIBILITY <= 1 ) { - VISIBILITY = ''; - } else if (VISIBILITY <= 3 ) { - VISIBILITY = ''; - } else if (VISIBILITY < 7) { - VISIBILITY = ''; - } else { - VISIBILITY = ''; - } - } - } else { - var VISIBILITY = ''; - } - } else { - var VISIBILITY = ''; - } - // Present Weather - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('weather_cond_code_set_1')) { - if (j == 0) { - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.weather_cond_code_set_1[j] !== null) { - if (network == 'ASOS/AWOS') { - var WEATHER = parseInt(DATA.STATION[0].OBSERVATIONS.weather_cond_code_set_1[j]); - if (WEATHER < 80) { // - WX_ELEM1 = getWeatherCode(WEATHER); - WX_ELEM2 = ''; - WX_ELEM3 = ''; - } else if (WEATHER < 6400) { - WX1 = Math.floor (WEATHER / 80); - WX_ELEM1 = getWeatherCode(WX1); - WX2 = (WEATHER % 80); - WX_ELEM2 = getWeatherCode(WX2)+','; - WX_ELEM3 = ''; - } else { - WX1 = Math.floor (WEATHER / 6400); - WX_ELEM1 = getWeatherCode(WX1); - - WX2 = (WEATHER -(6400 * WX1)); - WX2 = Math.floor(WX2/80); - WX_ELEM2 = getWeatherCode(WX2)+','; - - WX3 = (WEATHER % 80); - WX_ELEM3 = getWeatherCode(WX3)+','; - //console.log(WEATHER,WX3,WX_ELEM3,WX2,WX_ELEM2,WX1,WX_ELEM1); - } - WEATHER = ''; - } else { - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('weather_condition_set_1d')) { - WEATHER = ''; - } else { - WEATHER = ''; - } - } - } else { - var WEATHER = ''; - } - } else { - var WEATHER = ''; - } - //Cloud Layers - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('cloud_layer_1_code_set_1')) { - if (j == 0) { - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.cloud_layer_1_code_set_1[j] !== null) { - var SKY1 =(DATA.STATION[0].OBSERVATIONS.cloud_layer_1_code_set_1[j]).toString(); - var COVERAGE1 = SKY1.substr(SKY1.length -1); - if (COVERAGE1 == "1") { - SKY_COND1 = 'CLR'; - } else if (COVERAGE1 == "2") { - SKY_COND1 = 'SCT'; - } else if (COVERAGE1 == "3") { - SKY_COND1 = 'BKN'; - } else if (COVERAGE1 == "4") { - SKY_COND1 = 'OVC'; - } else if (COVERAGE1 == "5") { - SKY_COND1 = 'VV'; - } else if (COVERAGE1 == "6") { - SKY_COND1 = 'FEW'; - } else { - SKY_COND1 = ''; - } - var DECK1 = parseInt(SKY1.slice(0, -1)); - if (isNaN(DECK1)) { - DECK1 = ''; - } else if (DECK1 < 10) { - DECK1 = "00"+DECK1; - } else if (DECK1 < 100) { - DECK1 = "0"+DECK1; - } else { - DECK1 = DECK1; - } - } else { - var SKY_COND1 = ''; - var DECK1 = ''; - } - } else { - var SKY_COND1 = ''; - var DECK1 = ''; - } - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('cloud_layer_2_code_set_1')) { - if (DATA.STATION[0].OBSERVATIONS.cloud_layer_2_code_set_1[j] !== null) { - var SKY2 =(DATA.STATION[0].OBSERVATIONS.cloud_layer_2_code_set_1[j]).toString(); - var COVERAGE2 = SKY2.substr(SKY2.length -1); - if (COVERAGE2 == "1") { - SKY_COND2 = 'CLR'; - } else if (COVERAGE2 == "2") { - SKY_COND2 = 'SCT'; - } else if (COVERAGE2 == "3") { - SKY_COND2 = 'BKN'; - } else if (COVERAGE2 == "4") { - SKY_COND2 = 'OVC'; - } else if (COVERAGE2 == "5") { - SKY_COND2 = 'VV'; - } else if (COVERAGE2 == "6") { - SKY_COND2 = 'FEW'; - } else { - SKY_COND2 = ''; - } - var DECK2 = parseInt(SKY2.slice(0, -1)); - if (isNaN(DECK2)) { - DECK2 = ''; - } else if (DECK2 < 10) { - DECK2 = "00"+DECK2; - } else if (DECK2 < 100) { - DECK2 = "0"+DECK2; - } else { - DECK2 = DECK2; - } - } else { - var SKY_COND2 = ''; - var DECK2 = ''; - } - } else { - var SKY_COND2 = ''; - var DECK2 = ''; - } - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('cloud_layer_3_code_set_1')) { - if (DATA.STATION[0].OBSERVATIONS.cloud_layer_3_code_set_1[j] !== null) { - var SKY3 =(DATA.STATION[0].OBSERVATIONS.cloud_layer_3_code_set_1[j]).toString(); - var COVERAGE3 = SKY3.substr(SKY3.length -1); - if (COVERAGE3 == "1") { - SKY_COND3 = 'CLR'; - } else if (COVERAGE3 == "2") { - SKY_COND3 = 'SCT'; - } else if (COVERAGE3 == "3") { - SKY_COND3 = 'BKN'; - } else if (COVERAGE3 == "4") { - SKY_COND3 = 'OVC'; - } else if (COVERAGE3 == "5") { - SKY_COND3 = 'VV'; - } else if (COVERAGE3 == "6") { - SKY_COND3 = 'FEW'; - } else { - SKY_COND3 = ''; - } - var DECK3 = parseInt(SKY3.slice(0, -1)); - if (isNaN(DECK3)) { - DECK3 = ''; - } else if (DECK3 < 10) { - DECK3 = "00"+DECK3; - } else if (DECK3 < 100) { - DECK3 = "0"+DECK3; - } else { - DECK3 = DECK3; - } - } else { - var SKY_COND3 = ''; - var DECK3 = ''; - } - } else { - var SKY_COND3 = ''; - var DECK3 = ''; - } - var SKY_COND = ''; - // If there was a cloud layer, THEN make the cloud cells - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('cloud_layer_1_code_set_1')) { - if (SKY_COND1 == "CLR" || SKY_COND1 == "FEW" || SKY_COND1 == "SCT") { - LAYER1 = SKY_COND1+DECK1; - } else if (DECK1 < 10) { - LAYER1 = ''+SKY_COND1+DECK1+''; - } else if (DECK1 < 31) { - LAYER1 = ''+SKY_COND1+DECK1+''; - } else if (DECK1 < 81) { - LAYER1 = ''+SKY_COND1+DECK1+''; - } else { - LAYER1 = SKY_COND1+DECK1; - } - - if (SKY_COND2 == "CLR" || SKY_COND2 == "FEW" || SKY_COND2 == "SCT") { - LAYER2 = SKY_COND2+DECK2; - } else if (DECK2 < 10) { - LAYER2 = ''+SKY_COND2+DECK2+''; - } else if (DECK2 < 31) { - LAYER2 = ''+SKY_COND2+DECK2+''; - } else if (DECK2 < 81) { - LAYER2 = ''+SKY_COND2+DECK2+''; - } else { - LAYER2 = SKY_COND2+DECK2; - } - if (SKY_COND3 == "CLR" || SKY_COND3 == "FEW" || SKY_COND3 == "SCT") { - LAYER3 = SKY_COND3+DECK3; - } else if (DECK3 < 10) { - LAYER3 = ''+SKY_COND3+DECK3+''; - } else if (DECK3 < 31) { - LAYER3 = ''+SKY_COND3+DECK3+''; - } else if (DECK3 < 81) { - LAYER3 = ''+SKY_COND3+DECK3+''; - } else { - LAYER3 = SKY_COND3+DECK3; - } - var SKY_COND = ''; - } - // Sea Level Pressure - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('sea_level_pressure_set_1')) { - if (j == 0) { - plot_menu("slp","Sea Level Pressure"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1[j] !== null) { - if (units == 'metric') { - var SEALEVEL = ''; - } else { - var SEALEVEL = ''; - } - } else { - var SEALEVEL = ''; - } - } else if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('sea_level_pressure_set_1d')) { - if (j == 0) { - plot_menu("slp","Sea Level Pressure"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1d[j] !== null) { - if (units == 'metric') { - var SEALEVEL = ''; - } else { - var SEALEVEL = ''; - } - } else { - var SEALEVEL = ''; - } - } else { - var SEALEVEL = ''; - } - // Station Pressure - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('pressure_set_1')) { - has_pressure = 1; - if (j == 0) { - plot_menu("stn_press","Station Pressure"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.pressure_set_1[j] !== null) { - if (units == 'metric') { - var P = ''; - } else { - if ((DATA.STATION[0].OBSERVATIONS.pressure_set_1[j]).toFixed(2) < 50) { - var P = ''; - } else { - var P = ''; - } - } - } else { - var P = ''; - } - } else { - var P = ''; - } - // Altimeter Setting - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('altimeter_set_1')) { - if (j == 0) { - if (has_pressure == 0) { - EngHeader += ''; - MetHeader += ''; - } - plot_menu("alstg","Altimeter Setting"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.altimeter_set_1[j] !== null) { - var stationP = calcStationP(DATA.STATION[0].OBSERVATIONS.altimeter_set_1[j],stnELE); - if (units == 'metric') { - if (has_pressure == 0) { - var ALTIMTER = ''; - } else { - var ALTIMTER = ''; - } - } else { - if (has_pressure == 0) { - var ALTIMTER = ''; - } else { - var ALTIMTER = ''; - } - } - } else { - if (has_pressure == 0) { - var ALTIMTER = ''; - } else { - var ALTIMTER = ''; - } - } - } else { - var ALTIMTER = ''; - } - // Station Pressure - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('station_pressure_set_1')) { - if (j == 0) { - plot_menu("stn_press_2","Station Pressure"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.station_pressure_set_1[j] !== null) { - if (units == 'metric') { - var STATION_P = ''; - } else { - var STATION_P = ''; - } - } else { - var STATION_P = ''; - } - } else { - var STATION_P = ''; - } - // Solar Radiation - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('solar_radiation_set_1')) { - if (j == 0) { - plot_menu("solar_rad","Solar Radiation"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.solar_radiation_set_1[j] !== null) { - var RAW_SOLAR = (Math.round(DATA.STATION[0].OBSERVATIONS.solar_radiation_set_1[j])); - var SOLAR_POSS = calcSolarPCT(MW_TIMESTAMP,stnLAT,stnLON); - var PCT = Math.round (100 * RAW_SOLAR / SOLAR_POSS); - if (PCT > 100) { - PCT = 100; - } - if (RAW_SOLAR > 0 && SOLAR_POSS > 0) { - var SOLAR = ''; - var SOLAR_PCT = ''; - } else { - var SOLAR = ''; - var SOLAR_PCT = ''; - } - } else { - var SOLAR = ''; - var SOLAR_PCT = ''; - } - } else { - var SOLAR = ''; - var SOLAR_PCT = ''; - } - // Surface Temperature - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('surface_temp_set_1')) { - if (j == 0) { - plot_menu("surface_temp","Surface Temperature"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.surface_temp_set_1[j] !== null) { - var SURF_T = ''; - } else { - var SURF_T = ''; - } - } else { - var SURF_T = ''; - } - // Soil Temperature - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('soil_temp_set_1')) { - if (j == 0) { - plot_menu("soil_temp","Soil Temperature"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.soil_temp_set_1[j] !== null) { - var SOIL_T = ''; - } else { - var SOIL_T = ''; - } - } else { - var SOIL_T = ''; - } - // Road Temperature - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('road_temp_set_1')) { - if (j == 0) { - plot_menu("road_temp","Road Temperature"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.road_temp_set_1[j] !== null) { - var ROAD_T = ''; - } else { - var ROAD_T = ''; - } - } else if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('road_temp_set_2')) { - if (j == 0) { - plot_menu("road_temp_2","Road Temperature"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.road_temp_set_2[j] !== null) { - var ROAD_T = ''; - } else { - var ROAD_T = ''; - } - } else { - var ROAD_T = ''; - } - // Road Sub-Surface Temp - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('road_subsurface_tmp_set_1')) { - if (j == 0) { - plot_menu("road_sub_temp","Road Sub-Surface Temp"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.road_subsurface_tmp_set_1[j] !== null) { - var SROAD_T = ''; - } else { - var SROAD_T = ''; - } - } else { - var SROAD_T = ''; - } - // If Accumulated Precip or any increment of precip up to one hour is set, - // we will calculate 1, 3, 6 and 24 hour precip values on our own. - // Synoptic does not consistently return ihigher interval data for those fields - // Even if we get those fields, we will disable any processing of that data down the line. - - // Accumulated Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_set_1')) { - derived = 1; - accum_true = 1; - has_precip = 1; - if (j == 0) { - plot_menu("accum_pcpn","Accumulated Precip"); - if (pview == 'measured') { - EngHeader += ''; - MetHeader += ''; - } else { - EngHeader += ''; - MetHeader += ''; - } - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_set_1[j] !== null) { - var ACC_Precip = (DATA.STATION[0].OBSERVATIONS.precip_accum_set_1[j]).toFixed(2); - var oneHRprecip = ''; - var threeHRprecip = ''; - var sixHRprecip = ''; - var oneDAYprecip = ''; - if (pview == 'measured') { - oneHRprecip = ''; - threeHRprecip = ''; - sixHRprecip = ''; - oneDAYprecip = ''; - var ACC_PCPN = ''; - } else if (pview == 'full') { - oneHRprecip = getDerivedPrecip(60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - threeHRprecip = getDerivedPrecip(180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - sixHRprecip = getDerivedPrecip(360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - oneDAYprecip = getDerivedPrecip(1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - var ACC_PCPN = ''; - } else if (numHours > numObs) { - oneHRprecip = getDerivedPrecip(60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - if (hours % 3 === 0 || j == numObs) { - threeHRprecip = getDerivedPrecip(180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - } - if (hours % 6 === 0 || j == numObs) { - sixHRprecip = getDerivedPrecip(360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - } - if (hours % 12 === 0 || j == numObs) { - oneDAYprecip = getDerivedPrecip(1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - } - var ACC_PCPN = ''; - } else { - if (minutes == '00' || j == numObs) { - oneHRprecip = getDerivedPrecip(60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - if (hours % 3 === 0 || j == numObs) { - threeHRprecip = getDerivedPrecip(180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - } - if (hours % 6 === 0 || j == numObs) { - sixHRprecip = getDerivedPrecip(360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - } - if (hours % 12 === 0 || j == numObs) { - oneDAYprecip = getDerivedPrecip(1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_set_1); - } - } - var ACC_PCPN = ''; - } - } else { - if (pview == 'measured') { - var ACC_PCPN = ''; - } else { - var ACC_PCPN = ''; - } - } - } else { - var ACC_PCPN = ''; - } - // If we have accumulated precip, there is no need for any of these. - if (accum_true == 0) { - // 1 Minute Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_one_minute_set_1')) { - derived = 1; - has_precip = 1; - if (j == 0) { - plot_menu("one_min_pcpn","1 Minute Precip"); - if (pview == 'measured') { - EngHeader += ''; - MetHeader += ''; - } else { - EngHeader += ''; - MetHeader += ''; - } - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1[j] !== null) { - var oneMINprecip = (DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1[j]).toFixed(2); - if (oneMINprecip == '0.001' || oneMINprecip == '0.005') { - oneMINprecip = 'T'; - } - var oneHRprecip = ''; - var threeHRprecip = ''; - var sixHRprecip = ''; - var oneDAYprecip = ''; - if (pview == 'measured') { - var MIN_1_PCPN = ''; - } else if (pview == 'full') { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1); - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1); - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1); - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1); - var MIN_1_PCPN = ''; - } else if (minutes == '00' || j == numObs) { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1); - if (hours % 3 === 0 || j == numObs) { - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1); - } else { - threeHRprecip = ''; - } - if (hours % 6 === 0 || j == numObs) { - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1); - } else { - sixHRprecip = ''; - } - if (hours % 12 === 0 || j == numObs) { - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_one_minute_set_1); - } else { - oneDAYprecip = ''; - } - var MIN_1_PCPN = ''; - } else { - var MIN_1_PCPN = ''; - } - } else { - if (pview == 'measured') { - var MIN_1_PCPN = ''; - } else { - var MIN_1_PCPN = ''; - } - } - } else { - var MIN_1_PCPN = ''; - } - // 5 Minute Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_five_minute_set_1')) { - derived = 1; - has_precip = 1; - if (j == 0) { - plot_menu("five_min_pcpn","5 Minute Precip"); - if (pview == 'measured') { - EngHeader += ''; - MetHeader += ''; - } else { - EngHeader += ''; - MetHeader += ''; - } - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1[j] !== null) { - var fiveMINprecip = (DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1[j]).toFixed(2); - if (fiveMINprecip == '0.001' || fiveMINprecip == '0.005') { - fiveMINprecip = 'T'; - } - var oneHRprecip = ''; - var threeHRprecip = ''; - var sixHRprecip = ''; - var oneDAYprecip = ''; - if (pview == 'measured') { - var MIN_5_PCPN = ''; - } else if (pview == 'full') { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1); - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1); - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1); - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1); - var MIN_5_PCPN = ''; - } else if (minutes == '00' || j == numObs) { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1); - if (hours % 3 === 0 || j == numObs) { - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1); - } else { - threeHRprecip = ''; - } - if (hours % 6 === 0 || j == numObs) { - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1); - } else { - sixHRprecip = ''; - } - if (hours % 12 === 0 || j == numObs) { - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_five_minute_set_1); - } else { - oneDAYprecip = ''; - } - var MIN_5_PCPN = ''; - } else { - var MIN_5_PCPN = ''; - } - } else { - if (pview == 'measured') { - var MIN_5_PCPN = ''; - } else { - var MIN_5_PCPN = ''; - } - } - } else { - var MIN_5_PCPN = ''; - } - // 10 Minute Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_ten_minute_set_1')) { - derived = 1; - has_precip = 1; - if (j == 0) { - plot_menu("ten_min_pcpn","10 Minute Precip"); - if (pview == 'measured') { - EngHeader += ''; - MetHeader += ''; - } else { - EngHeader += ''; - MetHeader += ''; - } - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1[j] !== null) { - var tenMINprecip = (DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1[j]).toFixed(2); - var oneHRprecip = ''; - var threeHRprecip = ''; - var sixHRprecip = ''; - var oneDAYprecip = ''; - if (pview == 'measured') { - var MIN_10_PCPN = ''; - } else if (pview == 'full') { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1); - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1); - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1); - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1); - var MIN_10_PCPN = ''; - } else if (minutes == '00' || j == numObs) { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1); - if (hours % 3 === 0 || j == numObs) { - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1); - } else { - threeHRprecip = ''; - } - if (hours % 6 === 0 || j == numObs) { - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1); - } else { - sixHRprecip = ''; - } - if (hours % 12 === 0 || j == numObs) { - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_ten_minute_set_1); - } else { - oneDAYprecip = ''; - } - var MIN_10_PCPN = ''; - } else { - var MIN_10_PCPN = ''; - } - } else { - if (pview == 'measured') { - var MIN_10_PCPN = ''; - } else { - var MIN_10_PCPN = ''; - } - } - } else { - var MIN_10_PCPN = ''; - } - // 15 Minute Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_fifteen_minute_set_1')) { - derived = 1; - has_precip = 1; - if (j == 0) { - plot_menu("fifteen_min_pcpn","15 Minute Precip"); - if (pview == 'measured') { - EngHeader += ''; - MetHeader += ''; - } else { - EngHeader += ''; - MetHeader += ''; - } - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1[j] !== null) { - var fifteenMINprecip = (DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1[j]).toFixed(2); - var oneHRprecip = ''; - var threeHRprecip = ''; - var sixHRprecip = ''; - var oneDAYprecip = ''; - if (pview == 'measured') { - var MIN_15_PCPN = ''; - } else if (pview == 'full') { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1); - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1); - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1); - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1); - var MIN_15_PCPN = ''; - } else if (minutes == '00' || j == numObs) { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1); - if (hours % 3 === 0 || j == numObs) { - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1); - } else { - threeHRprecip = ''; - } - if (hours % 6 === 0 || j == numObs) { - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1); - } else { - sixHRprecip = ''; - } - if (hours % 12 === 0 || j == numObs) { - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_fifteen_minute_set_1); - } else { - oneDAYprecip = ''; - } - var MIN_15_PCPN = ''; - } else { - var MIN_15_PCPN = ''; - } - } else { - if (pview == 'measured') { - var MIN_15_PCPN = ''; - } else { - var MIN_15_PCPN = ''; - } - } - } else { - var MIN_15_PCPN = ''; - } - // 30 Minute Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_30_minute_set_1')) { - derived = 1; - has_precip = 1; - if (j == 0) { - plot_menu("thirty_min_pcpn","30 Minute Precip"); - if (pview == 'measured') { - EngHeader += ''; - MetHeader += ''; - } else { - EngHeader += ''; - MetHeader += ''; - } - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1[j] !== null) { - var thirtyMINprecip = (DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1[j]).toFixed(2); - var oneHRprecip = ''; - var threeHRprecip = ''; - var sixHRprecip = ''; - var oneDAYprecip = ''; - if (pview == 'measured') { - var MIN_30_PCPN = ''; - } else if (pview == 'full') { - oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1); - threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1); - sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1); - oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1); - var MIN_30_PCPN = ''; - } else if (minutes == '00' || j == numObs) { - var oneHRprecip = calcIncrementalPrecip (60,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1); - if (hours % 3 === 0 || j == numObs) { - var threeHRprecip = calcIncrementalPrecip (180,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1); - } else { - var threeHRprecip = ''; - } - if (hours % 6 === 0 || j == numObs) { - var sixHRprecip = calcIncrementalPrecip (360,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1); - } else { - var sixHRprecip = ''; - } - if (hours % 12 === 0 || j == numObs) { - var oneDAYprecip = calcIncrementalPrecip (1440,j,stamps,DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1); - } else { - var oneDAYprecip = ''; - } - var MIN_30_PCPN = ''; - } else { - var MIN_30_PCPN = ''; - } - } else { - if (pview == 'measured') { - var MIN_30_PCPN = ''; - } else { - var MIN_30_PCPN = ''; - } - } - } else { - var MIN_30_PCPN = ''; - } - } else { - var MIN_1_PCPN = ''; - var MIN_5_PCPN = ''; - var MIN_10_PCPN = ''; - var MIN_15_PCPN = ''; - var MIN_30_PCPN = ''; - } - // We have built out 1, 3, 6 and 24 hour precip data with the 1, 5, 10, 15, and 30 minute data - // As such, if we did not get any 1, 5, 10, 15, or 30 minute data, test for 1, 3, 6, and 24 hout data - if (derived == '0') { - // 1 Hour Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_one_hour_set_1')) { - has_precip = 1; - if (j == 0) { - plot_menu("one_hour_pcpn","1 Hour Precip"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_one_hour_set_1[j] !== null) { - if (parseFloat(DATA.STATION[0].OBSERVATIONS.precip_accum_one_hour_set_1[j]) == '0.001' || parseFloat(DATA.STATION[0].OBSERVATIONS.precip_accum_one_hour_set_1[j]) == '0.005') { - var HR_1_PCPN = ''; - } else { - var HR_1_PCPN = ''; - } - } else { - var HR_1_PCPN = ''; - } - } else { - var HR_1_PCPN = ''; - } - // 3 Hour Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_three_hour_set_1')) { - has_precip = 1; - if (j == 0) { - plot_menu("three_hour_pcpn","3 Hour Precip"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_three_hour_set_1[j] !== null) { - if (parseFloat(DATA.STATION[0].OBSERVATIONS.precip_accum_three_hour_set_1[j]) == '0.001' || parseFloat(DATA.STATION[0].OBSERVATIONS.precip_accum_three_hour_set_1[j]) == '0.005') { - var HR_3_PCPN = ''; - } else { - var HR_3_PCPN = ''; - } - } else { - var HR_3_PCPN = ''; - } - } else { - var HR_3_PCPN = ''; - } - // 6 Hour Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_six_hour_set_1')) { - has_precip = 1; - if (j == 0) { - plot_menu("six_hour_pcpn","6 Hour Precip"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_six_hour_set_1[j] !== null) { - if (parseFloat(DATA.STATION[0].OBSERVATIONS.precip_accum_six_hour_set_1[j]) == '0.001' || parseFloat(DATA.STATION[0].OBSERVATIONS.precip_accum_six_hour_set_1[j]) == '0.005') { - var HR_6_PCPN = ''; - } else { - var HR_6_PCPN = ''; - } - } else { - var HR_6_PCPN = ''; - } - } else { - var HR_6_PCPN = ''; - } - // 24 Hour Precip - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_24_hour_set_1')) { - has_precip = 1; - if (j == 0) { - plot_menu("twentyfour_hour_pcpn","24 Hour Precip"); - EngHeader += ''; - MetHeader += ''; - - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_24_hour_set_1[j] !== null) { - if (parseFloat(DATA.STATION[0].OBSERVATIONS.precip_accum_24_hour_set_1[j]) == '0.001' || parseFloat(DATA.STATION[0].OBSERVATIONS.precip_accum_24_hour_set_1[j]) == '0.005') { - var HR_24_PCPN = ''; - } else { - var HR_24_PCPN = ''; - } - } else { - var HR_24_PCPN = ''; - } - } else { - var HR_24_PCPN = ''; - } - } else { - var HR_1_PCPN = ''; - var HR_3_PCPN = ''; - var HR_6_PCPN = ''; - var HR_24_PCPN = ''; - } - // Precip since Midnight - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_accum_since_local_midnight_set_1')) { - has_precip = 1; - if (j == 0) { - plot_menu("sincemid_pcpn","Precip since Midnight"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.precip_accum_since_local_midnight_set_1[j] !== null) { - var MIDNIGHT = ''; - } else { - var MIDNIGHT = ''; - } - } else { - var MIDNIGHT = ''; - } - // Precip since Midnight - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('precip_interval_set_1')) { - has_precip = 1; - if (j == 0) { - plot_menu("sincemid_pcpn","Precip Interval"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.precip_interval_set_1[j] !== null) { - var PRECIPINT = ''; - } else { - var PRECIPINT = ''; - } - } else { - var PRECIPINT = ''; - } - // Snow Depth - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('snow_depth_set_1')) { - if (j == 0) { - plot_menu("snow_depth","Snow Depth"); - if (pview == 'measured') { - EngHeader += ''; - MetHeader += ''; - } else { - EngHeader += ''; - MetHeader += 'Snowfall
    3 hour
    (mm)
    '; - } - } - var curSnow = ''; - if (DATA.STATION[0].OBSERVATIONS.snow_depth_set_1[j] !== null) { - curSnow = (DATA.STATION[0].OBSERVATIONS.snow_depth_set_1[j]).toFixed(1); - var threeHRsnow = ''; - var sixHRsnow = '' - var oneDAYsnow = '' - if (pview == 'measured') { - threeHRsnow = ''; - sixHRsnow = '' - oneDAYsnow = '' - } else if (pview == 'full') { - threeHRsnow = getDerivedSnow(180,j,stamps,DATA.STATION[0].OBSERVATIONS.snow_depth_set_1); - sixHRsnow = getDerivedSnow(360,j,stamps,DATA.STATION[0].OBSERVATIONS.snow_depth_set_1); - oneDAYsnow = getDerivedSnow(1440,j,stamps,DATA.STATION[0].OBSERVATIONS.snow_depth_set_1); - } else if (minutes == '00' || j == numObs) { - if (hours % 3 === 0 || j == numObs) { - threeHRsnow = getDerivedSnow(180,j,stamps,DATA.STATION[0].OBSERVATIONS.snow_depth_set_1); - } - if (hours % 6 === 0 || j == numObs) { - sixHRsnow = getDerivedSnow(360,j,stamps,DATA.STATION[0].OBSERVATIONS.snow_depth_set_1); - } - if (hours % 12 === 0 || j == numObs) { - oneDAYsnow = getDerivedSnow(1440,j,stamps,DATA.STATION[0].OBSERVATIONS.snow_depth_set_1); - } - } - } - if (curSnow === undefined || DATA.STATION[0].OBSERVATIONS.snow_depth_set_1[j] === null) { - curSnow = ''; - } - if (threeHRsnow === undefined) { - threeHRsnow = ''; - } - if (sixHRsnow === undefined) { - sixHRsnow = ''; - } - if (oneDAYsnow === undefined) { - oneDAYsnow = ''; - } - if (pview == 'measured') { - var SNOW_DEPTH = ''; - } else { - var SNOW_DEPTH = ''; - } - } else { - var SNOW_DEPTH = ''; - } - // Snow Interval - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('snow_interval_set_1')) { - if (j == 0) { - plot_menu("snow_interval","Snow Interval"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.snow_interval_set_1[j] !== null) { - var SNOW_INTERVAL = ''; - } else { - var SNOW_INTERVAL = ''; - } - } else { - var SNOW_INTERVAL = ''; - } - var SNOW_HR_24 = ''; - // Snow Interval - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('snow_accum_set_1')) { - if (j == 0) { - plot_menu("snow_accum","Snow Interval"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.snow_accum_set_1[j] !== null) { - var SNOW_ACCUM = ''; - } else { - var SNOW_ACCUM = ''; - } - } else { - var SNOW_ACCUM = ''; - } - var SNOW_HR_24 = ''; - // Snow Water Equivalent - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('snow_water_equiv_set_1')) { - if (j == 0) { - plot_menu("snow_water","Snow Water Equivalent"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.snow_water_equiv_set_1[j] !== null) { - var SWE = ''; - } else { - var SWE = ''; - } - } else { - var SWE = ''; - } - // Snow Water Equivalent - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('snow_water_equiv_set_2')) { - if (j == 0) { - plot_menu("snow_water2","Daily Snow Water Equivalent"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.snow_water_equiv_set_2[j] !== null) { - var SWE2 = ''; - } else { - var SWE2 = ''; - } - } else { - var SWE2 = ''; - } - // 6 Hour Max T - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('air_temp_high_6_hour_set_1')) { - if (j == 0) { - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.air_temp_high_6_hour_set_1[j] !== null) { - var HR6_MAXT = ''; - } else { - var HR6_MAXT = ''; - } - } else { - var HR6_MAXT = ''; - } - // 6 Hour Min T - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('air_temp_low_6_hour_set_1')) { - if (j == 0) { - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.air_temp_low_6_hour_set_1[j] !== null) { - var HR6_MINT = ''; - } else { - var HR6_MINT = ''; - } - } else { - var HR6_MINT = ''; - } - // 24 Hour Max T - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('air_temp_high_24_hour_set_1')) { - if (j == 0) { - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.air_temp_high_24_hour_set_1[j] !== null) { - var HR24_MAXT = ''; - } else { - var HR24_MAXT = ''; - } - } else { - var HR24_MAXT = ''; - } - // 24 Hour Min T - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('air_temp_low_24_hour_set_1')) { - if (j == 0) { - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.air_temp_low_24_hour_set_1[j] !== null) { - var HR24_MINT = ''; - } else { - var HR24_MINT = ''; - } - } else { - var HR24_MINT = ''; - } - // Water Temperature - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('T_water_temp_set_1')) { - if (j == 0) { - plot_menu("water_temp","Water Temperature"); - EngHeader += ''; - MetHeader += ''; - } - if (DATA.STATION[0].OBSERVATIONS.T_water_temp_set_1[j] !== null) { - var WATER_T = ''; - } else { - var WATER_T = ''; - } - } else { - var WATER_T = ''; - } - // Append one row of data to the stream - // If the 'Hourly' flag is set to true, post only data between a range of 51 minutes past the hour to 4 minutes after. This should catch most stuff - if (hourly == 'true') { - if (network == 'ASOS/AWOS') { - // Actual ASOS/AWOS Sites report sea level pressure in "official" obs (METAR/SPECI) - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('sea_level_pressure_set_1')) { - if (DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1[j] !== null) { - tableData += ''+TEMP_F+DEWPOINT+RH_PCT+HI+WC+WIND_DIR+WIND_SPD+WIND_GUST+FUEL_T+FUEL_PCT+VISIBILITY+WEATHER+SKY_COND+SEALEVEL+P+ALTIMTER+STATION_P+SOLAR+SOLAR_PCT+SURF_T+SOIL_T+ROAD_T+SROAD_T+ACC_PCPN+MIN_1_PCPN+MIN_5_PCPN+MIN_10_PCPN+MIN_15_PCPN+MIN_30_PCPN+HR_1_PCPN+HR_3_PCPN+HR_6_PCPN+HR_24_PCPN+MIDNIGHT+PRECIPINT+SNOW_DEPTH+SNOW_INTERVAL+SNOW_ACCUM+SNOW_HR_24+SWE+SWE2+HR6_MAXT+HR6_MINT+HR24_MAXT+HR24_MINT+WATER_T+''; - // METARS - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('metar_set_1')) { - if (DATA.STATION[0].OBSERVATIONS.metar_set_1[j] !== null) { - METARString += ''; - } else { - METARString += ''; - } - } - // SPECI - } else if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('metar_set_1')) { - if (DATA.STATION[0].OBSERVATIONS.metar_set_1[j] !== null) { - if (DATA.STATION[0].OBSERVATIONS.metar_set_1[j].toUpperCase().startsWith(SITE)) { - tableData += ''+TEMP_F+DEWPOINT+RH_PCT+HI+WC+WIND_DIR+WIND_SPD+WIND_GUST+FUEL_T+FUEL_PCT+VISIBILITY+WEATHER+SKY_COND+SEALEVEL+P+ALTIMTER+STATION_P+SOLAR+SOLAR_PCT+SURF_T+SOIL_T+ROAD_T+SROAD_T+ACC_PCPN+MIN_1_PCPN+MIN_5_PCPN+MIN_10_PCPN+MIN_15_PCPN+MIN_30_PCPN+HR_1_PCPN+HR_3_PCPN+HR_6_PCPN+HR_24_PCPN+MIDNIGHT+PRECIPINT+SNOW_DEPTH+SNOW_INTERVAL+SNOW_ACCUM+SNOW_HR_24+SWE+SWE2+HR6_MAXT+HR6_MINT+HR24_MAXT+HR24_MINT+WATER_T+''; - METARString += ''; - } - } else { - tableData += ''; - METARString += ''; - } - } else { - tableData += ''; - METARString += ''; - } - // Non fed sites - } else { - if (minutes.toString() == '51' || minutes.toString() == '52' || minutes.toString() == '53' || minutes.toString() == '54' || minutes.toString() == '55' || minutes.toString() == '56' || minutes.toString() == '57' || minutes.toString() == '58' || minutes.toString() == '59') { - tableData += ''+TEMP_F+DEWPOINT+RH_PCT+HI+WC+WIND_DIR+WIND_SPD+WIND_GUST+FUEL_T+FUEL_PCT+VISIBILITY+WEATHER+SKY_COND+SEALEVEL+P+ALTIMTER+STATION_P+SOLAR+SOLAR_PCT+SURF_T+SOIL_T+ROAD_T+SROAD_T+ACC_PCPN+MIN_1_PCPN+MIN_5_PCPN+MIN_10_PCPN+MIN_15_PCPN+MIN_30_PCPN+HR_1_PCPN+HR_3_PCPN+HR_6_PCPN+HR_24_PCPN+MIDNIGHT+PRECIPINT+SNOW_DEPTH+SNOW_INTERVAL+SNOW_ACCUM+SNOW_HR_24+SWE+SWE2+HR6_MAXT+HR6_MINT+HR24_MAXT+HR24_MINT+WATER_T+''; - METARString += ''; - } else { - tableData += ''; - METARString += ''; - } - } - } else if (minutes.toString() == '00' || minutes.toString() == '01' || minutes.toString() == '02' || minutes.toString() == '03' || minutes.toString() == '04' || minutes.toString() == '56' || minutes.toString() == '57' || minutes.toString() == '58' || minutes.toString() == '59') { - tableData += ''+TEMP_F+DEWPOINT+RH_PCT+HI+WC+WIND_DIR+WIND_SPD+WIND_GUST+FUEL_T+FUEL_PCT+VISIBILITY+WEATHER+SKY_COND+SEALEVEL+P+ALTIMTER+STATION_P+SOLAR+SOLAR_PCT+SURF_T+SOIL_T+ROAD_T+SROAD_T+ACC_PCPN+MIN_1_PCPN+MIN_5_PCPN+MIN_10_PCPN+MIN_15_PCPN+MIN_30_PCPN+HR_1_PCPN+HR_3_PCPN+HR_6_PCPN+HR_24_PCPN+MIDNIGHT+PRECIPINT+SNOW_DEPTH+SNOW_INTERVAL+SNOW_ACCUM+SNOW_HR_24+SWE+SWE2+HR6_MAXT+HR6_MINT+HR24_MAXT+HR24_MINT+WATER_T+''; - } else if (numHours >= numObs) { - tableData += ''+TEMP_F+DEWPOINT+RH_PCT+HI+WC+WIND_DIR+WIND_SPD+WIND_GUST+FUEL_T+FUEL_PCT+VISIBILITY+WEATHER+SKY_COND+SEALEVEL+P+ALTIMTER+STATION_P+SOLAR+SOLAR_PCT+SURF_T+SOIL_T+ROAD_T+SROAD_T+ACC_PCPN+MIN_1_PCPN+MIN_5_PCPN+MIN_10_PCPN+MIN_15_PCPN+MIN_30_PCPN+HR_1_PCPN+HR_3_PCPN+HR_6_PCPN+HR_24_PCPN+MIDNIGHT+PRECIPINT+SNOW_DEPTH+SNOW_INTERVAL+SNOW_ACCUM+SNOW_HR_24+SWE+SWE2+HR6_MAXT+HR6_MINT+HR24_MAXT+HR24_MINT+WATER_T+''; - } else { - tableData += ''; - } - } else if (hourly == 'false') { - // METARS - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('metar_set_1')) { - if (DATA.STATION[0].OBSERVATIONS.metar_set_1[j] !== null) { - METARString += ''; - } else { - METARString += ''; - } - } - tableData += ''+TEMP_F+DEWPOINT+RH_PCT+HI+WC+WIND_DIR+WIND_SPD+WIND_GUST+FUEL_T+FUEL_PCT+VISIBILITY+WEATHER+SKY_COND+SEALEVEL+P+ALTIMTER+STATION_P+SOLAR+SOLAR_PCT+SURF_T+SOIL_T+ROAD_T+SROAD_T+ACC_PCPN+MIN_1_PCPN+MIN_5_PCPN+MIN_10_PCPN+MIN_15_PCPN+MIN_30_PCPN+HR_1_PCPN+HR_3_PCPN+HR_6_PCPN+HR_24_PCPN+MIDNIGHT+PRECIPINT+SNOW_DEPTH+SNOW_INTERVAL+SNOW_ACCUM+SNOW_HR_24+SWE+SWE2+HR6_MAXT+HR6_MINT+HR24_MAXT+HR24_MINT+WATER_T+''; - } - } // Successful return of data - if (cwa !== null) { - var officeLink = ' - '+cwa+''; - var selectedObs = '
    For selected observations near this location: click here

     ' - } else { - var officeLink = ''; - var selectedObs = ''; - } - if (headers == 'none') { - var header0 = ''; - var CSS = ''; - var divToWrite = '.content'; - } else if (headers == 'min') { - var header0 = '

    Weather conditions for:
    '+stnNAM+', '+ state +' ('+NETWORK+officeLink+')
    Elev: '+stnELE+' ft; Lat/Lon: '+stnLAT+'/'+stnLON+'

    '; - var CSS = ''; - var divToWrite = '.content'; - } else { - if (has_precip == 1 || network == 'ASOS/AWOS') { - var header0 = '

    Weather conditions for:
    '+stnNAM+', '+ state +' ('+NETWORK+officeLink+')
    Elev: '+stnELE+' ft; Lat/Lon: '+stnLAT+'/'+stnLON+'

    Get Yearly Precip Total (non QA/QC\'d data)
    Get Water Year Precip Total (non QA/QC\'d data):
    '+selectedObs; - var CSS = ''; - var divToWrite = '#OBS'; - } else { - var header0 = '

    Weather conditions for:
    '+stnNAM+', '+ state +' ('+NETWORK+officeLink+')
    Elev: '+stnELE+' ft; Lat/Lon: '+stnLAT+'/'+stnLON+'
     

    '+selectedObs; - var CSS = ''; - var divToWrite = '#OBS'; - } - } - if (format == 'raw' && network == 'ASOS/AWOS') { - $(divToWrite).html(CSS+ header0 + EngHeader + METARString+'
    Temp.
     
    (°F)
    Temp.
     
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.air_temp_set_1[j])+' Dew
    Point
    (°F)
    Dew
    Point
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.dew_point_temperature_set_1d[j])+' Relative
    Humidity
    (%)
    Relative
    Humidity
    (%)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.relative_humidity_set_1[j])+' Heat
    Index
    (°F)
    Heat
    Index
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.heat_index_set_1d[j])+' Wind
    Chill
    (°F)
    Wind
    Chill
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.wind_chill_set_1d[j])+' Wind
    Direction
     
    Wind
    Direction
     
    '+Wind_DIR+' Wind
    Speed
    (mph)
    Wind
    Speed
    (kts)
    Wind
    Speed
    (kph)
    '+WIND_SPD; - } else if (WIND_SPD < 40 ) { - WIND_SPD = ''+WIND_SPD+''; - } else if (WIND_SPD < 58 ) { - WIND_SPD = ''+WIND_SPD+''; - } else { - WIND_SPD = ''+WIND_SPD+''; - } - } else { - var WIND_SPD = Math.round((DATA.STATION[0].OBSERVATIONS.wind_speed_set_1[j])*3.6); - if (WIND_SPD < 32 ) { - WIND_SPD = ''+WIND_SPD; - } else if (WIND_SPD < 64 ) { - WIND_SPD = ''+WIND_SPD+''; - } else if (WIND_SPD < 93 ) { - WIND_SPD = ''+WIND_SPD+''; - } else { - WIND_SPD = ''+WIND_SPD+''; - } - } - } else { - var WIND_SPD = ' '; - } - if (DATA.STATION[0].OBSERVATIONS.hasOwnProperty('wind_gust_set_1')) { - if (DATA.STATION[0].OBSERVATIONS.wind_gust_set_1[j] !== null) { - if (units == 'english' || units == 'english_k') { - var WIND_GST =Math.round(DATA.STATION[0].OBSERVATIONS.wind_gust_set_1[j]); - if (WIND_GST < 11 ) { - WIND_SPD += 'G'+WIND_GST+'Wind
    Gust
    (mph)
    Wind
    Gust
    (kph)
    '+WIND_GST+''+WIND_GST+''+WIND_GST+'G'+WIND_GST+''+WIND_GST+''+WIND_GST+''+WIND_GST+'G'+WIND_GST+' Fuel
    Temp.
    (°F)
    Fuel
    Temp.
    (°F)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.fuel_temp_set_1[j])+' Fuel
    Moisture
    (%)
    Fuel
    Moisture
    (%)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.fuel_moisture_set_1[j])+' Visibility
     
    (miles)
    Visibility
     
    (km)
    '+VISIBILITY.replace('-','< ')+''+VISIBILITY+''+Math.round(VISIBILITY)+''+Math.round(VISIBILITY)+''+VISIBILITY.replace('-','< ')+''+VISIBILITY+''+VISIBILITY+''+VISIBILITY+' Weather
     
     
    Weather
     
     
    '+WX_ELEM3+' '+WX_ELEM2+' '+WX_ELEM1+''+(DATA.STATION[0].OBSERVATIONS.weather_condition_set_1d[j])+'  Clouds
     
    (x100 ft)
    Clouds
     
    (x100 ft)
    '+LAYER1+' '+LAYER2+' '+LAYER3+'Sea Level
    Pressure
    (mb)
    Sea Level
    Pressure
    (mb)
    '+((DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1[j])/100).toFixed(2)+''+(DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1[j]).toFixed(2)+' Sea Level
    Pressure
    (mb)
    Sea Level
    Pressure
    (mb)
    '+((DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1d[j])/100).toFixed(2)+''+(DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1d[j]).toFixed(2)+' Station
    Pressure
    (in Hg)
    Station
    Pressure
    (mb)
    '+((DATA.STATION[0].OBSERVATIONS.pressure_set_1[j])/100).toFixed(2)+''+(DATA.STATION[0].OBSERVATIONS.pressure_set_1[j]).toFixed(2)+''+((DATA.STATION[0].OBSERVATIONS.pressure_set_1[j])/33.684).toFixed(2)+' Station
    Pressure
    (in Hg)
    Station
    Pressure
    (mb)
    Altimeter
    Setting
    (in Hg)
    Altimeter
    Setting
    (mb)
    '+(stationP/100).toFixed(2)+''+((DATA.STATION[0].OBSERVATIONS.altimeter_set_1[j])/100).toFixed(2)+''+((DATA.STATION[0].OBSERVATIONS.altimeter_set_1[j])/100).toFixed(2)+''+stationP+''+(DATA.STATION[0].OBSERVATIONS.altimeter_set_1[j]).toFixed(2)+''+(DATA.STATION[0].OBSERVATIONS.altimeter_set_1[j]).toFixed(2)+'   Station
    Pressure
    (in Hg)
    Station
    Pressure
    (mb)
    '+((DATA.STATION[0].OBSERVATIONS.station_pressure_set_1[j])/100).toFixed(2)+''+(DATA.STATION[0].OBSERVATIONS.station_pressure_set_1[j]).toFixed(2)+' Solar
    Radiation
    (W/m²)
    Percent
    Possible
    (%)
    Solar
    Radiation
    (W/m²)
    Percent
    Possible
    (%)
    '+RAW_SOLAR+''+PCT+' %0--  Surface
    Temp.
    (°F)
    Surface
    Temp.
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.surface_temp_set_1[j])+' Soil
    Temp.
    (°F)
    Soil
    Temp.
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.soil_temp_set_1[j])+' Road
    Temp.
    (°F)
    Road
    Temp.
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.road_temp_set_1[j])+' Road
    Temp.
    (°F)
    Road
    Temp.
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.road_temp_set_2[j])+' Road
    Temp.
    (°F)
    Road
    Temp.
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.road_subsurface_tmp_set_1[j])+' Accumulated
    Precip
    (in)
    Accumulated
    Precip
    (mm)
    Accumulated
    Precip
    (in)
    1 Hour
    Precip
    (in)
    3 Hour
    Precip
    (in)
    6 Hour
    Precip
    (in)
    24 Hour
    Precip
    (in)
    Accumulated
    Precip
    (mm)
    1 Hour
    Precip
    (mm)
    3 Hour
    Precip
    (mm)
    6 Hour
    Precip
    (mm)
    24 Hour
    Precip
    (mm)
    '+ACC_Precip+''+ACC_Precip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+ACC_Precip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+ACC_Precip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+'      1 Min.
    Precip
    (in)
    1 Min.
    Precip
    (mm)
    1 Min.
    Precip
    (in)
    1 Hour
    Precip
    (in)
    3 Hour
    Precip
    (in)
    6 Hour
    Precip
    (in)
    24 Hour
    Precip
    (in)
    1 Min.
    Precip
    (mm)
    1 Hour
    Precip
    (mm)
    3 Hour
    Precip
    (mm)
    6 Hour
    Precip
    (mm)
    24 Hour
    Precip
    (mm)
    '+oneMINprecip+''+oneMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+oneMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+oneMINprecip+'          5 Min.
    Precip
    (in)
    5 Min.
    Precip
    (mm)
    5 Min.
    Precip
    (in)
    1 Hour
    Precip
    (in)
    3 Hour
    Precip
    (in)
    6 Hour
    Precip
    (in)
    24 Hour
    Precip
    (in)
    5 Min.
    Precip
    (mm)
    1 Hour
    Precip
    (mm)
    3 Hour
    Precip
    (mm)
    6 Hour
    Precip
    (mm)
    24 Hour
    Precip
    (mm)
    '+fiveMINprecip+''+fiveMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+fiveMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+fiveMINprecip+'          10 Min.
    Precip
    (in)
    10 Min.
    Precip
    (mm)
    10 Min.
    Precip
    (in)
    1 Hour
    Precip
    (in)
    3 Hour
    Precip
    (in)
    6 Hour
    Precip
    (in)
    24 Hour
    Precip
    (in)
    10 Min.
    Precip
    (mm)
    1 Hour
    Precip
    (mm)
    3 Hour
    Precip
    (mm)
    6 Hour
    Precip
    (mm)
    24 Hour
    Precip
    (mm)
    '+tenMINprecip+''+tenMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+tenMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+tenMINprecip+'          15 Min.
    Precip
    (in)
    15 Min.
    Precip
    (mm)
    15 Min.
    Precip
    (in)
    1 Hour
    Precip
    (in)
    3 Hour
    Precip
    (in)
    6 Hour
    Precip
    (in)
    24 Hour
    Precip
    (in)
    15 Min.
    Precip
    (mm)
    1 Hour
    Precip
    (mm)
    3 Hour
    Precip
    (mm)
    6 Hour
    Precip
    (mm)
    24 Hour
    Precip
    (mm)
    '+fifteenMINprecip+''+fifteenMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+fifteenMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+fifteenMINprecip+'          30 Min.
    Precip
    (in)
    30 Min.
    Precip
    (mm)
    30 Min.
    Precip
    (in)
    1 Hour
    Precip
    (in)
    3 Hour
    Precip
    (in)
    6 Hour
    Precip
    (in)
    24 Hour
    Precip
    (in)
    30 Min.
    Precip
    (mm)
    1 Hour
    Precip
    (mm)
    3 Hour
    Precip
    (mm)
    6 Hour
    Precip
    (mm)
    24 Hour
    Precip
    (mm)
    '+thirtyMINprecip+''+thirtyMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+thirtyMINprecip+''+oneHRprecip+''+threeHRprecip+''+sixHRprecip+''+oneDAYprecip+''+(DATA.STATION[0].OBSERVATIONS.precip_accum_30_minute_set_1[j]).toFixed(2)+'          1 Hour
    Precip
    (in)
    1 Hour
    Precip
    (mm)
    T'+(DATA.STATION[0].OBSERVATIONS.precip_accum_one_hour_set_1[j]).toFixed(2)+' 3 Hour
    Precip
    (in)
    3 Hour
    Precip
    (mm)
    T'+(DATA.STATION[0].OBSERVATIONS.precip_accum_three_hour_set_1[j]).toFixed(2)+' 6 Hour
    Precip
    (in)
    6 Hour
    Precip
    (mm)
    T'+(DATA.STATION[0].OBSERVATIONS.precip_accum_six_hour_set_1[j]).toFixed(2)+' 24 Hour
    Precip
    (in)
    24 Hour
    Precip
    (mm)
    T'+(DATA.STATION[0].OBSERVATIONS.precip_accum_24_hour_set_1[j]).toFixed(2)+' Precip
    Since 12am
    (in)
    Precip
    Since 12am
    (mm)
    '+(DATA.STATION[0].OBSERVATIONS.precip_accum_since_local_midnight_set_1[j]).toFixed(2)+' Precip
    Interval
    (in)
    Precip
    Interval
    (mm)
    '+(DATA.STATION[0].OBSERVATIONS.precip_interval_set_1[j]).toFixed(2)+' Snow
    Depth
    (in)
    Snow
    Depth
    (mm)
    Snow
    Depth
    (in)
    Snowfall
    3 hour
    (in)
    Snowfall
    6 Hour
    (in)
    Snowfall
    24 Hour
    (in)
    Snow
    Depth
    (mm)
    Snowfall
    6 Hour
    (mm)
    Snowfall
    24 Hour
    (mm)
    '+curSnow+''+curSnow+''+threeHRsnow+''+sixHRsnow+''+oneDAYsnow+'Snow
    Interval
    (in)
    Snow
    Interval
    (mm)
    '+(DATA.STATION[0].OBSERVATIONS.snow_interval_set_1[j]).toFixed(1)+' Snow
    Interval
    (in)
    Snow
    Interval
    (mm)
    '+(DATA.STATION[0].OBSERVATIONS.snow_accum_set_1[j]).toFixed(1)+' Snow/Water
    Equivalent
    (in)
    Snow/Water
    Equivalent
    (mm)
    '+(DATA.STATION[0].OBSERVATIONS.snow_water_equiv_set_1[j]).toFixed(2)+' Daily
    SWE
    (in)
    Daily
    SWE
    (mm)
    '+(DATA.STATION[0].OBSERVATIONS.snow_water_equiv_set_2[j]).toFixed(2)+' 6 Hr
    Max
    (°F)
    6 Hr
    Max
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.air_temp_high_6_hour_set_1[j])+' 6 Hr
    Min
    (°F)
    6 Hr
    Min
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.air_temp_low_6_hour_set_1[j])+' 24 Hr
    Max
    (°F)
    24 Hr
    Max
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.air_temp_high_24_hour_set_1[j])+' 24 Hr
    Min
    (°F)
    24 Hr
    Min
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.air_temp_low_24_hour_set_1[j])+' Water
    Temp.
    (°F)
    Water
    Temp.
    (°C)
    '+Math.round(DATA.STATION[0].OBSERVATIONS.T_water_temp_set_1[j])+' 
    '+timestamp+'
    '+DATA.STATION[0].OBSERVATIONS.metar_set_1[j]+'
    '+timestamp+'
    SPECI '+DATA.STATION[0].OBSERVATIONS.metar_set_1[j]+'
    '+timestamp+'
    '+DATA.STATION[0].OBSERVATIONS.metar_set_1[j]+'
    '+timestamp+'
    '+timestamp+'
    '+DATA.STATION[0].OBSERVATIONS.metar_set_1[j]+'
    '+timestamp+'
    '); - $('#HEADER').hide(); - } else if (units == 'english' || units == 'english_k') { - $(divToWrite).html(CSS+ header0 + EngHeader +'' + tableData+''); - $('#HEADER').show(); - } else { - $(divToWrite).html(CSS+ header0 + MetHeader +'' + tableData+''); - $('#HEADER').show(); - } - //if (fontSize !== undefined || fontSize != '12') { - // $('#OBS_DATA').css({'font-size': fontSize}); - //resizePage(); - //} else { - // resizePage(); - //} - if (chart == 'on') { - var DATA1 = ''; - var DATA2 = ''; - var DATA3 = ''; - var chartLabel = ''; - if (DATA.STATION[0].OBSERVATIONS.air_temp_set_1) { - var chartBit = '1'; - DATA1 = DATA.STATION[0].OBSERVATIONS.air_temp_set_1; - chartLabel += 'Temperature'; - } - if (DATA.STATION[0].OBSERVATIONS.dew_point_temperature_set_1d) { - DATA2 = DATA.STATION[0].OBSERVATIONS.dew_point_temperature_set_1d; - if (chartLabel) { - chartLabel += '& Dew Point'; - } else { - chartLabel += 'Dew Point'; - } - } - if (DATA.STATION[0].OBSERVATIONS.relative_humidity_set_1) { - DATA3 = DATA.STATION[0].OBSERVATIONS.relative_humidity_set_1 - if (chartLabel) { - chartLabel += '& Relative Humidity'; - } else { - chartLabel += 'Relative Humidity'; - } - } - if (DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1) { - SLPData = DATA.STATION[0].OBSERVATIONS.sea_level_pressure_set_1; - } else { - SLPData = undefined; - } - if (plot) { - $('#'+plot).click(); - } else if (chartLabel) { - makeLineChart(''+stamps+'',''+DATA1+'',chartLabel,units,TIMEZONE,''+DATA2+'',''+DATA3+'',network,hourly,numHours,''+SLPData+''); - } else { - $('#container').hide(); - } - } - } else { - // Station has not reported in the specified number of hours - $('#container').hide(); - SITE = SITE.replace('COOP',''); - $('#OBS').html('

    '+SITE +' has no data available for the requested time period

    '); - } - resizePage(fontSize); - } else { //if (DATA.SUMMARY.RESPONSE_MESSAGE.substr(0,33) == 'No stations found for this request') { - // Maybe this is a COOP site, so let's check, just in case - if (SITE.toLowerCase().substr(0,4) != 'coop') { - monitorOBS('COOP'+SITE,numHours,units,format,headers,chart,hourly,history,start,end,pview,fontSize) - // Station ID not valid - } else { - $('#container').hide(); - SITE = SITE.replace('COOP',''); - $('#OBS').html('

    '+SITE +' is not a valid station identifier.

    '); - } - } - }) -} -///////////////////////////////////// -function plot_menu(in_id,in_string) { - var out_string=""; - $(".plot_select").append(out_string); - $(".perm_select").append(out_string); -} -$(function(){ - $('.plot_select').change(function(){ - $( "#" + $(this).val() ).trigger( "click" ); - }); -}); -///////////////////////////////////// -function getWeatherCode(WEATHER) { - // Documentation: https://blog.synopticlabs.org/blog/2016/09/26/weather-condition-codes.html - // Coloring from MesoWest: - // '/TS|SQ|FC/ $r_wx"; } - // '/RA|SN|GS|GR $r_wx"; } - // '/FG|FU|BS/ $r_wx"; } - // '/BR|HZ/ $r_wx"; } - if (WEATHER == -3) { - HTML = 'FC'; - DESC = 'Water Spout'; - } else if (WEATHER == -2) { - HTML = 'FC'; - DESC = 'Funnel Cloud'; - } else if (WEATHER == -1) { - HTML = 'FC'; - DESC = 'Tornado'; - } else if (WEATHER == 1) { - HTML = 'RA'; - DESC = 'Rain'; - } else if (WEATHER == 2) { - HTML = 'DZ'; - DESC = 'Drizzle'; - } else if (WEATHER == 3) { - HTML = 'SN'; - DESC = 'Snow'; - } else if (WEATHER == 4) { - HTML = 'GR'; - DESC = 'Hail'; - } else if (WEATHER == 5) { - HTML = 'TS'; - DESC = 'Thunder'; - } else if (WEATHER == 6) { - HTML = 'HZ'; - DESC = 'Haze'; - } else if (WEATHER == 7) { - HTML = 'FU'; - DESC = 'Smoke'; - } else if (WEATHER == 8) { - HTML = 'DU'; - DESC = 'Dust'; - } else if (WEATHER == 9) { - HTML = 'FG'; - DESC = 'Fog'; - } else if (WEATHER == 10) { - HTML = 'SQ'; - DESC = 'Squalls'; - } else if (WEATHER == 11) { - HTML = 'VA'; - DESC = 'Volcanic Ash'; - } else if (WEATHER == 13) { - HTML = '-RA'; - DESC = 'Lt rain'; - } else if (WEATHER == 14) { - HTML = '+RA'; - DESC = 'Hvy rain'; - } else if (WEATHER == 15) { - HTML = 'ZR'; - DESC = 'Freezing rain'; - } else if (WEATHER == 16) { - HTML = 'SH'; - DESC = 'Shwrs'; - } else if (WEATHER == 17) { - HTML = '-DZ'; - DESC = 'Lt drizzle'; - } else if (WEATHER == 18) { - HTML = '+DZ'; - DESC = 'Hvy drizzle'; - } else if (WEATHER == 19) { - HTML = 'FZDZ'; - DESC = 'Freezing drizzle'; - } else if (WEATHER == 20) { - HTML = '-SN'; - DESC = 'Lt snow'; - } else if (WEATHER == 21) { - HTML = '+SN'; - DESC = 'Hvy snow'; - } else if (WEATHER == 22) { - HTML = 'SN'; - DESC = 'Snow'; - } else if (WEATHER == 23) { - HTML = 'PL'; - DESC = 'Ice pellets'; - } else if (WEATHER == 24) { - HTML = 'SG'; - DESC = 'Snow grains'; - } else if (WEATHER == 25) { - HTML = 'GS'; - DESC = 'Snow pellets'; - } else if (WEATHER == 26) { - HTML = '-GR'; - DESC = 'Lt hail'; - } else if (WEATHER == 27) { - HTML = '+GR'; - DESC = 'Hvy hail'; - } else if (WEATHER == 28) { - HTML = '-TS'; - DESC = 'Lt thunderstorm'; - } else if (WEATHER == 29) { - HTML = '+TS'; - DESC = 'Hvy thunderstorm'; - } else if (WEATHER == 30) { - HTML = 'FZFG'; - DESC = 'Freezing Fog'; - } else if (WEATHER == 31) { - HTML = 'BR'; - DESC = 'Mist'; - } else if (WEATHER == 32) { - HTML = 'BLSN'; - DESC = 'Blowing snow'; - } else if (WEATHER == 33) { - HTML = 'BLDU'; - DESC = 'Blowing dust'; - } else if (WEATHER == 34) { - HTML = 'BLPY'; - DESC = 'Blowing spray'; - } else if (WEATHER == 35) { - HTML = 'BLSA'; - DESC = 'Blowing sand'; - } else if (WEATHER == 36) { - HTML = 'IC'; - DESC = 'Ice crystals'; - } else if (WEATHER == 37) { - HTML = 'IC'; - DESC = 'Ice needles'; - } else if (WEATHER == 38) { - HTML = '-GR'; - DESC = 'Lt hail'; - } else if (WEATHER == 39) { - HTML = 'FUHZ'; - DESC = 'Smoke, haze'; - } else if (WEATHER == 40) { - HTML = 'DU'; - DESC = 'Dust whirls'; - } else if (WEATHER == 41) { - HTML = 'UP'; - DESC = 'Unknown precipitation'; - } else if (WEATHER == 49) { - HTML = '-ZR'; - DESC = 'Lt freezing rain'; - } else if (WEATHER == 50) { - HTML = '+ZR'; - DESC = 'Heavy freezing rain'; - } else if (WEATHER == 51) { - HTML = '-SH'; - DESC = 'Lt shwrs'; - } else if (WEATHER == 52) { - HTML = '+SH'; - DESC = 'Hvy shwrs'; - } else if (WEATHER == 53) { - HTML = '-FZDZ'; - DESC = 'Lt freezing drizzle'; - } else if (WEATHER == 54) { - HTML = '+FZDZ'; - DESC = 'Hvy freezing drizzle'; - } else if (WEATHER == 55) { - HTML = '-SN'; - DESC = 'Lt snow'; - } else if (WEATHER == 56) { - HTML = '+SN'; - DESC = 'Hvy snow'; - } else if (WEATHER == 57) { - HTML = '-PL'; - DESC = 'Lt ice pellets'; - } else if (WEATHER == 58) { - HTML = '+PL'; - DESC = 'Hvy ice pellets'; - } else if (WEATHER == 59) { - HTML = '-SG'; - DESC = 'Lt snow grains'; - } else if (WEATHER == 60) { - HTML = '+SG'; - DESC = 'Heavy snow grains'; - } else if (WEATHER == 61) { - HTML = '-GS'; - DESC = 'Lt snow pellets'; - } else if (WEATHER == 62) { - HTML = '+GS'; - DESC = 'Hvy snow pellets'; - } else if (WEATHER == 63) { - HTML = 'PL'; - DESC = 'Ice pellets'; - } else if (WEATHER == 64) { - HTML = '-IC'; - DESC = 'Lt ice crystals'; - } else if (WEATHER == 65) { - HTML = '+IC'; - DESC = 'Hvy ice crystals'; - } else if (WEATHER == 66) { - HTML = 'TSRA'; - DESC = 'Thunder shwr'; - } else if (WEATHER == 67) { - HTML = 'GS'; - DESC = 'Snow pellets'; - } else if (WEATHER == 68) { - HTML = '+BLDU'; - DESC = 'Hvy blowing dust'; - } else if (WEATHER == 69) { - HTML = '+BLSA'; - DESC = 'Hvy blowing sand'; - } else if (WEATHER == 69) { - HTML = '+BLSN'; - DESC = 'Hvy blowing snow'; - } else if (WEATHER == 75) { - HTML = '-PL'; - DESC = 'Lt ice pellets'; - } else if (WEATHER == 76) { - HTML = '+PL'; - DESC = 'Hvy ice pellets'; - } else if (WEATHER == 77) { - HTML = '-TSRA'; - DESC = 'Lt thunder shwr'; - } else if (WEATHER == 78) { - HTML = '+TSRA'; - DESC = 'Hvy thunder shwr'; - } - return(DESC); -} - -// Not needed, but still here -function getWindDir(windDir) { - var cardDir = ''; - if (windDir < 22) { - cardDir = 'N'; - } else if (windDir < 68) { - cardDir = 'NE'; - } else if (windDir < 113) { - cardDir = 'E'; - } else if (windDir < 158) { - cardDir = 'SE'; - } else if (windDir < 203) { - cardDir = 'S'; - } else if (windDir < 248) { - cardDir = 'SW'; - } else if (windDir < 293) { - cardDir = 'W'; - } else if (windDir < 338) { - cardDir = 'NW'; - } else { - cardDir = 'N'; - } - return cardDir; -} - -// Not needed, but still here -function calcWindChill(TEMP,SPEED,SYS) { - if (TEMP != 'undefined' && SPEED != 'undefined') { - if (SYS == 'metric') { - TEMP = (TEMP*9/5) +32; - SPEED = (SPEED*2.237); - } - if (TEMP < 50 && SPEED > 3) { - var WC = (Math.round(35.74+0.6215*TEMP - 35.75 * Math.pow(SPEED,0.16) + 0.4275 * TEMP * Math.pow(SPEED,0.16)).toFixed(0)); - if (SYS == 'metric') { - WC = Math.round((WC-32)*5/9); - } - return (''+WC+''); - } else { - return (' '); - } - } else { - return (' '); - } -} - -// Old WRH Function -function calcSolarPCT(dattim,xlat,xlon) { - var utcMoment = moment.utc(dattim); - var d = new Date(utcMoment.format()); - var rd = new Date(utcMoment.format()); - rd.setHours(rd.getHours() - 1); - var hours = utcMoment.format("H"); - var minutes = d.getMinutes(); - minutes = minutes < 10 ? '0' + minutes : minutes; - var solpot = 0; - while (rd < d) { - var start = new Date(rd.getFullYear(), 0, 0); - var diff = rd - start; - var oneDay = 1000 * 60 * 60 * 24; - var julday = Math.floor(diff / oneDay) - 1; - var hr = rd.getHours(); - hr = utcMoment.format("H") - 1; - var min = rd.getMinutes(); - min = utcMoment.format('m'); - xt24 = hr + (min / 60.); - - var degrad = 0.017453293; - var dpd = 0.986301; - var solset = -999; - var sinob = Math.sin(23.5 * degrad); - var julian = (julday) + hr; - var xlong; - if (julian > 80.) { - xlong = dpd * (julian - 80.); - } else { - xlong = dpd * (julian + 285.); - } - xlong = xlong * degrad; - declin = Math.asin(sinob * Math.sin(xlong)); - decdeg = declin / degrad; - - djul = julian * 360. / 365.; - rjul = djul * degrad; - eccfac = 1.000110 + 0.034221 * Math.cos(rjul) + 0.00128 * Math.sin(rjul) + 0.000719 * Math.cos(2 * rjul) + 0.000077 * Math.sin(2 * rjul); - solcon = 1370. * eccfac; - tlocap = xt24 + (xlon / 15.); - omega = 15. * (tlocap - 12.) * degrad; - xxlat = xlat * degrad; - fracsc = Math.sin(declin) * Math.sin(xxlat) + Math.cos(declin) * Math.cos(xxlat) * Math.cos(omega); - solpot = solpot + (fracsc * solcon); - utcMoment.add(10, 'm'); - rd = new Date(rd.getTime() + 10 * 60000); - } - solpot = solpot / 6.; - if (solpot > 0) { - return(solpot.toFixed(0)); - } else { - return '--'; - } -} - -function makeLineChart(TIME,DATA0,LABEL,units,TIMEZONE,DATA1,DATA2,network,hourly,numHours,SLP) { - $('#container').show(); - var ARRAY0 = []; - var ARRAY1 = []; - var ARRAY2 = []; - var stamp = TIME; - var MAXVAL = -1000; - var MINVAL = 1000; - TIME = TIME.split(','); - DATA0 = DATA0.split(','); - if (DATA1) { - DATA1 = DATA1.split(','); - } - if (DATA2) { - DATA2 = DATA2.split(','); - } - if (SLP) { - SLP = SLP.split(','); - } - var numPoints = TIME.length; - if (hourly == 'true') { - var numObsPerHour = numPoints/numHours; - var numChartableObs = numPoints/numObsPerHour; - if (numChartableObs > 1000) { - var increment = Math.ceil(numPoints/numObsPerHour) - } else { - var increment = 1; - } - } else if (numPoints > 1000) { - var increment = Math.ceil(numPoints/1000); - } else { - var increment = 1; - } - console.log('We have '+numPoints+' pieces of time stamped'); - console.log('data to chart. After calculating the best ') - console.log('scenario, we are going to increment every'); - console.log(increment+ ' piece of data on the chart.'); - for (i=0; i < numPoints; i+=increment) { - var minutes = (moment(TIME[i]).tz(TIMEZONE).format('mm')).toString(); - //console.log(TIME[i]); - var tmpTimestamp = parseInt(moment(TIME[i]).format('x')); - if (LABEL == 'Temperature' || LABEL == 'Dew Point Temperature' || LABEL == 'Wind Chill' || LABEL == 'Fuel Temperature' || LABEL == 'Road Temperature' || LABEL == 'Subsurface Road Temperature' || LABEL == 'Water Temperature' || LABEL == 'Relative Humidity' || LABEL == 'Fuel Moisture' ||LABEL == 'Wind Speed & Gusts' || LABEL == 'Solar Radiation') { - var plotValue0 = Math.round(DATA0[i]); - if (plotValue0 >= MAXVAL) { - MAXVAL = plotValue0; - } - if (plotValue0 <= MINVAL) { - MINVAL = plotValue0; - } - if (LABEL == 'Wind Chill' && (Math.round(DATA0[i]) =='0')) { - var plotValue0 = null; - } - if (DATA1) { - var plotValue1 = Math.round(DATA1[i]); - if (plotValue1 >= MAXVAL) { - MAXVAL = plotValue1; - } - if (plotValue1 <= MINVAL) { - MINVAL = plotValue1; - } - if (LABEL == 'Wind Speed & Gusts' && (Math.round(DATA1[i]) =='0')) { - var plotValue1 = null; - } - } - if (DATA2) { - var plotValue2 = Math.round(DATA2[i]); - } - } else { - var plotValue0 = parseFloat(DATA0[i]); - if (plotValue0 >= MAXVAL) { - MAXVAL = plotValue0; - } - if (plotValue0 <= MINVAL) { - MINVAL = plotValue0; - } - if (DATA1) { - var plotValue1 = parseFloat(DATA1[i]); - if (plotValue1 >= MAXVAL) { - MAXVAL = plotValue1; - } - if (plotValue1 <= MINVAL) { - MINVAL = plotValue1; - } - } - if (DATA2) { - var plotValue2 = parseFloat(DATA2[i]); - } - } - if (hourly == 'true') { - if (network == 'ASOS/AWOS') { - if (SLP[i] !='') { - ARRAY0.push({ - x: tmpTimestamp, - y: plotValue0 - }) - if (DATA1) { - ARRAY1.push({ - x: tmpTimestamp, - y: plotValue1 - }) - } - if (DATA2) { - ARRAY2.push({ - x: tmpTimestamp, - y: plotValue2 - }) - } - } - } else if (minutes == '00' || minutes == '01' || minutes == '02' || minutes == '03' || minutes == '04' || minutes == '56' || minutes == '57' || minutes == '58' || minutes == '59') { - ARRAY0.push({ - x: tmpTimestamp, - y: plotValue0 - }) - if (DATA1) { - ARRAY1.push({ - x: tmpTimestamp, - y: plotValue1 - }) - } - if (DATA2) { - ARRAY2.push({ - x: tmpTimestamp, - y: plotValue2 - }) - } - } else if (numHours >= numPoints) { - ARRAY0.push({ - x: tmpTimestamp, - y: plotValue0 - }) - if (DATA1) { - ARRAY1.push({ - x: tmpTimestamp, - y: plotValue1 - }) - } - if (DATA2) { - ARRAY2.push({ - x: tmpTimestamp, - y: plotValue2 - }) - } - } else { - ARRAY0=ARRAY0; - ARRAY1=ARRAY1; - ARRAY2=ARRAY2; - } - } else { - ARRAY0.push({ - x: tmpTimestamp, - y: plotValue0 - }) - if (DATA1) { - ARRAY1.push({ - x: tmpTimestamp, - y: plotValue1 - }) - } - if (DATA2) { - ARRAY2.push({ - x: tmpTimestamp, - y: plotValue2 - }) - } - } - } - - if (LABEL == 'Temperature& Dew Point& Relative Humidity') { - MAXVAL = ((Math.ceil(MAXVAL/10))*10); - MINVAL = ((Math.ceil(MINVAL/10))*10)-10; - //console.log(MAXVAL,MINVAL) - } else if (LABEL == 'Visibility') { - MAXVAL = '10'; - MINVAL = '0'; - } else { - MAXVAL = MAXVAL; - MINVAL = MINVAL; - } - var y2VIS= false; - if (LABEL == 'Temperature& Dew Point& Relative Humidity') { - var LABELTEXT = 'Temperature & Dew Point'; - var stream = [ - { name: 'Temperature', - lineWidth: 2, - marker: { - enabled: false - }, - data: ARRAY0, - yAxis : '0' }, - { name: 'Dew Point', - lineWidth: 2, - marker: { - enabled: false - }, - data: ARRAY1, - yAxis : '0' }, - { name: 'Relative Humidity', - lineWidth: 2, - color: '#25c63e', - marker: { - enabled: false - }, - data: ARRAY2, - yAxis : '1' } - ]; - y2VIS= true; - } else if (LABEL == 'Sea Level Pressure') { - var LABELTEXT = 'Sea Level Pressure'; - var stream = [ - { name: 'Pressure', - type: 'line', - lineWidth: 0, - states: { - hover: { - lineWidthPlus: 0 - } - }, - marker: { - radius: 2, - symbol: 'circle', - enabled: true - }, - data: ARRAY0, yAxis : '0' } - ]; - } else { - var LABELTEXT = LABEL; - var stream = [ - { name: LABEL, - lineWidth: 2, - data: ARRAY0, - marker: { - enabled: false - }, - yAxis : '0' } - ]; - } - Highcharts.setOptions({ - time: { - timezone: TIMEZONE - } - }); - $('#container').highcharts({ - title: { - text:'' - }, - subtitle: { - text: 'Desktop users: Click and drag in the plot area to zoom in
    Mobile users: Pinch the chart to zoom in' - }, - chart: { - zoomType: 'xy', - type: 'line', - alignTicks: false - }, - xAxis: { - alternateGridColor: '#f4f0ec', - type: 'datetime', - minPadding: 0.1, - maxPadding: 0.1, - tickInterval: 6 * 3600 * 1000 - }, - yAxis: [{ - id: '0', - title: { - text: LABELTEXT, - style: { - color: Highcharts.getOptions().colors[0] - } - }, - labels: { - style: { - color: Highcharts.getOptions().colors[0] - } - } - }, { - id: '1', - opposite: true, - max: 100, - min: 0, - visible: y2VIS, - title: { - text: 'Relative Humidity', - style: { - color: '#25c63e' - } - }, - labels: { - style: { - color: '#25c63e' - } - } - }], - plotOptions: { - series: { - pointWidth: 1 - } - }, - tooltip: { - xDateFormat: '%b %d, %l:%M %p', - split: true, - distance: 30, - padding: 5 - }, - series: stream - }) -} - -function makeWindChart(TIME,DATA0,LABEL,units,TIMEZONE,DATA1,DATA2,network,hourly,numHours,SLP) { - $('#container').show(); - var ARRAY0 = []; - var ARRAY1 = []; - var ARRAY2 = []; - TIME = TIME.split(','); - DATA0 = DATA0.split(','); - if (DATA1) { - DATA1 = DATA1.split(','); - } - if (DATA2) { - DATA2 = DATA2.split(','); - } - if (SLP) { - SLP = SLP.split(','); - } - - var numPoints = TIME.length; - if (hourly == 'true') { - var numObsPerHour = numPoints/numHours; - var numChartableObs = numPoints/numObsPerHour; - if (numChartableObs > 1000) { - var increment = Math.ceil(numPoints/numObsPerHour) - } else { - var increment = 1; - } - } else if (numPoints > 1000) { - var increment = Math.ceil(numPoints/1000); - } else { - var increment = 1; - } - console.log('We have '+numPoints+' pieces of time stamped'); - console.log('data to chart. After calculating the best ') - console.log('scenario, we are going to increment every'); - console.log(increment+ ' piece of data on the chart.'); - for (i=0; i < numPoints; i+=increment) { - var minutes = moment(TIME[i]).tz(TIMEZONE).format('mm'); - var tmpTimestamp = parseInt(moment(TIME[i]).format('x')); - if (units == 'english' || units == 'english_k') { - var plotValue0 = Math.round(DATA0[i]); - if (DATA1) { - var plotValue1 = Math.round(DATA1[i]); - if (LABEL == 'Wind Speed & Gusts' && (Math.round(DATA1[i]) =='0')) { - var plotValue1 = null; - } - } - } else { - var plotValue0 = Math.round((DATA0[i])*3.6); - if (DATA1) { - var plotValue1 = Math.round((DATA1[i])*3.6); - if (LABEL == 'Wind Speed & Gusts' && (Math.round(DATA1[i]) =='0')) { - var plotValue1 = null; - } - } - } - if (DATA2) { - var plotValue2 = Math.round(DATA2[i]); - } - if (hourly == 'true') { - if (network == 'ASOS/AWOS') { - if (SLP[i] !='') { - ARRAY0.push({ - x: tmpTimestamp, - y: plotValue0 - }) - if (DATA1) { - ARRAY1.push({ - x: tmpTimestamp, - y: plotValue1 - }) - } - if (DATA2) { - ARRAY2.push({ - x: tmpTimestamp, - y: plotValue2 - }) - } - } - } else if (minutes == '00' || minutes == '01' || minutes == '02' || minutes == '03' || minutes == '04' || minutes == '56' || minutes == '57' || minutes == '58' || minutes == '59') { - ARRAY0.push({ - x: tmpTimestamp, - y: plotValue0 - }) - if (DATA1) { - ARRAY1.push({ - x: tmpTimestamp, - y: plotValue1 - }) - } - if (DATA2) { - ARRAY2.push({ - x: tmpTimestamp, - y: plotValue2 - }) - } - } else if (numHours >= numPoints) { - ARRAY0.push({ - x: tmpTimestamp, - y: plotValue0 - }) - if (DATA1) { - ARRAY1.push({ - x: tmpTimestamp, - y: plotValue1 - }) - } - if (DATA2) { - ARRAY2.push({ - x: tmpTimestamp, - y: plotValue2 - }) - } - } else { - ARRAY0=ARRAY0; - ARRAY1=ARRAY1; - ARRAY2=ARRAY2; - } - } else { - ARRAY0.push({ - x: tmpTimestamp, - y: plotValue0 - }) - if (DATA1) { - ARRAY1.push({ - x: tmpTimestamp, - y: plotValue1 - }) - } - if (DATA2) { - ARRAY2.push({ - x: tmpTimestamp, - y: plotValue2 - }) - } - } - } - var stream = [ - { name: 'Wind Speed', - lineWidth: 2, - data: ARRAY0, yAxis : '0' }, - { name: 'Gust', - type: 'line', - lineWidth: 0, - states: { - hover: { - lineWidthPlus: 0 - } - }, - marker: { - radius: 2, - symbol: 'circle', - enabled: true - }, - data: ARRAY1, yAxis : '0' }, - { name: 'Direction', - color: '#25c63e', - type: 'line', - lineWidth: 0, - states: { - hover: { - lineWidthPlus: 0 - } - }, - marker: { - radius: 2, - symbol: 'circle', - enabled: true - }, - data: ARRAY2, yAxis : '1' } - ]; - Highcharts.setOptions({ - time: { - timezone: TIMEZONE - } - }); - $('#container').highcharts({ - title: { - text:'' - }, - subtitle: { - text: 'Desktop users: Click and drag in the plot area to zoom in
    Mobile users: Pinch the chart to zoom in
    Zooming in will divulge wind direction' - }, - chart: { - zoomType: 'xy' - }, - xAxis: { - alternateGridColor: '#f4f0ec', - type: 'datetime', - minPadding: 0.1, - maxPadding: 0.1, - tickInterval: 6 * 3600 * 1000 - }, - yAxis: [{ - id: '0', - min: 0, - title: { - text: 'Wind Speed and Gusts', - style: { - color: Highcharts.getOptions().colors[0] - } - }, - labels: { - style: { - color: Highcharts.getOptions().colors[0] - } - } - }, { - id: '1', - min: 0, - max: 360, - tickInterval: 90, - opposite: true, - visible: true, - title: { - text: 'Wind Direction', - style: { - color: '#25c63e' - } - }, - labels: { - style: { - color: '#25c63e' - } - } - }], - plotOptions: { - series: { - pointWidth: 1 - } - }, - tooltip: { - xDateFormat: '%b %d, %l:%M %p', - split: true, - distance: 30, - padding: 5 - }, - series: stream - }) -} - -function makeBarChart(TIME,DATA,LABEL,units,TIMEZONE,SITE,network,SLP) { - $('#container').show(); - var MEAS = ''; - if (units == 'english_k') { - units = 'english'; - } - if (units =='english') { - MEAS = ' (in)'; - } else { - MEAS = ' (mm)'; - } - if (SLP) { - SLP = SLP.split(','); - } - var ARRAY = []; - TIME = TIME.split(','); - DATA = DATA.split(','); - var T0 = TIME[0].substr(0,4)+TIME[0].substr(5,2)+TIME[0].substr(8,2)+TIME[0].substr(11,2)+TIME[0].substr(14,2); - $.getJSON('https://api.synopticdata.com/v2/stations/precip?stid='+SITE+'&start='+T0+'&end=210001010000&pmode=totals&complete=1&token='+mesoToken+'&units='+units, function (DATA) { - var HOWMUCHSINCE = DATA.STATION[0].OBSERVATIONS.precipitation[0].total.toFixed(2); - $('#TOTAL').show(); - $('#TOTAL').html('
    Rain totals for the selected period: ' + HOWMUCHSINCE +' '+MEAS.replace('(','').replace(')','')+'
    '); - }); - var numPoints = TIME.length; - var rainTotal = parseFloat(0.00); - var trace = ''; - for (i=0; i < numPoints; i++) { - var minutes = (moment(TIME[i]).tz(TIMEZONE).format('mm')).toString(); - var tmpTimestamp = parseInt(moment(TIME[i]).format('x')); - if (units =='metric') { - var plotValue = DATA[i]*100; - } else { - var plotValue = parseFloat(DATA[i]); - } - if (network == 'ASOS/AWOS') { - if (SLP[i] != '') { - ARRAY.push({ - x: tmpTimestamp, - y: plotValue - }) - } - } else { - if (DATA[i] > 0) { - ARRAY.push({ - x: tmpTimestamp, - y: plotValue - }) - } - } - } - var stream = [{ - name: LABEL, - data: ARRAY - }] - Highcharts.setOptions({ - time: { - timezone: TIMEZONE - } - }); - $('#container').highcharts({ - title: { - text: '' - }, - subtitle: { - text: 'Desktop users: Click and drag in the plot area to zoom in
    Mobile users: Pinch the chart to zoom in' - }, - chart: { - type: 'column', - zoomType: 'xy' - }, - xAxis: { - type: 'datetime', - minPadding: 0.1, - maxPadding: 0.1, - tickInterval: 1000 * 3600 - }, - yAxis: { - min: 0, - title: { - text: LABEL+' '+MEAS - } - }, - plotOptions: { - series: { - pointWidth: 2 - } - }, - tooltip: { - xDateFormat: '%b %d, %l:%M %p', - valueSuffix: ' '+MEAS, - split: true, - distance: 30, - padding: 5 - }, - series: stream - }) -} - -function resizePage(fontSize) { - fontSize = parseInt(fontSize); - $('#OBS_DATA').css({'font-size': fontSize}); - var DIVWIDTH = $('#OBS_DATA').width(); - if (DIVWIDTH > 960) { - $('.content').css({'width' : DIVWIDTH , "background-color": "white", "padding-left": 5, "padding-right": 5 }); // Add space from "Customize Your Weather.gov" to full width of page - $('.center-content').css({'width' : DIVWIDTH , "background-color": "white", "padding-left": 5, "padding-right": 5 }); // Add space from "Customize Your Weather.gov" to full width of page - DIVWIDTH = DIVWIDTH + 10; - $('.header-content').css({'width' : DIVWIDTH , "background-color": "white" }); - $('.header-shadow-content').css({'width' : DIVWIDTH }); - $('.footer-legal-content').css({'width' : DIVWIDTH , "background-color": "white" }); - } -} - -function readChoices() { - var siteValue = $("input[name='SITE']").val(); - var hoursValue = $("#HOURS option:selected").val(); - var unitsValue = $("input[name='UNITS']:checked").val(); - var chartValue = $("input[name='CHART']:checked").val(); - var headValue = $("input[name='HEADERS']:checked").val(); - var obsValue = $("input[name='OBS']:checked").val(); - var history = $("input[name='HISTORY']:checked").val(); - var hourlyVal = $("input[name='HOURLY']:checked").val(); - var precipVal = $("input[name='PRECIP']:checked").val(); - var fontVal = $("#FONT option:selected").val(); - var plot = $(".perm_select option:selected").val(); - if (history == 'yes') { - var startValue = $("input[id='STARTDATE']").val().replaceAll('-',''); - var endValue = $("input[id='ENDDATE']").val().replaceAll('-',''); - if (parseInt(startValue) && parseInt(endValue)) { - window.location.href = 'https://www.weather.gov/wrh/timeseries?site='+siteValue+'&hours='+hoursValue+'&units='+unitsValue+'&chart='+chartValue+'&headers='+headValue+'&obs='+obsValue+'&hourly='+hourlyVal+'&pview='+precipVal+'&font='+fontVal+'&history=yes&start='+startValue+'&end='+endValue+'&plot='+plot; - } else { - alert('Start and/or End Dates not recognized\n Select valid Start and End dates,\n or uncheck the "Gather Historical Data" box.'); - } - } else { - window.location.href = 'https://www.weather.gov/wrh/timeseries?site='+siteValue+'&hours='+hoursValue+'&units='+unitsValue+'&chart='+chartValue+'&headers='+headValue+'&obs='+obsValue+'&hourly='+hourlyVal+'&pview='+precipVal+'&font='+fontVal+'&plot='+plot; - } -} - -function buildCustomMenu (SITE,hours,units,format,headers,chart,hourly,history,startValue,endValue,pview,fontSize,plot) { - $('#STARTDATE').hide(); - $('#ENDDATE').hide(); - var dropDown = '

    '; - for (j=8; j<31; j++) { - if (j == fontSize) { - fontDropDown += ''; - } else { - fontDropDown += ''; - } - } - $('#FONT').html(fontDropDown+'


     
     '); - - if (history == 'yes') { - $('#HISTORY').prop('checked', true); - $('#STARTDATE').prop('value',startValue.substr(0,4)+'-'+startValue.substr(4,2)+'-'+startValue.substr(6,2)); - $('#ENDDATE').prop('value',endValue.substr(0,4)+'-'+endValue.substr(4,2)+'-'+endValue.substr(6,2)); - $('#STARTDATE').show(); - $('#ENDDATE').show(); - } -} - -function getCalYearPrecip(SITE,units,T0) { - var d = new Date(); - var year = moment(d).format('YYYY'); -// .getFullYear(); - if (units == 'english_k') { - units = 'english' - } - if (T0) { - // For the top of the bar chart, when selected - $.getJSON('https://api.synopticdata.com/v2/stations/precip?stid='+SITE+'&start='+T0+'&end=210001010000&pmode=totals&complete=1&token='+mesoToken+'&units='+units, function (DATA) { - var VALUE = DATA.STATION[0].OBSERVATIONS.precipitation[0].total.toFixed(2); - return VALUE; - }); - } else { - $.getJSON('https://api.synopticdata.com/v2/stations/precip?stid='+SITE+'&start='+year+'01010000&end=210001010000&pmode=totals&complete=1&token='+mesoToken+'&units='+units, function (DATA) { - if (DATA.STATION[0]) { - var VALUE = DATA.STATION[0].OBSERVATIONS.precipitation[0].total.toFixed(2); - $('#CAL_YEAR').html('Current calendar year total (since January 1, '+year+'): ' +VALUE +' '+ DATA.UNITS.precipitation.toLowerCase()+''); - } else { - $('#CAL_YEAR').html('Data not available at this location.'); - } - }) - } -} - -function getH2OYearPrecip(SITE,units) { - if (units == 'english_k') { - units = 'english' - } - var d = new Date(); - var year = moment(d).format('YYYY'); - var month = parseInt(moment(d).format('M')); - if (month < 10) { - year = parseInt(year) - 1; - } - console.log('https://api.synopticdata.com/v2/stations/precip?stid='+SITE+'&start='+year+'10010000&end=210001010000&pmode=totals&complete=1&token='+mesoToken+'&units='+units); - $.getJSON('https://api.synopticdata.com/v2/stations/precip?stid='+SITE+'&start='+year+'10010000&end=210001010000&pmode=totals&complete=1&token='+mesoToken+'&units='+units, function (DATA) { - if (DATA.STATION[0]) { - var VALUE = DATA.STATION[0].OBSERVATIONS.precipitation[0].total.toFixed(2); - $('#H2O_YEAR').html('Current water year total (since October 1, '+year+'): ' +VALUE +' '+ DATA.UNITS.precipitation.toLowerCase()+''); - } else { - $('#H2O_YEAR').html('Data not available at this location.'); - } - }) -} - -function getDerivedSnow (interval,position,stamps,dataset) { - var plusone = position + 1; - var timeStamp = stamps[position]; - var dataValue = dataset[position]; - var epochTime = new Date(timeStamp).getTime(); - var INT = interval * 60 * 1000; - var change = '--'; - for (i=0; i < plusone; i++) { - var testStamp = new Date(stamps[i]).getTime(); - var math = epochTime - testStamp; - if (math == INT) { - change = parseFloat(dataValue).toFixed(1) - parseFloat(dataset[i]).toFixed(1); - if (change < 0) { - change = 0; - } - return change.toFixed(1); - } - } -} - -function getDerivedPrecip (interval,position,stamps,dataset) { - var plusone = position + 1; - var timeStamp = stamps[position]; - var dataValue = dataset[position]; - var epochTime = new Date(timeStamp).getTime(); - var INT = interval * 60 * 1000; - var change = '--'; - for (i=0; i < plusone; i++) { - var testStamp = new Date(stamps[i]).getTime(); - var math = epochTime - testStamp; - if (math == INT) { - change = dataValue - dataset[i] - if (change < 0) { - change = '0.00'; - } - change = parseFloat(change).toFixed(2); - } - } - return change; -} - -function calcIncrementalPrecip (interval,position,stamps,dataset) { - var plusone = position + 1; - var timeStamp = stamps[position]; - var maxStamp = new Date(timeStamp).getTime(); - var maxTime = interval * 60 * 1000; - var total = 0.00; - for (i=0; i < plusone; i++) { - var testStamp = new Date(stamps[i]).getTime(); - var diff = maxStamp - testStamp; - if (diff < maxTime) { - total = total + dataset[i]; - } - } - return parseFloat(total).toFixed(2); -} - -function calcStationP(pressure,elevation) { - var el_M = elevation * 0.3048; - var stationP = (288 - (0.0065 * el_M)) - stationP = stationP/288; - stationP = Math.pow(stationP,5.2561); - stationP = pressure * stationP; - stationP = (Math.round(100*stationP)/100).toFixed(2); - return stationP; -} - diff --git a/tmp_rctp.html b/tmp_rctp.html deleted file mode 100644 index 1f4075a6..00000000 --- a/tmp_rctp.html +++ /dev/null @@ -1,1238 +0,0 @@ - - - - -Time Series Viewer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - National Weather Service - United States Department of Commerce - -
    -
    -
    -
    -
    -
    - - - -
    - -
    -
    - -
    -
    - - -
    - -
    -
    -
    - - - -
    - - - - -
    - -
    -
    -
    - -
    - -
    -
    -
    -

    Record Warmth Lingers; Fire Weather Concerns; Unsettled Pacific Northwest

    -

    - More record warm temperatures are forecast this week from California, Southwest, Plains then into the Mississippi Valley and Southeast. The warmth combining with dry conditions may result in elevated to locally critical fire weather conditions. Meanwhile, another Pacific system will move across the Pacific Northwest with lower elevation rain and mountain snows. For Hawaii, conditions improving. - Read More > -

    -
    -
    -
    - - -
    -
    - - -
    - - -
    -
    -
    - Customize Your Weather.gov -
    - -
    - - -
    - -
    -
    -
    -
    LOADING...
    -
    -
    - - -
    - -
    - - - - - - -
    -
    - - -
    -

    The data displayed on this page is considered preliminary and is subject to quality control review and adjustment.

    - -

    We are aware that the download data feature is not available. At this time, there is no estimate on when this will return.

    -
    - - - - - - - - - - - - - - - -
        Font:  A   A   AAdvanced Options  About This Page
    - -

     

    - -
    -
     
    - -
     
    - -
     
    - -
     
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
     
     
    Unit of
    - Measurement
    Number of Hours
    - to Retrieve
    Page Headers
    -  
    See Chart
    -  
    Permanent
    - Chart
    Gather Historical
    - Data
    Observation
    - Type
    Show Only
    - Hourly Data
    Font Size
    -  
    Precip.
    - View
     
    Standard (w/mph)
    - Metric
    - Standard (w/kts)
      Standard
    - Minimal
    - None
    -  
    On
    - Off
    -  
    On
    -
    -
    Tabular
    - METARs
    - (NWS/FAA Only)
    -  
    Yes
    - No
    -  
      Full
    - Standard
    - Measured
     
    -
    -  
    -
    - -
    -
    -
    -
    - - - - - - - - - - - - - - - - - -
    - -
    -
    -

    By default, this page will load with all station data collected in the last 72 hours, with the station identifier as the "site" variable in the URL

    - -

    Example: https://www.weather.gov/wrh/timeseries?site=kslc

    - -

    If the station reports Temperature, Relative Humidity, or Dew Point Temperature, a chart will be available with those elements to examine.

    - -

    Below the chart, a table will appear with 72 hours worth of data from that station. Hovering over certain headings will reveal a "magnifying glass" cursor. That means that if you click on that heading, data for that element will load into the chart. Note: Data availability varies by station.

    - -

     

    - -
    Pages With and Without Chart
    -
    -    
    -
    - -
    -
    -

    The default station chart contains Temperature, Dew Point Temperature, and Relative Humidity. If a station has not reported any of those elements during the requested period, no chart will be available.

    - -

    A chart other than the default may be selected by clicking the "Advanced Options" button and selecting an option from the "Permanent Chart" drop down menu.

    - -

    The chart has a limitation where 1000 data points per element can be displayed. For longer duration datasets, with multiple reports per hour, this will exceed the charting capability. Therefore, data will be trimmed when it exceeds 1000 datapoints, and will then display every 2nd, 3rd, etc point. If you require high resolution charts, the "Historical Data" option will be helpful.

    - -
      -
    • Example 1: A NWS ASOS reports 12 - 13 times an hour. After 76 hours, data will be trimmed in the chart.
    • -
    • Example 2: A station that reports 4 times an hour will begin trimming data after 250 hours.
    • -
    - -

    To view charts for additional elements, using a mouse, move the cursor over the element headings. If a "magnifying glass" cursor appears, it means that if you click on that heading, data for that element will load into the chart. See image below.

    - -

    The following weather elements are available for viewing in a chart. Note: Data availability varies by station.

    - - - - - - - - - -
    -
      -
    • Temperature
    • -
    • Dew Point Temperature
    • -
    • Relative Humidity
    • -
    • Wind Chill
    • -
    • Wind Direction
    • -
    • Wind Speed and Gusts
    • -
    • Fuel Temperature
    • -
    • Fuel Moisture
    • -
    • Sea Level Pressure
    • -
    • Altimeter Setting
    • -
    • Station Pressure
    • -
    • Solar Radiation
    • -
    • Soil Temperature
    • -
    -
    -
      -
    • Road Temperature
    • -
    • Road Sub-Surface Temperature
    • -
    • Accumulated Precipitation
    • -
    • One Minute Precipitation
    • -
    • Five Minute Precipitation
    • -
    • Ten Minute Precipitation
    • -
    • Fifteen Minute Precipitation
    • -
    • Thirty Minute Precipitation
    • -
    • One Hour Precipitation
    • -
    • Snow Depth
    • -
    • Snow Interval
    • -
    • Snow-Water Equivalent
    • -
    • Water Temperature
    • -
    -
    - -

     

    - -
    Mouse over Chart Headings to reveal Magnifying Glass, Then Click for Chart
    -
    - -

     

    -
    -
    - -
    -
    -

    Clicking the "Settings" icon will open an area where you can select different viewing parameters.

    - -

     

    - -
      -
    • Units of measurement: toggle between "standard (with speeds in mph)", "standard (with speeds in knots)" and "metric" measurements.
    • -
    • Number of hours: Up to 720 hours (30 days) of data can be displayed on this page.
    • -
    • Page Headers: Select how much of the "top" of the page you'd like to see.
    • -
    • See Chart: Toggle "on" or "off" the data chart
    • -
    • Permanent Chart: Select a chart to be continually displayed and that will refresh when the page does
    • -
    • Gather Historical Data: When "On" is checked, you will be able to select the starting and ending dates you are interested in getting data for (limit of 30 days)
    • -
    • Observation Type: The page will display coded Meteorological Aerodrome Reports (METAR), and Special Reports (SPECI). See how to decode METARs here
    • -
    • Hourly Data: By default, the page will display all data for a given time period. If "Yes" is checked, the page will only display data where the observation time stamp has between "51" and "59" in the minutes field for NWS/FAA observation platforms (to include any "SPECI" observations/data - with the date&time stamp highlighted in yellow), and between "56" and "04" for all other platforms. -
        -
      • If the station is a federally owned ASOS/AWOS, METAR and SPECI data will be included.
      • -
      • SPECI data will have a bold timestamp and be highlighted in yellow. See image below.
      • -
      -
    • -
    • Font Size: The default size is 12. You can select values from the drop down or edit the url &font=12 with any whole number.
    • -
    • Precip View: This will select how the calculated precipitation values fill in 1, 3, 6, and 24 hour fields in a row of data. -
        -
      • "Full" will populate out each row with 1, 3, 6, and 24 hour data. Note: This takes longer to load.
      • -
      • "Standard" will populate lines rows are aligned with times corresponding to 1, 3, 6, and 24 hour data
      • -
      • "Measured" will NOT populate 1, 3, 6, and 24 hour data. This will simply display the value reported by the sensor.
      • -
      -
    • -
    • Apply Settings: When you click this button, the page will refresh with the options you selected. The URL in the web browser address bar has those options "built in", so the format can be saved/bookmarked.
    • -
    - -

     

    - -
    Hourly ASOS data with "Special" Observations
    -
    -
    -
    - -
    -
    -

    Certain elements (wind, visibility and clouds) are color coded based on long standing core partner requests, others are colored for convenience:

    - - - - - - - - - - - - - - - - - - - - - - - - -
    ElementColorCriteria
    6/24 Hour High temperaturesRed 
    6/24 Hour Low temperaturesBlue 
    PrecipitationGreen 
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Wind SpeedBlack< 20 mph
     Blue< 40 mph
     Red< 58 mph
     Magenta>= 58 mph
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    Wind GustsBlack< 11 mph
     Blue< 12 mph
     Red< 13 mph
     Magenta>= 13 mph
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    VisibilityBlack>= 7 miles
     Orange< 7 miles
     Red<= 3 miles
     Magenta<= 1 mile
    - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    CloudsBlack> 8000 ft
     Orange<= 8000 ft
     Red<= 3000 ft
     Magenta<= 1000ft
    -
    -
    - -
    -
    -

    How Clouds are Measured

    - -

    Cloud height sensors can measure clouds up to 12,000 feet above the ground, when the cloud is directly above the sensor.

    - -

    This limitation can result in "Clear" conditions being reported, when clouds are above 12,000 feet.

    - -

    At major airports, this information can be augmented by a trained observer, who can also determine heights greater than 12,000 feet.

    - -

    Decoding Cloud Information:

    - -
      -
    • Up to 3 layers (the lowest 3 layers) of clouds can be reported.
    • -
    • The first 3 letters of a cloud group describe the amount of sky coverage. The last 3 numbers indicate the base of that layer, above the ground x 100 feet.
    • -
    • SKC: Sky Clear.
    • -
    • CLR: No clouds below 12,000 feet above ground level, as detected by automatic equipment.
    • -
    • FEW: Few Clouds - Between 1/8 and 2/8 of the sky is covered by clouds.
    • -
    • SCT: Scattered Clouds - Between 3/8 and 4/8 of the sky is covered by clouds.
    • -
    • BKN: Broken Clouds - Between 5/8 and 7/8 of the sky is covered by clouds.
    • -
    • OVC: Overcast - 8/8 of the sky is covered by clouds.
    • -
    • VV: Vertical Visibility - An indefinite cloud ceiling caused by fog, rain, snow, etc.
    • -
    - -

     

    - -
    Decoding Cloud Data
    -
    -
    -
    - -
    -
    -

    Precipitation (precip) can be measured 2 different ways: Using a weighing mechanism, or by using a tipper.

    - -
      -
    • When a weighing mechanism is used, precipitation (rain, or snow) will be stored in a bucket, and an electronic scale is used to convert the weight to a value. Accumulated Precipitation is reported.
    • -
    • When a tipper is used, liquid precipitation (rain or melted snow) gathers in a small measuring cup that looks like a see-saw. Each time it fills up, the see-saw tips, and that action is recorded as 0.01 inches of precipitation. The number of tips over the recording period results in the value displayed.
    • -
    - -

    Precipitation is reported in 5, 10, 15, 30, or 1 hour increments. Values for 3, 6, or 24 hour precipitation are extrapolated from those reports, and are displayed hourly, or every 3, 6, or 12 hours (for 24 hour precip).

    - -

    If a station reports precipitation, the "top line" of data will always include precip over the last 1, 3, 6, and 24 hours, relative to that time.

    - -

     

    - -
    Explanation of 1, 3, 6 and 24 hour Totals
    -
    -
    -
    - -
    -
    -

    Snow depth is generally measured by probes mounted above a surface. They measure the distance between the probe and a surface. As snow accumulates or melts/blows away, that measurement will change.

    - -

    "Snowfall" calculations are made by taking the snow depth measurement at a given time, and subtracting the snow depth from 3, 6, or 24 hours previous to time the current snow depth value was recorded. Negative values are not recorded. *** Due to wind, snowmelt and compression, this is not always an accurate measurement.

    - -

    If a station reports snow depth, the "top line" of data will always include snowfall over the last 1, 3, 6, and 24 hours, relative to that time.

    - -

     

    - -
    Explanation of 3, 6 and 24 Hour Snowfall
    -
    -
    -
    - -
    -
    -

    Data can be downloaded by clicking the 3 lines in the upper right corner of the chart, and clicking "Download CSV or Download XLS"

    - -

     

    - -
    Example of Downloading Data
    -
    -
    -
    - -
    -
    -

    If you notice data inconsistencies, or errors with this page, do not report those to us. Data is provided to this page through many different entities, and the maintainers of this page are not in contact with those entities. Your best course of action with regard to data accuracy may be to contact the local NWS office where this station lies. In some cases, they MAY be able to contact the responsible party. Refer to the image below. The NWS office under which the station is installed is available by clicking the 3 letter identifier, and finding their contact information.

    - -

    - -
    -

    Aside from issues referenced above, please provide feedback, or report issues with this page by sending email to wr.web.support@noaa.gov

    - -

    If you're reporting an issue, it's helpful if you:

    - -
      -
    • Include the URL you're noticing the issue with
    • -
    • Include the link from the page that "got you to" the URL above
    • -
    • Include a screen shot for display/graphical issues, if you can
    • -
    - -

    Current Known Issues:

    - -
      -
    • Hourly charts sometimes display "non-hourly" data
    • -
    - -

    Things We Are Exploring:

    - -
      -
    • Issuing a cookie to preserve settings
    • -
    • Selecting certain chart elements NOT be displayed on page refresh
    • -
    • Freezing the table header at the top of the page when scrolling
    • -
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    - -
    - - - - -
    - - - - -
    - -
    - -
    - - - - - - - - -