Document not found (404)
+This URL is invalid, sorry. Please use the navigation bar or search to continue.
+ +From b4fb6b6459e0b45ab5614a03935618659064784a Mon Sep 17 00:00:00 2001 From: Deploy from CI <> Date: Thu, 1 Aug 2024 07:06:52 +0000 Subject: [PATCH] Deploy 0eb3249dff9557cf3715eb50a95598ea42c4d50e to gh-pages --- 404.html | 169 ++ Acknowledgements.html | 180 ++ Band-example-SiDFT.html | 106 + Band-example-SiDFT0.html | 61 + Band-example-SiDFT1.html | 106 + Band-example-ncl.html | 334 +++ Band-example-ncl.toml | 8 + Band-example-pband.toml | 10 + Band.html | 947 ++++++ ChgDiff-example-VESTA.png | Bin 0 -> 95813 bytes ChgDiff.html | 229 ++ DOS.html | 399 +++ Feedback.html | 198 ++ FontAwesome/css/font-awesome.css | 4 + FontAwesome/fonts/FontAwesome.ttf | Bin 0 -> 165548 bytes FontAwesome/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes FontAwesome/fonts/fontawesome-webfont.svg | 2671 +++++++++++++++++ FontAwesome/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes FontAwesome/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes FontAwesome/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes Gap.html | 257 ++ Installation.html | 221 ++ Introduction.html | 194 ++ POSCAR-example.png | Bin 0 -> 45430 bytes POSCAR.html | 350 +++ PseudoPotential.html | 278 ++ Relaxation.html | 222 ++ Trajectory-example-xsf1.png | Bin 0 -> 123587 bytes Trajectory.html | 261 ++ TransitionDipoleMoment.html | 404 +++ Vibration-example-eigenvector-1.png | Bin 0 -> 98697 bytes Vibration-example-list.png | Bin 0 -> 73227 bytes Vibration.html | 273 ++ Wave1D-example-inline.html | 54 + Wave1D-example-inline0.html | 28 + Wavefunction1D.html | 354 +++ Wavefunction3D-example.png | Bin 0 -> 125147 bytes Wavefunction3D.html | 350 +++ Workfunction-example0.html | 18 + Workfunction-example1.html | 18 + Workfunction.html | 277 ++ ayu-highlight.css | 79 + book.js | 679 +++++ clipboard.min.js | 7 + css/chrome.css | 495 +++ css/general.css | 182 ++ css/print.css | 54 + css/variables.css | 253 ++ dos-example-inline.html | 16 + dos-example-pdos-inline.html | 26 + dos-example-pdos-inline2.html | 26 + dos-example-raw.txt | 1201 ++++++++ elasticlunr.min.js | 10 + favicon.png | Bin 0 -> 5679 bytes favicon.svg | 22 + fonts/OPEN-SANS-LICENSE.txt | 202 ++ fonts/SOURCE-CODE-PRO-LICENSE.txt | 93 + fonts/fonts.css | 100 + fonts/open-sans-v17-all-charsets-300.woff2 | Bin 0 -> 44352 bytes ...open-sans-v17-all-charsets-300italic.woff2 | Bin 0 -> 40656 bytes fonts/open-sans-v17-all-charsets-600.woff2 | Bin 0 -> 44936 bytes ...open-sans-v17-all-charsets-600italic.woff2 | Bin 0 -> 42120 bytes fonts/open-sans-v17-all-charsets-700.woff2 | Bin 0 -> 44988 bytes ...open-sans-v17-all-charsets-700italic.woff2 | Bin 0 -> 40800 bytes fonts/open-sans-v17-all-charsets-800.woff2 | Bin 0 -> 44536 bytes ...open-sans-v17-all-charsets-800italic.woff2 | Bin 0 -> 40812 bytes fonts/open-sans-v17-all-charsets-italic.woff2 | Bin 0 -> 41076 bytes .../open-sans-v17-all-charsets-regular.woff2 | Bin 0 -> 43236 bytes ...source-code-pro-v11-all-charsets-500.woff2 | Bin 0 -> 59140 bytes highlight.css | 83 + highlight.js | 6 + index.html | 194 ++ mark.min.js | 7 + pband_template.toml | 19 + print.html | 2554 ++++++++++++++++ relaxation-example.png | Bin 0 -> 123467 bytes searcher.js | 483 +++ searchindex.js | 1 + searchindex.json | 1 + tdm-inline.html | 47 + tdm-inline2.html | 47 + tomorrow-night.css | 104 + 82 files changed, 15972 insertions(+) create mode 100644 404.html create mode 100644 Acknowledgements.html create mode 100644 Band-example-SiDFT.html create mode 100644 Band-example-SiDFT0.html create mode 100644 Band-example-SiDFT1.html create mode 100644 Band-example-ncl.html create mode 100644 Band-example-ncl.toml create mode 100644 Band-example-pband.toml create mode 100644 Band.html create mode 100644 ChgDiff-example-VESTA.png create mode 100644 ChgDiff.html create mode 100644 DOS.html create mode 100644 Feedback.html create mode 100644 FontAwesome/css/font-awesome.css create mode 100644 FontAwesome/fonts/FontAwesome.ttf create mode 100644 FontAwesome/fonts/fontawesome-webfont.eot create mode 100644 FontAwesome/fonts/fontawesome-webfont.svg create mode 100644 FontAwesome/fonts/fontawesome-webfont.ttf create mode 100644 FontAwesome/fonts/fontawesome-webfont.woff create mode 100644 FontAwesome/fonts/fontawesome-webfont.woff2 create mode 100644 Gap.html create mode 100644 Installation.html create mode 100644 Introduction.html create mode 100644 POSCAR-example.png create mode 100644 POSCAR.html create mode 100644 PseudoPotential.html create mode 100644 Relaxation.html create mode 100644 Trajectory-example-xsf1.png create mode 100644 Trajectory.html create mode 100644 TransitionDipoleMoment.html create mode 100644 Vibration-example-eigenvector-1.png create mode 100644 Vibration-example-list.png create mode 100644 Vibration.html create mode 100644 Wave1D-example-inline.html create mode 100644 Wave1D-example-inline0.html create mode 100644 Wavefunction1D.html create mode 100644 Wavefunction3D-example.png create mode 100644 Wavefunction3D.html create mode 100644 Workfunction-example0.html create mode 100644 Workfunction-example1.html create mode 100644 Workfunction.html create mode 100644 ayu-highlight.css create mode 100644 book.js create mode 100644 clipboard.min.js create mode 100644 css/chrome.css create mode 100644 css/general.css create mode 100644 css/print.css create mode 100644 css/variables.css create mode 100644 dos-example-inline.html create mode 100644 dos-example-pdos-inline.html create mode 100644 dos-example-pdos-inline2.html create mode 100644 dos-example-raw.txt create mode 100644 elasticlunr.min.js create mode 100644 favicon.png create mode 100644 favicon.svg create mode 100644 fonts/OPEN-SANS-LICENSE.txt create mode 100644 fonts/SOURCE-CODE-PRO-LICENSE.txt create mode 100644 fonts/fonts.css create mode 100644 fonts/open-sans-v17-all-charsets-300.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-300italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-600.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-600italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-700.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-700italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-800.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-800italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-italic.woff2 create mode 100644 fonts/open-sans-v17-all-charsets-regular.woff2 create mode 100644 fonts/source-code-pro-v11-all-charsets-500.woff2 create mode 100644 highlight.css create mode 100644 highlight.js create mode 100644 index.html create mode 100644 mark.min.js create mode 100644 pband_template.toml create mode 100644 print.html create mode 100644 relaxation-example.png create mode 100644 searcher.js create mode 100644 searchindex.js create mode 100644 searchindex.json create mode 100644 tdm-inline.html create mode 100644 tdm-inline2.html create mode 100644 tomorrow-night.css diff --git a/404.html b/404.html new file mode 100644 index 0000000..308eedd --- /dev/null +++ b/404.html @@ -0,0 +1,169 @@ + + +
+ + +This URL is invalid, sorry. Please use the navigation bar or search to continue.
+ +rsgrad band
can plot the band structure from PROCAR and OUTCAR.
$ rsgrad band -h
+rsgrad-band
+Plot bandstructure and projected bandstructure
+
+USAGE:
+ rsgrad band [OPTIONS]
+
+OPTIONS:
+ -c, --config <CONFIG>
+ Band structure plot configuration file path
+
+ --colormap <COLORMAP>
+ [default: jet]
+
+ --efermi <EFERMI>
+ Set the E-fermi given from SCF's OUTCAR and it will be the reference energy level
+
+ --gen-template
+ Generate band structure plot configuration template
+
+ -h, --help
+ Print help information
+
+ --htmlout <HTMLOUT>
+ Save the band structure plot as HTML [default: band.html]
+
+ -k, --kpoint-labels <KPOINT_LABELS>
+ Symbols for high symmetry points on the kpoint path
+
+ --ncl-spinor <NCL_SPINOR>
+ [possible values: X, Y, Z]
+
+ --outcar <OUTCAR>
+ OUTCAR path [default: ./OUTCAR]
+
+ --procar <PROCAR>
+ PROCAR path [default: ./PROCAR]
+
+ --show
+ Open the browser and show the plot immediately
+
+ --to-inline-html
+ Render the plot and print the rendered code to stdout
+
+ --txtout-prefix <TXTOUT_PREFIX>
+ Save the raw data of band structure [default: band_raw]
+
+ --ylim <YLIM> <YLIM>
+ Set the y-range of the plot [default: "-1 6"]
+
+# rsgrad Band plot configuration in toml format.
+# multiple tokens inside string are seperated by whitespace, if you
+
+# kpoint-labels = ["G", "K", "M", "G"] # should be consistant with the boundaries in KPOINTS
+procar = "PROCAR"
+outcar = "OUTCAR"
+txtout-prefix = "band_raw"
+htmlout = "band.html"
+# segment-ranges = [[1, 40], [41, 80], [81, 120]] # if commented, rsgrad will find the boundaries by judging if k[i] == k[i+1]
+# ncl-spinor = "Z" # for vasp_ncl calculation
+# colormap = "jet" # the colormap specified to plot ncl-band
+# efermi = 0.0 # if commented, rsgrad will read the efermi from OUTCAR, but if may be slightly different from scf's
+# ylim = [-1, 6]
+
+# [pband.plot1]
+# spins = "up down" # "u d" are also ok, for ncl system, "tot x y z" are available
+# atoms = "1 3..7 -1" # which atoms to project on, if commented, all atoms are selected
+# orbits = "s px dxy" # which orbits to project on, if commented, all orbits are selected
+# color = "red" # the color of marker
+
+Simply run rsgrad band
can plot the band structure.
$ rsgrad band
+[2022-07-14T18:40:18Z INFO rsgrad::commands::band] Reading fermi level and lattice data from "./OUTCAR"
+[2022-07-14T18:40:18Z INFO rsgrad::commands::band] Reading band data from "./PROCAR"
+[2022-07-14T18:40:18Z INFO rsgrad::commands::band] Found Fermi level: 12.7626, shifting eigenvalues ...
+[2022-07-14T18:40:18Z WARN rsgrad::commands::band] No k-point labels found, use empty labels instead
+[2022-07-14T18:40:18Z INFO rsgrad::commands::band] Plotting raw bands ...
+[2022-07-14T18:40:18Z INFO rsgrad::commands::band] Writing Bandstructure to "band.html"
+[2022-07-14T18:40:18Z INFO rsgrad::commands::band] Writing raw band data to "band_raw.txt"
+[2022-07-14T18:40:18Z INFO rsgrad] Time used: 79.644034ms
+
+There may be a warning reminds you provide the labels of each high-symmetry point.
+rsgrad
identifies high-symmetry points by calculate the difference of consecutive k-points.
+If the difference equals zero, these two points are labelled as one high-symmetry point.
For example:
+...
+k-point 38 : 0.0000 0.0256 0.0000
+k-point 39 : 0.0000 0.0128 0.0000
+k-point 40 : 0.0000 0.0000 0.0000
+k-point 41 : 0.0000 0.0000 0.0000
+k-point 42 : -0.0085 0.0171 0.0000
+k-point 43 : -0.0171 0.0342 0.0000
+...
+
+k-point 40 and k-point 41 are same, thus be identified as one high-symmetry point. Each of the high-symmetry
+points need a label. You may either left the --kpoint-labels
empty or provide the correct labels seperated
+by white spaces. Sometimes it may produce wrong band structure due to the special k-point path like
kpoints for bandstructure L-G-X-U K-G
+ 10
+line
+reciprocal
+ 0.50000 0.50000 0.50000 1
+ 0.00000 0.00000 0.00000 1
+
+ 0.00000 0.00000 0.00000 1
+ 0.00000 0.50000 0.50000 1
+
+ 0.00000 0.50000 0.50000 1
+ 0.25000 0.62500 0.62500 1
+
+ 0.37500 0.7500 0.37500 1
+ 0.00000 0.00000 0.00000 1
+
+The end of third segment (0.25000, 0.62500, 0.62500) and the beginning of fourth segment (0.37500, 0.7500, 0.37500) +are not consistent, which produces wrong k-path, leading to wrong band structure:
+ + +To solve this issue, you need to try the configuration file.
+With the configuration in the following
+kpoint-labels = ["L", "Γ", "X", "U|K", "Γ"]
+procar = "PROCAR"
+outcar = "OUTCAR"
+txtout-prefix = "pband_raw"
+htmlout = "pband.html"
+segment-ranges = [[1, 10], [11, 20], [21, 30], [31, 40]]
+
+[pband.Si-p-orbit]
+orbits = "px py pz"
+color = "red"
+
+and run rsgrad -c pband.toml
$ rsgrad band -c pband.toml
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Reading porjected band configuration fomr Some("pband.toml")
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Reading fermi level and lattice data from "OUTCAR"
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Reading band data from "PROCAR"
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Found Fermi level: 12.7626, shifting eigenvalues ...
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Plotting raw bands ...
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Plotting projected bands ...
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Writting projected band Si-p-orbit to "pband_raw_Si-p-orbit.txt" ...
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Projected band plot time usage: 1.220401ms
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Writing Bandstructure to "band.html"
+[2022-07-14T18:41:02Z INFO rsgrad::commands::band] Writing raw band data to "pband_raw.txt"
+[2022-07-14T18:41:02Z INFO rsgrad] Time used: 77.804627ms
+
+then it produces
+ + +For the results produced by vasp_ncl
, rsgrad
supports plotting the \(z\) (\(x\) and \(y\) are also OK) projection to
+analyze the spin angular moments.
kpoint-labels = ["M", "Γ", "K", "M"]
+procar = "PROCAR"
+outcar = "OUTCAR"
+txtout-prefix = "band_ncl_raw"
+htmlout = "band_ncl.html"
+segment-ranges = [[81, 120], [1, 40], [41, 80]]
+ncl-spinor = "Z"
+colormap = "jet"
+
+then it produces
+ + + +RdYetjY%;I(=`!CEGYrbN&&@qA2fj9ehQL z35~fjpq8@-6O*E%%XP|vs-w=zaVUgF*i=^|eHN(O=}`nmt|;`u^ceONs2_w=%Lf$% z<3y;4vccqUDjW}-CAW82lsIdQ2imk8# z$p>NTA-n=uRb7+O bQ;YDMt^Fd>A= fhTJQT1>2DJvotYyDm73&Fm_P5k`W&HQ7C a9+ z;wVr^4D?uE6=c(1YxPmPm1rz$ELz%UEH97zh-yw#7 p3EE?`S(WWzeHl 97pf%~RkQ|`V#Uq4f^7CgZo-MaKdh%!( zeuAl!V$bo=zIpWV_L;3)il`p%*cOLCzBH7i5fa>CU?BSWN#Cxv(BrYC(uQhgsK!#K zcV08+W*ooqOMs)>xqj_dT>NDHAy`LCXl1r~lv;)%lUuXxfVC1IbT!=Pw3r{9AWnpx z{ZbCoZedR33EwHt*W= )Q_x7+_Ik3$FL<}6|k?*+`ThhYCJ91 zJ$=ny+>ajoQo#a-x`h3lVKvcb4V$9DIA6a>3U(?ha)k~BFeq*7Nl`= tC9`s?(C zW$*mWb5O)sF>y(vattKw0s2|5;orFakF_cs%>P`Krs!3B?zMxD^L>i0z2|wTCq$lv zAaLqed3WQ@JCm2MYgfd8z~;U0)N-{o{w|kCwH86*q>R|%9pJCpWiIonC*cf8^YfNX zDWAEdZ%_NZ*| xD~np5ficVUbD+LB?z4FKe}?i$=vJfePi zM(QUqh8 8ozlk zsdyZpo}SqA*H0UCJ&i<0ET89}|IPNeIx`mcxEWvMa} nOi%%#u9EmK4z&c z%M|wbY?HrA!HYwB93|&7u{x!~|8gWV@Ra`t?mm2A?QWIXs#b2D?$E5hnHh72t+W<@ zJ^ &wbMHF|Y6?`^A< z4*TnaiIKR!#5&Uu5e^w0k|& EzZ|rl#xlaP<8O66kNIg6dn_HeX)co_FEHbCTBJ77_Tom`Hb4NHK zxu>bSzW!E+*LeL(i(O>q-gvQ6lj*-_k><|U^W}Db;wgE3g@ZOX_EpcJ+)-PSIPs#c zm;6Qk78X4YkIRKrH9yz&bHcv@mesAd>$8=W(R&kx p3Tn8XX1f zOMn38q1V^=A+#$iD+{$Pz@J?fBb)zB{abm@)MtBjb;Tt)>KQ9@_;xmJZTrZZ7>@nE zUbkiXJ5QpG@B;#qwj(|s$ 4uyApnw-WmGfE<6|wKgL?F4$^@uF zRf*xpXa}kiUS>un7K~4YJ9{EkOY1Hw8i|*eCCvc5an|hM$*E_2TgM*IUsP4tdOj^2 zP@)h*DI;j>ZGW;o7~K)&^vnDobNBD|g42PHtxGA%>O!BYE_yBj4j05|x2$h)ssL+u zx34x!FZnsL8#OleTwEM<_$_1XMDKQ>L2Z?=s_Z$9-LJo(s``Gj&|`fo6(|?sd;?*g z%;65;Ygm>@^}FByaD1d{%q7T`RL`vFSGUxI#^TQ8M880K#tMgahmVJbjm@=9Y4Mjj zBld1XBSRKo-@ k}Wy(umvX42_DCl9jy=XqV1!5WnFBNVs@ $+*z~nf&N)XPkwGZY)wNMj>hQ2 z-?gl}lmF @+obGLY$>M@Y>rt^4ZLk#i;<6IqWcS5k5Wl pPKrHWJS>_=x&}zSUSbT@Ph5yr zd->ZApm=mPx P$@CJF_6I!f`6&o`G67X0S zWP |wp%%QvY6i~+P-wZ-c3eU^5k%`&b~iz$o|blN&(zA zac?Ru`pRN^g+2IrrM>XHP6m3BGXJuD8ctuMX=0-S S88nK5-Rmd2F-w2(Ny!7JubHLS)m bm=-9WF!8;C-=N};JN4O-Lpx!cH8$yG#WH{%dAqwQ2w`O< zQ_IP^!JcdP?SDv8?I@`5?yvtYHfcIEP*dN?LoP5!auSUl?@IBoTb=v79-Hf6Bf^o- zE2QcdIzQ_Yc5rK*AyP*e1n+5mN^X625bx3Sa#5N4{1Tfh2=}~Fwof3qUfmfO``p;j zURzY=WJ*nV^Lo24?!B{XMHieDDKkYE%ELLk;lJ^^D(1{9BnILNTbo%Bvwyhija*f_ z>8lvp@Z8l$>mOLM?x71c{L zdtv3|5E%B@iC=x zRPp_{%3$Lb`oy{%>B(Ae-)$zhtOvG^r;O>w92II0YD(uRjUZc2EF%HrnuN&!-d{ zrxhqzG?reYls CyZ-+9#?oEh%g5|L$8U)aDv2qwO)b!BZO-4o@ zskMOqZL=Vtb^RUsJ@pPh@AA#VQPcHxn;Bjj+(VU-mPYhdJS0xDwJ_nhH_j>d3=YR2 zK@m^^W-RjP9IPQA)Vz)op+AW_uMe $)QTwAVH6fD^K*>>v-HO V~;@~3Z4~utRx#j5rnBE#m z$*4c3$jnEjy}Ho$L>gx)b&Z0Ii>2cBrb0F`_+o~*bn+Yz57PtZ4Y3kG-;Kjch!I;J zLq|)CqiZAod;Hqp)OvaXxOLgvS&_U$Ap-j|mE3KEjDGeLAuRi@O?>!1e`fc_->d9r ztO&VNSjRwylG+BJiV6Mh!v&i>7kh8QUtK6trAYgx8g01KSSxddTjXa|Gr6rG+k=-@ z<3tX&nGrptrNNgv#-gdvp9fdS)%5O7d?}tOp |C2(rZNKUa17Q6map{}&OEIZv5) z0X!W>nm`Zi> !?^ zYg0n{4HqrrhYWPWq^aDTe%V%Z?UzRUr>MV>k?ULAi|Fw`%RsB)pseZK*NxueiHVJ+ z1>bC)-X=!Z-mThiAOL*#QUhGOd#xMKQgjvj%p8cKhTfIcyb;Ug;`n8=1F^Bnc0(+D z$b)ZO^Md3BAg^_9EsSp%qvwq;%ZRDje z1mD*74a{IA$gE`BHg{OvR*IhR0D2_U)b``Z5;$96qEj0 p<=S%-y zV%bwu@QPU&ybycexnlM{i$8wNA72wQfvF$Pki3Y3&>yAEULP3@FTMMBcOTb1X>#QC zqFl~Dh&fAbJ7;Cced%|sGT{e9t`e&lTai8-;>A2VyvhMHLlV+ubzWcrcN-qJV4u$V z#dgQZoJ5Nmop}r~KG`$ozpLy+oEk!(-@o3H@N1 6gx^G$Hr;rl$ 9glmPo7`Z|}SWB*;N6p5`!biEcVVu*j*?`M6SVZDg>z@Mksr`9@!i0wDyI+5A zC}5&U6fe({n@%4!XdCSvcVbn$1hJv?2aNe{lR3erQ^Hnp0nn@hCjo9Qu4&$zCVnMk zpS2n~B?6P@a -FB| zDi&*A8y|K{{ IW3@G{y^bw$YpKxCks3Bzrv!uqsKuYiZbU*U0F{ -in~fm@;GK@Ru-mVXYM{xV@l{WxF*i$JujVg zRqL?z#L=H9+SglAZN+1?jl{JTxi8z?@#60LlcHR>9AC0NL292DnN7UCo}Vfm(<2(d zq#t@Se9o}OE@EV(tMc<3VMZ$)brh=`-RInLjfIq(KSj;k7|>BkG7IZ)<0o}LYv7`x zJ`Gy>J-XvqU9UIa#F*i0Erc^4rgkhp3mLq3?7kO@X8{s%VH52r5o9}?z6QY$Wt($4 z)mvd>)zP0)8SW<+v~N)wtj^#8WM~xryU&a4j?Z?D4YIWIDabJiX3I8fE@^XG^ZWyC z*jVn(cSefNZf=PNj9JbrPF4mye0+RM{CE@?x(nn>-5bpB(r6iy g$?#4T&p6TPHwx1C3NomL=ZW%`YeCPCqFl~n1uT)x_WPL3 (Qy;C*tdAR{BA0tSLk`
p8?WOkKL`VkN5fxUuADSK z0`>SXbmsgH_Z-RBg{S6MmgZL)4_Zstq%*&)g)2s5&=ePg30Vn@-t%bISvMAOa9Q0{ zX$du0ZFJ=)T0HuYp{=g1VNtONpU%F0e0anSade#1NSj^6p=1y|wSO-vDq5;qC?qV5 zq9M{OH(~rMFJO`!djIs38+LnAnIrlr@ZIYJ&hx32SWb?p$BnJ<4dw?h5Fxr=-D|DX z;bCv96Dj-twB?j>a&u2l&A`U2=vRRqG&r<=5d%Du=-JU#^6j&qk%x!wr!lJN`na$A z7JuLMD+qp4`dvaly|7nXQUCB5- A-XicFNr0JX;bJ)O#Y_j0BL?;K3{``h6EQ z#$H)fB~l@0zx3PLiKERP#-|J{#zO>Qhl{_|QjGB*KEr-He|nX8JtE 3GVquz zjQ0}FQS*H=i5JiBnh$eRlil!qZv2Tw(tO%+2R3P7p!s;{pW-&ld{mO#xy=NSFu0V& zExfkPS#7Q@?(Phw1YNaRO$b(-?cxVrv%B5i&^5FLni S|9{6)GH$+NDUJ=urQ~M6>F9k^!2s!(vgrqJdY}| z`JT@&PX0a&YhV|>z$YT%bMQSZFYOe|Wf= +ff0 zz9;j#PPy)!-s%nUzrBRLmS=s)@&5Muf|OB$RuF-^4N!+IxX~mMF|#upcpXF~B_-Y3 zX?b`|I{H7tBq;M3(5Vom5;(u=>+t &Tle?K?;-IW6EE!^Bfu?P5nwr1iB2A#IFK;jI)rg8+k%vDL0QFVA#$R7q*$ zBYXu`8V`S3`H6KG48tcuWj@YTZO8XRK4v0|6MRpX){!eGdUHE;d$MunVv|Hm9Rd&R zthAXGy^YMOQFFAu>+4?omlNvh=614v34tFQMr@0#>i@FvnT@^w)l^S&GJ+I7{4mbF zHK}Rcd+yLYJD8tW>w4KdV-xc@h(6+Hd7jfvC4c5rVi$iL;0}1O94KT<=l6j2p;SNK z*spcb #4|#1HTC+-Ql2|Zg zB!JF6jK!&z2d#$Gi9{r1ox6LP>(32UEiJe40d346%!&%8sJHY)a45Cd!#HA<>A6LC zXh9b#>;dKfjN&r_j?d!x`S^WS$z>B!Bqf009%9Q9%RQIYfh9c=0(fW^ik18N)Q&eZ zJ>BYkl3}R2$kW22Bm)9T1tKYyr?7wcNfaBu>V3p|mgC0fxP0OJlA?(RpFBN43aTgO zX32H1^p69unVRY7pH?*sHv(Vedcn05_pvBtVDC0_;S?h)rADQa_be0Z*11Bo* $m(MFgwflOM8u|U$Sr`^c%h@V1X4tAj%b^Qn6ce*!sx)$t>0t3s(pcF? zBJ+c+oY6hy%r>QOHJ!UKN73SwAXJJOmD&C4HXapiE&W7Ug}1UAAekVLG6y{}U}}20 z&b0UE*-}|fj`+Hphrru&PZ74XlCmfk<|Nw40!knveTXS_RNvCl((v$bhgWI$CqW$X z3+tnN=^%-o6X!~{w5qb1yB{>bU`qI?0l1`bgG9x=yu4>xP$V2N(~Q)`{aGFrjrns^ zS`84g6ml?HFS69q`g)gBZ?Feb5ga~eJGIF^Pbo VIniqJ(gcb)sz7j00YFzuDLrHU3+g)Ia%V|Ioka`1@~1 zal6MEV@CV&4}J=BctE$TYco!zR^wY~Lu;dhUUIwAH!<*7i|QPs{im!SE~@y2($bj} zUIQvNS5x^fK|x6#{x}rfOH&DX@%YG3?YCs Py;eXvbNMMZrTLlnzc6m4V( zNWd5~1O!*4b#>DRv+=%Ky`8rk> t%5w70bh>@+of z^wjY7_RjHn36-EMYhAmK-)ljpp$x$tO$(kW*9r*e9@`b#UcB$>>N*kjxc3!HQ~IQJ zJ>g=ZkqqnwJ{M|F=TpTG89ia!-r eA5i{JrK z6u;+ZVfWLEho_2?a=6i`g0gb0imC4yh%a4#oh03mkU >|o{h{_UT`gCd-^he zTv71y@`88nzva^{5+;QW&j*+<1k?H4o?PEaV-P~?end9Z+|8}ZDs4O_#@+TR2$n_} z9WC%Cr|D)n%S|1f*xI9z$1m<@=CyrgH*|S*bjTH}cGzKNcfZAfgog{Fo?Xz@l(u+` zrB)l~PNq!0t2jLOl*(7 Bw$1vC GA;Z$usVsX{0qMEf1ZP1k)GP;se3Z|`QiwLKEY?PvM%0ZboPnz$<~nV|yx zXD(QcO>4JvvoGrM;C5|ow^ptAArkCx>HLHe8=&OPLTP#(9K|z9Gc?$) jDu#}tL!`lC^~WRPFCJ@+HnHu^*zxq>WuARQ&ADoW79-c`(2u9VXNNDaZsNCg znRNmw4v*Kl@MK!RHcr^2fmf{AtRK6mu+^zeos9c~L0j&QCp_?%#T54NfTtZA6bOnO zE+~_q3DMbSt8q9bac!N0EG|@a9i@rCjJlDX`GST^R5I~pap8UySp$zZO-D;h%fLw6 zNW<7bd;Vhd6TVm-<=bWFGIkEz$N~nw;^&VmxP 3NWIL5*0DS6!B1=zWOVYvP+W@tra#kc>y zl}yac&;9`~N}ZH&dyMsPZSZ_!3a2{Bj>!xW1q^L#r*NM2u#(Z1arn^Iw!Qr&tt8Sb zsi>mD9`@00?w^w~IgXqb9xoB*{K5jy+#;`XWo<>(zenGCmffQSeErnjg@uI{!Wp;U z8o>-v1r-%2D2Xc>hbxB_4=aZk7hJWA9~3mZH0o)oeE)cy_Q#8`FyCA0C0H(>-Rf#< zE$HaZYiZBT&B;*1XBO(qSWs3`VX6O&gaioes$m=43G(m$3kOK@267?}q_{0AD*EtS zrEMkC(YFdFCZ-PZvn_pTg(Sfp_U?yK-1qbIqC6rjQJP&sX-dqDY&GQ-6)endgt{Ks zF_a-L*^h5Lx;kE4hsKrPQZKm`=^m~ @ $6BZm0WOGRn1k>D!<3a5|HIqsg2|{=$1=PSR z{*_1h_i``50EE5k;w_Xt?MC*F8WhYKHx%#GW7MT_zn=~&sHl;rEhxWl_uO*gNLRI* zIY_SA@h#+lC-MCpH)JRkx!|$v7)}CNPS8KpCu3wPKo6Y~N}>~W;;>~yI7!M^79jyW zLoF>q@K+B5gE|{7KwG#u0f6XT2q)D*u}vrn%Ke!H@{T%Xf;|1Fa=bnvNC*fH7T+RA z`JGz4ULZ|y ED-~Oo%o8<|b4*eqT5^7;c0xD4362+?CixqJ$|N~ZZy?fey1gEUARkB1 zDeLoA!skIE2}E_nddi5BiEtHt^Fk)h$Ou7XBAN}o{fmhWR$FyZTy3Xlc}h^B>qoi6 zywKu#XSawq_RRJr;jz`>eQJ|WyrcW18d|(63A7QMfIzO)F^ic<83)&K#Tc*lHn!vC z+SUaf9VS`XipdY<6_h|d(A2Osra5gSBE24-g1^Yso(tM0V9!OcpTiE;%sN}o3U}nx zxRM~iCLr)dh8jV`e^ePHqYUf|0Z~U$3q7@twA#Z;Y&2md&9e52V8K%tgl``?(8|yO zAgKXCrPA30*DxR=m6Vu4BTl>j@78=29iSw;^N9T01o?zON;#0^S8h{{Z+bdhwz2e+ z1h)amC#;&>b$VPs%-W!aD<5qS*~+V{Nof9lg0 +Uv`)S?#)P znW`tyvH<7pYyEi6O|aaQwj;CcBma;fZ4p8rs7hlruoEj<$2f2)r2tZE!+JUdfjm?) zAgmt25D7e4Xpl;)&6M2=Uwv?C?foUq1{)im2%BUoihd%U!nDdlM|Z7HIM>Yk8aDPz z&sC!}(doNky#-~(-Xn(&w~^M5=_sPdyH>fL$53IONK<6u{X}&qRln;8`}QuU$6WgD z#)-v6G2Z&id-Y|WO?Cs{`}q$YPmIIFyIE2tlbM8T?P;8RVCq|J0KglY*J~1aS|IyV z{nIMG$?xZU-3UsW2p|%NInocVV9H=10ydQdfEq{?PAY|6h8Bb%Qs^u_Y1XrvU0vqL zpDr!9$z#PKl^=*;$)+q5_a@2PwxFZsSAw3hI*>r(1<45441p)i3;C}!QzM6Da)XBB z;310m=hhvcV$$D&?+mHm{?e&Q-u5<8s1qIk;x67G!DrK{^CAmnuuA5Hplz{qkM;@z zk~LxV_G_kLX4kj5xf2KyXp-=%T1tSENTdrTI(0DtDk%Va-SE!q5`*YZ)^7B~2O Ud%w#|3IBsjNqzhv@`G+lfKo>4G2#pn|%t(Zb;>fzkqxDu%MO=NC%|51h7O0vLeQ zs0Y4bll+!)Kc77 (no*Cd?v*L6Q+NJ z>6e34zwaLnN&?vME2NYc!PUv;8m_o-F@v@RL<6}XBcPJPft(k^J$lVD5kuU%-Wv}w zIY&v1zzvxy8J|-5Caq}3rhpJA*?pF^ONd%=#3%Y<{pC@$_m{23&U|~o#VUor=}J|H zL!0bRvxca)u#2`gndhTz2k^p4iq6ZpJSEqWVEG73SY%z@KEFfvQ}nBtWT`N_k-sIz zyKe++z6T>8J`}(~11F)W>sw}N6>pfCA2TzfOI0%SJ~Ql;lg`VHJ)tC4Qh19|w!1 {*Bf6HTLMWZm1^tQ?tU@G+e*?FImo8W!qU zxGF!mQnQuOZSP&=IS3LM%p^z8RJTEr`hUy}h;*1^l;`Z}P;i|y
{))FgY+L(V?A^>qA0P0LlWk$q6XNR99Hh-IKmPTX* zexkeN1j4lOF%UyQakYQIJ%S%(e%W!0hZV*w&+)N-dMgV+uv%?o$y|xy%u!Rs{L``@ z>*%zZwajNl%3PnV>>?##5yL58ZfOAMd!oyV;S|a#qYMm`1_Gg09I{ClrDXf>Vi?eO z1aUZeaIMDc?Lwxir2M{0o>m-8i+1(}nJrdyeg3PNQTQ#E=k8peCXM}XGfV2k=T_2s z77G}rc_3($6cj| A zw@z=46zK8jF6OL@(m=I5mK(2SF ${qxG z`4j**5M +$@qvR2+Lue%~M-1l@PvXWt=hxyaUejgpTQ ze+pKT9kHv@-OzmIT~3NIBtS>RlL^HAKK099rd*}G{HWQIvp+9#KsMy>2zHClz^*0= z!aiXvwiTHQ*pf>D$}yC{DQ^!0WUaWrBx%YKTgGrgiS}c-Aw-k$KL7wysXw3Qtwo?{ zz3Cid?*r~Hy1$Z|V**Tf9>=ibs{~9jC1n`FHg5s %g^`DZ!IxD6YP^x z4G6Z_e uPVOGw@ToO~xqnuyJlxs;v!YwRG+xj?t68Q{dgu2ZoP0bd6mnspZ*^U~|H)!wW1 zfOZ^J8l^nlJMvlzKo7!)fzh)fnvf;FVatOhQ=zpPu&t@vm#YN)9{=tT+>f9PP>CQn zLJ ^BlGc}5K61S#=_ZmRcbl7$-(0*q?SaKTMN&SiQ&;c|7}!Xa{s-TOFyY2 z2LjP?cz;QltNoBzT%)aqiH%k4c9~+8dpGWE7;$;}5Eiz|rkmH;Slila(bt8dN~St0 z*fcJDRCRs3ZXo2iewwD6MtWP9c}6?GXlx+ZZ5wdpe#(U(s>lS9Pa+0!B%>t&sew{J z%D@;-bb+0@q7qq^*+%7ls3lTsSAG6ocT3lCO+AWohl4t)4iyihEJ#XL11u<<&5K<$ zDgtJX%=)24jSe!m`241j$Z3EokV7fYkXk_~M2MXumW2-s$_@ILM)
{ju^# z_PAwCdUzln(cfV^I%c`1&$5dRKY1X?rpTZ#f!wgKF`Tew%-Lp^ileQpQ%=k%6P!1e z`jCQj3eUin@f-wgZ9CW(Oep}vW(>C?V+g2A@D(Cp6{D$0rymz0eUH}Q`!)z9tL3&- zLS&vgQU9d1BHoNW>x<}pX*CM?B{;-}&rv~H27l0G=P`$P2jC>DbCngx`87fs@;9>^ z`ih!Ek-;&_Fi513B+rN%NP`Rv3J#=214HdIZ8OppkBIs`kJX{NK|HaN@{A~{p&Z0& zf-#>I=@hQKL_kt*W#w6 RMSdZ`FbQz90@f>PAC-Bl(>ssllb*r8ezG(}~J_#CvzD*z{SN^`z{kLWuk z%gg)`xQ&cs>CLr`HwN8z{o-zOajA01W PqMyAEkMDN3319zx@<~*Q2Tm8t{uPb{^P>3csD4j{LoG0#{_q34Kh_ zO5WiH&!0u|?=^!zV#>?>NC-6ZZ?k&3eCGr}2#G-&4YcRxw*P5PEd2hFHXy?irwyMz z8eo>E)vldF83HnOX!&5CuCPW<&dI;{ipp5lkJvMS2b4lq2jb=>?+zj1NqyId0T56Q zBme@5@mb$V|Cv$TZ^Snd{N24#uYWv+Ks^2{{A=tAM%(DvC81o#oLo|}Nu^b?=2$)J zSTn0|X2U0&)oJ6x*UmDIYMTNU8d<8O5TGQHbO ?n7 z{NStChv@x9d%MtYw(UZt5DbzE0c^%_D#9 -7!I*l+;Rhb>*Q5B+wp7ifEIsH0BdPfD7#IB10jJ*QvMU)x09Wm4r*H zgcc=8ES(lCgMj{aAVfkD^`j *lJo<1F-`Qw4qTdOxBkA}@5wN=gQd?vf+24)5&Az2T4{U8+ zhIAhjJidMJ!l?ch5E6)_N=yx;1X5XGa*VQm&tRNYB)PG^h^bp->Zp54j-icA9WIU# zrlGd@nef>L)`&2vVfs@-i 3B+IodT>xZ#L)i 5q7*PLo=9MaRCM0(-z6E=7cX2ci@*J~f0N0%j;FPFPde<^ zb8LEP_X9b@&=@0=|L|8hV_!CW1GxaH%vq?%rVXLg$j+)*KR!Xw!a|%OaE*cpMc7&0 z%i@;PN+Av#Z>0v_+a {`{^rhY|q+ zn8?ii+p*|(RimR_1Q-Acdz%EjF>jQJy-e$RyjT|hGX5s(( +ut; z73P**eOPgWRmEO`Z;u r-XjE+xcZ&jV@_%3QBYl)v$-Es9y z>fqOFx#-%$cjA9fJgb^8O}o2#b{&;C6>IW3`R+wk(9YFbo Ffi abD^DJq==2XJR+2jis%CYqzg!Boi_;7}(ii-ExKH=y;NpS>PBds-4`;n7a8+?Eq_GX%_7ENv%j~Y6R&R2J^Wh_oc;5?2S1s6U$~l zduUB-ar5GlAJ_s3vM41m?C21dFcz#1kl@MWMGFd17ac0YVw42#UII`9m-*aVf6;PE zr!g>JdkXB|t2pmqhywDQr*_U6qTWUivd)Guh}(@?k=8IB8aNs!sPO?ffW#q~RB@mW z$Pv`= fucaoi4y|g`R}#4W*dJr^uAxy)C^+s93Ru$L~S}3 z=dP926f0)o;*>^)!&%|Iq?KM>U1z|ux{s&~5UGc8@l&g^BMWTRZ|n)F(jYoV2};zz z;x^+w&-_lGmRd4IA~+G?Ws<9irIZ3338^?5N@AH`bDNmg?H==TcD!wcb f6 z-PEK)Dt_%h(P2<{ep`$5i6-sssy1NmFfOittA0pEH1(mep0Nk6kP5ijI}A~O*7r?S zR^~EP+6(v^H0+!|WPE6E>HK~1F4ybf<#Dp}hTyy1#>S#CdInxC=+DDP8WR65HOu5n z({$U4;@`yX7;`f*L|^G!%2W8p^Xs;IMK?qr-2ljV=#-cfP)rS@Uyih}%!_#xP#~#! z94HXzWcqiNE&HcFZows8cR`xMs!+z>?bWHTt80wIbAB?!u%0|43^?WYb3 zP&l<_eBlgG!bmOJpprpCpp8lgMI^|`J8NhNWjCvEr;Vt?nz1M)m*=<}#+0@35dveJ zLnt92DJSbWzr}wuVkVt@O1NuW^guKs3|jHTL52nu*n&3m<|)Z#fS2Q-^wy$P9Zv}S z$h;VPCPhft2!T+^066qPqoV6I)41=)G>SXHxxDb33Hwoz!+=2)q1xgQd>=Av} z4QI}{3XUDL+RWQ9Q3s#|$-hMf;KDsDWyntW9tVUm6!b zS^QI&N$Qc>7Zs$p!oc6GMlMFH3xd3{8| zKmO8f+rLsue~P`kE^qOxdLm#G(C2CG+W2kcQRv6ixoTE2m`U+a$7I%lmB@EHAi!*i z2mTnwthngiI*yN(Xn2Nk+but#VZHAqc#`e$DlN^>Ww(;#=D24pcfvSsWhEppzEbl~ z% #HclZ6Zr;HQ_pr;-l zh@qORLG9*t4gE}@vBs6kL7xCb#vn37KEI A{{ZwYJ91dpGGg >u1`IXjwFNiV5oGTYfvNC3t$2TF;E8MzIo2F zx2_+RT--n6!^2;~cvstUS{4uOh|qV3YR(GcnsV~glB1;~osT2kwkl!Orc4th6Vu{x zA^q8AAi^FBlS|iqmsna>_Of&_VQ@e8t);f>tg3;)-s|NcQb`a@z$OymtYl@?Sj(VKUd7hZ{cE%mc%esKq(D%7&>PqNvRAse@o-|!{Hwj`;I+%EpKhPs z*53AdVba89Bn1G_mtD8s*}L*>_-BY0DUpW36eXlPEOJE|FXzPp#6zJ(W*L*GRZOlM z+-r-r8bYAq5Vs2gypva4wHu}+npGuBLpan#kRAWptZ>ajf=6=EVq>PT|Fiz~Pj5kL05^&sUm29cwN6HXnW%HC41CJJG*^OL0?LW zGTD+i0hEMEbbNI5n6vY1qo)gUE(%+OXWYJ;n*XXr;=@6LAS3|MX%&F9$r7!_(7HC} z@E;zZZK1d3x!- N-=R6En`Q7$kfs0 ^Ec#@ sVHEcg_@Q?*>Irf|40D-kv5JeQg7u$F4kxdaq z?~y`~nz}lK5CS{85Qa&@6LggnuR9918l#q1o>F#gi#AvdKqLFFKY{))J$DGg?vs7k zMwMk5Cgfil)8S7z{{Qy^@Qzxei(I(w0eHR4${OViPo}S3H>j!aXC;bFP%Ps`SP{Fg zix;yQ>=sFsDu@EP $#S zjxhh-#CQj%M|80}6iZ(%@~H1c2uMiJ6W*e1sdbLSwvezFH}lK@eBI9T)DLIv-2XaG zkEc;jyLKx0y9`eO?QC6lmO>XeR0|CI_~G5JQ$7_z<;d%%0Vd^I#)ifvDUg<~i_p3W zSiqk>*vs|VYnp(&=~ z#a9B~4Y6Ahj;&!zqw|&GGU2BI(Y2H!b^O{q1T=hH1ga@@Du;hwX~srrg;>^~GX 5eywPcsCk_@s{)LRfOKedzp;=yvz4%f&M_epdXFYtL`&+qLwB1Jxx!*NB@@Ks zX{eb}V5j?)w3Xj1(&Fg^#tf5OGnEp)F2?8n6Oj#pa^hP2^tCv+=o?7T#ZIYhf*3dT zj$=mv^g#HavK$LFgg>)yLBe<8lSYjVXD IKvushc_Bg~f(W58 z1@u;{qMoiAvA2TCJ;`&<#Xv+_>zs0OT5^u9wLMlqBvPvqLJ$FFmu1;=Gr{Li?!J3r zm#&p{IV?>EWVG^BK9?dzq{skRZYWj7RXgkN_O|L>Ex>4YK>7Wo)o*;|np1;2OsR;z zkLZosv|y7t3{zjBa>fU?T5THohuPQL*j~`L=iKA>JU4nh3!>*kwc46(+&c9OXZ0_| zT7rTy28qCBkTswbmb>jv$|?7+BLGEsCKv|*;F9a#)Sf;1zrFK!*{hwIBd+0P#v0|k zvT%6+3#Sh6A1?dVa_RCbUbp$&^Pjly-iIE2JV@*}zx=r!yLbQpGWIyM?}aaZ dMmK&Su(9Dsx3`k<^T<=OzxHR}F~Shi^vwcT+yITx%?mzMHsK!gj$qA|uM2|5=- zIc~Y= sTSr*4xx0`l4 zF3W6^ptG*s-M*=AOmF7z#68olPS+-bzzBf|I|m?=Yn~-@41k2fqBQmTTL^jUj0>Ji z0&jfi-H-10 )(n@Is zBFZSzq%^TelCG@O<8o=e)*-AK+W QHGKeB({ 6e&Dim8 M_{QAHlOzAGxScip zM`Dd~URjV{+XhHcxmpcIM#Ewe5jRYX)dotR{=;8gZnj4^oi(&+^77Ze**e+uJxg%+ z-*v}FKkz?7qa2H`={1*}H&_l{m|A?(&;JWwcVQM5Fa|u&5($FV1cZ6hNEktcEqk^* zq*e^3o#D;*z3vaLfB5&6g0QUpq80@VLYkVT`M&l