From e80c05cd2a71359d4db8f51d90a6e2f05258224b Mon Sep 17 00:00:00 2001
From: FaragElsayed2 <farag_agoor@mabrains.com>
Date: Mon, 3 Apr 2023 17:05:59 +0200
Subject: [PATCH 1/3] Adding LRES table for GF180MCU DRC

---
 klayout/drc/rule_decks/lres.drc             | 109 ++++
 klayout/drc/testing/testcases/unit/lres.gds | Bin 0 -> 73290 bytes
 klayout/drc/testing/testcases/unit/lres.svg | 690 ++++++++++++++++++++
 3 files changed, 799 insertions(+)
 create mode 100644 klayout/drc/rule_decks/lres.drc
 create mode 100644 klayout/drc/testing/testcases/unit/lres.gds
 create mode 100644 klayout/drc/testing/testcases/unit/lres.svg

diff --git a/klayout/drc/rule_decks/lres.drc b/klayout/drc/rule_decks/lres.drc
new file mode 100644
index 00000000..a0341d91
--- /dev/null
+++ b/klayout/drc/rule_decks/lres.drc
@@ -0,0 +1,109 @@
+# frozen_string_literal: true
+
+################################################################################################
+# Copyright 2022 GlobalFoundries PDK Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+################################################################################################
+
+if FEOL
+  #================================================
+  #----------------N+ POLY RESISTOR----------------
+  #================================================
+
+  logger.info('Starting LRES derivations')
+  lres_poly = poly2.and(nplus).interacting(sab).interacting(res_mk)
+
+  # Rule LRES.1: Minimum width of Poly2 resistor. is 0.8µm
+  logger.info('Executing rule LRES.1')
+  lres1_l1 = lres_poly.width(0.8.um, euclidian)
+  lres1_l1.output('LRES.1', 'LRES.1 : Minimum width of Poly2 resistor. : 0.8µm')
+  lres1_l1.forget
+
+  # Rule LRES.2: Minimum space between Poly2 resistors. is 0.4µm
+  logger.info('Executing rule LRES.2')
+  lres2_l1 = lres_poly.isolated(0.4.um, euclidian)
+  lres2_l1.output('LRES.2', 'LRES.2 : Minimum space between Poly2 resistors. : 0.4µm')
+  lres2_l1.forget
+
+  # Rule LRES.3: Minimum space from Poly2 resistor to COMP.
+  logger.info('Executing rule LRES.3')
+  lres3_l1 = lres_poly.separation(comp, 0.6.um, euclidian).polygons(0.001.um).or(comp.not_outside(lres_poly))
+  lres3_l1.output('LRES.3', 'LRES.3 : Minimum space from Poly2 resistor to COMP.')
+  lres3_l1.forget
+
+  # Rule LRES.4: Minimum space from Poly2 resistor to unrelated Poly2. is 0.6µm
+  logger.info('Executing rule LRES.4')
+  lres4_l1 = lres_poly.separation(poly2.not_interacting(sab), 0.6.um, euclidian)
+  lres4_l1.output('LRES.4', 'LRES.4 : Minimum space from Poly2 resistor to unrelated Poly2. : 0.6µm')
+  lres4_l1.forget
+
+  # Rule LRES.5: Minimum Nplus implant overlap of Poly2 resistor. is 0.3µm
+  logger.info('Executing rule LRES.5')
+  lres5_l1 = lres_poly.enclosed(nplus, 0.3.um, euclidian).polygons(0.001.um)
+  lres5_l2 = lres_poly.not_outside(nplus).not(nplus)
+  lres5_l  = lres5_l1.or(lres5_l2)
+  lres5_l.output('LRES.5', 'LRES.5 : Minimum Nplus implant overlap of Poly2 resistor. : 0.3µm')
+  lres5_l1.forget
+  lres5_l2.forget
+  lres5_l.forget
+
+  # Rule LRES.6: Minimum salicide block overlap of Poly2 resistor in width direction. is 0.28µm
+  logger.info('Executing rule LRES.6')
+  lres6_l1 = lres_poly.enclosed(sab, 0.28.um)
+  lres6_l1.output('LRES.6', 'LRES.6 : Minimum salicide block overlap of Poly2 resistor in width direction. : 0.28µm')
+  lres6_l1.forget
+
+  # Rule LRES.7: Space from salicide block to contact on Poly2 resistor.
+  logger.info('Executing rule LRES.7')
+  cont_lres7 = contact.and(lres_poly)
+  lres7_l1 = cont_lres7.separation(sab, 0.22.um).polygons(0.001.um)
+  lres7_l2 = cont_lres7.interacting(sab)
+  lres7_l = lres7_l1.or(lres7_l2)
+  lres7_l.output('LRES.7', 'LRES.7 : Space from salicide block to contact on Poly2 resistor.')
+  lres7_l.forget
+  lres7_l1.forget
+  lres7_l2.forget
+  cont_lres7.forget
+
+  # Rule LRES.8 is not a DRC check
+  ## Please refer to https://gf180mcu-pdk.readthedocs.io/en/latest/physical_verification/design_manual/drm_10_02.html#n-poly-resistor-low-sheet-rho
+
+  # Rule LRES.9a: Nplus Poly2 resistor shall be covered by RES_MK marking.
+  ## RES_MK length shall be coincide with resistor length (Defined by SAB length)
+  ## and width covering the width of Poly2.
+  logger.info('Executing rule LRES.9a')
+  mk_lres9 = res_mk.edges.not(poly2.and(nplus).and(sab).edges).inside_part(poly2)
+  lres9a_l1 = res_mk.interacting(lres_poly).interacting(mk_lres9)
+  lres9a_l1.output('LRES.9a',
+                   'LRES.9a : Nplus Poly2 resistor shall be covered by RES_MK marking.
+                    RES_MK length shall be coincide with resistor length (Defined by SAB length)
+                    and width covering the width of Poly2. ')
+  lres9a_l1.forget
+  mk_lres9.forget
+
+  # Rule LRES.9b: If the size of single RES_MK mark layer is greater than 15000um2
+  ## and both side (X and Y) are greater than 80um.
+  ## then the minimum spacing to adjacent RES_MK layer. is 20µm
+  logger.info('Executing rule LRES.9b')
+  lres9b = res_mk.with_area(15_000.001.um, nil).edges.with_length(80.001.um, nil)
+  lres9b_l1 = lres9b.separation(res_mk.edges, 20.um)
+  lres9b_l1.output('LRES.9b',
+                   'LRES.9b : If the size of single RES_MK mark layer is greater than 15000um2
+                    and both side (X and Y) are greater than 80um.
+                    then the minimum spacing to adjacent RES_MK layer. : 20µm')
+  lres9b_l1.forget
+  lres9b.forget
+  lres_poly.forget
+
+end
diff --git a/klayout/drc/testing/testcases/unit/lres.gds b/klayout/drc/testing/testcases/unit/lres.gds
new file mode 100644
index 0000000000000000000000000000000000000000..c5885840fd8a770cbe24c7064b298802bab84240
GIT binary patch
literal 73290
zcmeHQ37k~L(eGVgxls^M)F=`on4r#mXhcN3_Y)A~ZI%TVL=oijh>1s{M)3S%jJIOc
z#6(R{qqqWcgZDu+5+oYq84o}h++AR%zkhXi?Rz~lZ)SG);gWpp@0a|sda94=qpGW`
z`-uusUVggRyR5wZr=m>kBf5&-qMQ5QqC<H_<?%y==-H;-pd)9-Ph9c)4auR;9y0sx
zGfxqFxAW!;Ra9I!eOlGYHDjhnqC;!OR|Nv0s$f+xmWW2<kwi3Eb;j|*NO0)MfmpmM
zn5+tlwjG41=vpqiiHdIJ;yp2N*EUi%d`}1w)L8LXDdkH1$RN`Nc)N>6{<d!Z^ey1u
zAN;%H2lq<3^(^pzfPCH(qWoMbb-KmhTk#7~N#(0_l%M`zryi6K)vN72$nR`jAC<4E
zSNV8d&&K>s{o0G>NGzO8#A3lvJQ(zp*go5<#y<5((9}=$Xj6KmnGy>ng26-x<Lp0H
zV$B}IMI?5BGb@K(H1WdFunRB5#0*wpYK8)la4Z;&B%PVW<4X10wmUHcE|Ze5Vjf0#
zt%FP#msvB(>i4bJ3Q=|kW(=_1eaPz-2bo@WhsEE<J(JhJCgtXTO1b_uA-bO`M3<`>
znNDc&Pg4Bt^h&Y~WtPuD{ef+-Mg9NcAk)j|X#OHn++RyEc*#*Su(**RjS$1hWH=HD
zCqlV0jL>Sb?M^ATJfmeOzL7HX0OSCawfNtA8g)AT&T0$GQsuMtDy%^FL6%pcP2G@B
zJt6XX6aR}6ayp@vk1f*|rTpp>$n-@ax~_msXEHLK(Bijcn$;c}6WpHcb`+7R8JS9^
zq%>SojReB+a3CBBMjF@ntdR+6p(Qjj%Q})28JSLKwIWxVPZ(+LhZgJ$X%a%3Ws{9G
zRXU{kgq2UOG#iXG|8AtI5K>fhLW@6FnkBZQG-<LR-Sa#ejE4frSTvkFMtzy*4VOY&
zo&`x=Dn!S3AxTI;Bhv{jDU@6D{AnpS-3}=}EyQm3LyGq@GM&)k@9WktTQ9%}7>3@w
zKnPeeLVV1~bVAKvM2epCJeUk8gNbl5mdqKE`RDnKs0YvUmuQ62{O0w*Y737{)fXho
zy5DG7w(YHDsgdb~7JrT`zgneb*>#PUrACZIMJKfQS(bX8fh-$lX<3%{L%lnp4*j%D
z#j%8(PFRvm3(fOTARY}xL*ZzSRL#ib`ONd1k?EfE+>z!Vj5H54(o_g3DmtMhja+G>
z#WXUzer2So5K>fhLW@6Fnq-4wWR}w^9W#g#S_ZACq^Z(T$9tP1&3yAbnMec!(NHMj
zHP4}sBx=2_4d%xPls=4+>4a8mtg*Re7tG_YA@N->zmG;sj$&jwp~Y{lmK#o#GIfxY
z8&1Uh?g(jOGHPTxp~cVAZ1Or)WS$qWiUOe+wkyeG+)IjgLUJvziW)Ab)e!xCxmhK#
zFHx)ITTCakq+m&L{c~nje9o+rcQ7)&$Z9ziy-cg+RI^I{lac9!y8I$i^j<B4K@7uK
zAecL^TYI&%WeLsW=W3bx60?F=ORO`^UoCllA2)eojWIPt(Re5k$AX#g8ksOc#UYsA
z!1frvVowK|E)KCqmNmZ{dSK*XjyLoWqSI+Yv^kWK>4X-)EzOfK@-WBOp9JT@UYOq*
zMy3;5{5-!WlC8Y80wYf$%6<y%_>F_&R-`?HHW?(30Hrh1@3&Uy-xGEigBA7|M$VV8
zq>)`nX9XkSKr|6Z<XQr)rL*i_pfT;I&g$>dSr?lz-7KAz&(aUaV&Pyc97)7?7z<!K
zN)!7w*oDdxKo7}(v_zV`LKsUwq;~Yl2-H_1R#111#>{~ZtN1NyQ0t&DbTQhRq1Fmf
z{~=a@AyU?V2%WVAGi-N8rW0EHwlw#}3IP4L9{a7`VE=T&Zb2i{2`zqJA=KR3@($`8
zg9Y*qRyKGC<aZgFPFT_mH@Yj26r<sIC=^WwJoldHwHC;5%fnh$TOKyDdz_K!g=M$_
zzD$zgh7YvtI!|F_dSMxoM}lNXV?fCeV?ZO*OO~Ox6&1!-DHMx^;sr-y3#=&egOouR
z5Vm^|J%XJ(Bh$-nwMLR{*<;te`CW{}7vWQahnV~z8ktUL@n`MaF^?bBQfzxYBnBxm
zGQIrKl1Ac?ii!#3IIj$jys&yqO{g+db=2fZW2;V{F{!d<()j7;D*Yd<O2z|`L@*xk
z_M=-ql7=5c8$!Z_9p|B@WN#W|dK=q&XYp_P0#ZE-V+mMsH}*-L9b~$&?NrN$xe4P_
zi~v8d0%N|emxD|fBP<D9YfZx`sQ(nyAJ}m@>VKVsOm8#A;<whCO}|91)S>)e3bE_=
z(OaJ}GM%ub9vWI=4}}uR2$o;C3Ub`g`L$b1`zZAgX21j3H9dscfOVm686(pPEg4yT
zl)4M)@Vun%0^b+lho@B|(+MqpU;8LE82KNL@&|L@FfyI6q&_Nj76qe$Ks=F%MRU5S
zEnFR;9(m8O!rtc#U3P7Qv9$n}<|a!{)?8{vKl>_YALqiMxpRR}`*7A*6^<paM+t}H
z5kKWC{)n~XDlOjvz2tpvhF-#Khu=c{#Oft$#i(0>bc{yAuCQ*z`wlW)lr|bmUNK^k
zcsvjaC3A<PZ!3m1<6B`>=F?SW!8JpxSbgN<NG`RH!T~7VL<|m%oFTn^`sf=t@JK@v
zlICnU*FmQHtU0Yd`eqQyhvp|F%}=WrBh#}qztu;Z*Jus9d5sX=Zh%ICpHU;zeb>C<
zL_7wkT{Ic{mimY^E%gN<_0blb$1yT}d-f4&YU&F@>YFX=9AtW-KB_xU_eI@#SmUsR
z5EyG3nO<@qm8^N8dSiiT_*?3sZz9-71@$aybB&%w8ktULX@i#P+^kuI{14N!$g#I+
zHZh&hDnDlyZNq*y-z?H}*u?K>{vv+bl6xo;4kut8<tihN)M=?zW9gz+us*FGYKHY}
z^^lL&YpJ>@lnjL6S`S8ZyGRtUUkk)w?X+L3Ec-PYK%`o{iTi_M^8JsqUt^w8LpZSw
z24m4=GB-FazcoaDrY4@3S*yerD54DZwp%3jSU-X_F_Mw#gw{H0&GM}sk&eCXR-8C?
zz{z9T@r+C-wD_%APX4+Kd<o>Q>+omr!(XS7>4YV%!==vhU@VT{tYA3yZCRX~)@o~p
zQ2A<hb&#wXoo>m<S6#X36K%~9k~LFT;UHNvI^8PY^5$*&xwcw1{T%)SSTf~xj7%@t
znklu95StVTC1c^hw`Fmr;APx;9egF%V+^i^j21F7ozRkzuYHud4f+2H<==*K5lK?_
zG$Ydqt@5otO2HP}dNBBd+&7F&C)E5!?3q&gD2Q!AJeY`uLwRgYZ$Cn@)w~>Wj2+Te
zOIvCewX~-!N&7e(ig<g1(PSb5jTy^zc(%YA5%8r~+@j^{-Ae_cq`ka7mXs`S4^9sR
zc2HdnZYOU~kYdOJ6sD7BJetVsmX0KgzZvVQrF&aJFIau#<47)b%?O9#AjXY_z;@iH
zT7A@vb=B&lR?rJpAGOB19*ZN?KNtz+E<1&GK}EgzJJ)q{)EEvW!=YFZ6Cr1zDzL5>
zlkb1rx^8YXRZcs%`ofw>6vCk>i%=|{fPA9C5-h)=bndYJ*Eq@iOk;cOM(SamGVVGN
zUYtE(2^p+786KiPIlpi7nPq2KcEVS)VS%L(?E~yF3cHXl4l=zgrTLLWH?6vgir#e7
zs$%ytfmLMBvMX`)y;r*<UQvH<h%S4#8}b+ELi$r$bQ`R-HkXU<_o*0KGp>5Z#OZy9
zS5KREaNqx#FlolLzTr!N$4;Fvw(s=GeUGW0FcF8~-JR$(YajK+W0a|sggsB8e>=!@
zkQ9Fr`!C|UjS(C&cIu_7XK?%!2x9A=Oh!xCH>o(pjn8UH6LuPap23L^A@xYbdX3a`
z`gc~_te)6F=dS1p!Y+I3o?v8pi9Io3^OBp-9`H?WPsj|U(_ZxJQ-M1uIxwK`;e9Wh
zI^nblW2c|n_n^L$$Bmm-Grd3$tb2oGE+t_%?C|K1k?A0n(gO)s4-B19Jzmv8Egqq&
zNH7lDEEJC9UdGDt5ajKJEd!li=<vhs(+kGhvPP(n^2uE}=*Cqji8!}lG?*uZBS$io
zc~_3X&dSk#kzPr7<zVEMg;$)ND@dL@uCBYPyns*#g_8(b4n+|CovZiq+UHp8NX`ww
zuE*(-%E<IW@~``jUN;DL!APeSoRQWIoo=l=)`;DFAkAT%5dgaf=-&=99i&obbnb{%
z5rxr2G!(>a&J{?`h;6d2Yd0TWwW0p&I@42@mD&{TgHHGsb!9VkT__q!L_+a!BG*LA
z>6yH%Y<<16%C_&YT~}GFCz`U#7U>C}bY+nqD5UG)1dL<9m<%>o*EJwIjxCP%U+<W`
zP((htD~GyWoQT9>A}2y6jL*EfuI`VHuIq5>x2x;^t5y&XT^Ef761WH+EY;6J>jmjF
zLe_DNOfRVG+8SL4WF5z-be&4Kbe*+sY*rR4bR96SuG1E6DY|ZNKHZvT_PfDABpMD!
z;LgukI|q^-mg)nK?>ddUje}lJBIep4(>tuQ>TdgJn$B<SFE*74(YX`OL4e&)Kp%{7
zkm;Q}S>;=@`v|v68*n@4qf3SOE}gCXossE;7QYqkOzo#~2&sH(KO@t#%J1vGp}X-b
z%;hE6M*(}{457ZpL8iA~VwK;^&A%at=x*E&BHSJA*t(yCOmA0V@$cv6-+UN$#s^^R
z0Cy`#OvdgGGQGzEh50*TXHNW`aE3wrj7;x%vc=!eDxc0CF@81!JE8sG9Pc30v&K&j
ze|N}__-Wh`KO@t-8~GJktugkGo-`(GcFh#B8I4Dik!UoG`wsB7AK*m5X1y2Tj_Fsv
zfq#w1Lo07ut#*(4%(cU@zf4JmM}7ob?-3ywncmIYKhc5x6WKnA`kN66-d*h3r=oH9
zJLvGf(`v?`VZ*0RF!pX?+hK5}c6sFNvonuJgy{3J=+>tKc_GJ%BWuR!Ha0iMw^t#@
zS4EdT6~ksspEhAE2ESURnwwt+@pL-BBPWfY2**^*@{{+yi~QD#PJJp)nLK06xh>3X
z9nJ;&)KP9js;5mD)56?VU}x0lJ?f3)Crz)JicV$^M>C}-FS#8#uBYBOYVy?3(PPKg
zw5T`aFq|9pSxxzkoG@wpjEU7#Tb5t{DadcF=+LKv?tbdLj6LFBQ!_X96{7btsqoOA
zSX);M!N~O9%PfBPnwpuFz?!&LDm;7})|5pEem2PT9&4?(bk6TR92{1Ek({|C*Yy-)
zueWI|RGxhF$b(C}nU$lRlaWX$l)&8zj3pxp`ve7AiM23mWk#lFt*-8MsyW)-($1vS
zNDC4w?TiV|$n-4jxKlgRi(f*&)3Z}M^E+%}pB(KRj?n`dkw}nUZz-ss;aF^Z=SAyh
zL`wDVrDrfW_t%;|_YEW0+a|=9`5O9V;EF~*V-e)Ly&G}f?@%S4kCTmoE3GxhJ<~GR
zV9g=TPk0PYJjfzoWcrS05j+;aitMXJ@YXlT(MO9QeK+UllSOd9(m^|<MX-D`>gKOS
za29g((;}FK{Cu<s4)|F0Mm~$cy-Um72<1qcpK#DU+9F_NdLfHoCM*il{DecU))oOH
z(_3f}WVS7XMNr>p5#W80?pW81E!R@}qJ_C#{2J=ED!XpQ_fz`SOZFv%1EF{%hWpPR
zFB-JEF9G|1vPw1qm6cNIAk(v~73<7lr!QfrFF~KEiCkYoFct^}VzES^n62V^ds5pf
z6Jemd(r9yd+A6O17L~2C5uTudPd4%uvQ?Zn1yzX?M}YGwZ(HTsvBrA=JQ6qBl=s4*
z@?NNPYyEOZSG1P*;yCCEUu~7Q5fkpGt&%x|^Yh78(b{o`v{hF0M_c{1RUSZ&e%dPa
z$j?VxrT=BfuN3bEHuK6$0X&rU&Z`|{dLdh77POY~QUDL%XuKB&nch-cC5_tzE?dQT
zFS_W{;g;GeEzIo_@~k+vN;5qx*j(b-<Pai~|7$!eJC?1o5$7H&F}i_0Z^XIBC<mF|
z-rg^}eRS%)gU>g1o_n<D+#}bs62Ub#m@5hOUS?s>itA-fWp&K1#X-px*;Yr^TT<#2
z-1VBIwsTG|(I?})pr}gx8d@{gC&MLryb`EN+!JH2e`R)E^Llffm+chiM4UFVH^-4r
zK2FywZi@4$>U^ABTaOpZ6z9Av^2sL;r}Ije;=6T*!-wrJ#qZdjC+G>~VFI$piIM3$
zpyz2Qw5h+=oIs9#dY&HU{Cu+J{-ErK9nzXxE>SmstvQ?&_-f7l8u|HX%^k2_^+s{e
z)85AO1Z0mBqw+kdbZf8W)^nMeumY8b3CJENMy9vantK$duzUS2+q=_DYc8{md_}(b
zu?{!}xoz{QZgSWz$n6uqa$An`NdH=zbt2e8kKMhSP`3~LYU#z;gSc#JQ@0}izr4{^
zc&slH4dMmlSb^v&w|<h_F2=%qCgT5q9bdz3<=;8TbaAFNgREQb+pYrtSnvZoE(8BP
z4l-SgwfHSdc^l5zDPowg(*XLngG>jhl<2Cy6&30sLyj>~9|6L3nRp}~j+j%dp*>1_
z^DtE4eJrK-w<5#x*}7h^QA*9X(3?&w-!IS)&B?dGJ47nq_Ybu49a5qkf}U^Zs9gVw
zNSk(x8l_NjuAc9`s9cwwgx!l7b4`$Kp*KoYzE3@A$>7jj8I<@Uhsy1tamdZ7Wy~{v
zsnE+6DyJJBzyROXnj_XZ|4f_%w!KP9!cK2Xc>_Fvj7)E9Ua2#B#qANqeCPXCgZtb`
ze|P0ZOx$!3S~H4PwBskKP$BpENRxBBt0Qt7N4cFed3vdlJ)U)Y81IRfS5c%(lWaZD
z{GRy*=hvi29MAk#?xAF7B72Z0y32LC)MV+sH52)bZE|FfXZ_wk7WqwRMl6$Oj$h7I
zHEf!-?3r5zFT9qIrqSY#+%mf<_erC?_HxAXzAhE+QHgsi9}2<9^s?8jndFXLlGorR
z_p<g<VIRaU$wy&l8f1D|dyC&~FUqSCb0v<D3gK-OVw$p36*65MVfDV3zs^${HzBO9
z{N+a50+GS4vDD<;9^M_fz2aAH&yaR{$FJO0?uXo7@+-HuW+Ar~e&zQ53CQgQzj9Oa
zWr<(8(QU2r#o4(Pu@`fq+rq&lu1Q4j=J<c74|XF2Qn403P++f15ND1zm>8K}Vd4z)
ztu?J3d%p2}SV4nPe_$`HQT3lX$n^Gut+i^$iaifvCol-H<G@Zs;6uf1XJmTEL00|k
z*mLmp=%M*{>#g}2ncky^<}Wh#J@!fnTZ`dMv3SXQB`9{aCj#c(E2(s=MfP6lr{Jf(
z5-{&xNu^u-R=nmm*cob11kAfvQt2g0B;Q^soD9d}6!DjY{n7-xyU?p)%D&yYKh~?+
zx?WAlx6n&hD&J*4zzmtt<a`Ug&ZP2vYKm3gBKw2_ZxN~79_o(V%s!#H*7=R_`uJy^
z-}x8h=9_i?&|ApOPwRXH=jW4k-d4%ZKkFPGe_yS0@+A0coj<5*`0ZQg`x@&UxJQk#
z&J8N-T%}v<n{Az+W~_5yAAGM(S?30ob*|Dae%m^~8OtMC=fFOQ)>PKHL8iCVI)CU*
z$kso5`e@|lpFQ0bx%p;K`(tGy#ycJf2g3o6uU55oRANi-Q0%laTRAE*xT9N{cz7=v
z#tbOo)uw@T=eHRi^_F_{zg3TXC=$TuLK7i$99fyA`i#B5LZqy$X8Pj`eK|+vo8^lx
zwYJ`0dr`SI(G%_cZ4;H7+Y{Yf3v;LcxA8VWll`?j{lD5KYwp<F>HnpDJ^s{e&hpse
zc6@iNlt#8q_Wx#iY+IOHmdCb*xn)_HCb#DKaw7Or7GA@_cc@EyL5qAaP4vasTDIxF
zpzY<$L4;w>xpy>?4A7T@^nHj@Pp1pL6RgH&Gd($l-nLcwHrJC=;5}BAZ__+E1zsOj
zx$X4i<a@)@`%L+n5!jC^&(Ka!PNA3Gye0VMPEXFa<;iKGE_=rI<g_rim9{6Rg}F6L
z&+eK1R#haB3`b&t5^k6FzE;1~#MsogFqn_ggWrmgar<$4o@ZWqGFZx67+)R_-{U?~
z67GXn-y|Yf7@1zSkL7!`A`{%Fg;YMhRK-Z;>vW6X@_kbM`9-STpVakdWO}JDRqZ)R
zzf{G@H#v&ERMqPkoVFc?h}wQQZQI>JruRC=s(;RDBfm(+FH|uyz0gZlsdw;}$}GqU
z*y$UTkNaGVOz$wuD&IOSB)*>bIyGVM&ow_I(|ejPd>64WaW<x&73MfX^*}2geGkO(
z%msoo_$?UA9!!?uE$x$}Bpf&ux115P#K`nr?U&9h{%9YV|Kp@23?Lq}4zH9jGQG<<
ztNj*#5bl%?Xg^^Dr>$E)caZ5FO#Acf(>!mD)>T4>?<4l_Q!#CN_4FCj=xwf3#`L{l
z#<b~uN7wWn<h%r}>y{^P)U$Z}*$6Q1_D`{^dL3y}jd>ucWqGbX6?v|qJoPitk?7c(
z@#sI-eyYiP{Ykx%=Z8)`^+&u~mgg+Y{oVc|dNj5j<`P8E!kRu?ja=XKFN$n^8|1f+
zqE3`FP3?-zrJSgfAiki0c-&|NI?Y5~c)qE`>p!E19<b(t`#gd97(MuREIoo4dZjOb
zN`D;XAk(v6N!Y1JTyHw<KzbzCf{H|8K$Y@7NAFvV1!d4<<a&?%()hhc{&ZtO8T7EA
ztaAg)f*NHkD1#+iP`hYLspn*4K^g39=$&`bE3H{Myhr|gV?h~gvIT{BF?#EBPlF{}
zP{WM{HPBd4274KLui;kxcRUN~I%7elj0I(|r=j;W-+3#t>gTnf@Wy=%F^9PF-MI2w
z<9DY8)iNt$rv>%@#DanriQwUAdh2GpSWvJ$I(&q60I2j3ED%PfclgL!$Gr6jcEak-
zWrH4i#PW=<`vu<nJ{@0+0q(sw&ck1Kkm+qsx60q4cH-{1-8~{`|EGwCGFWQdF7LQo
zV<%4Wx*VU&@w$vmFBZ4kE2QIgd&i(hphp>*-U~73v<qv79tp<rW;#BD1v5&;4}|o+
ztE_Kj1q*yXMEUYZ91gqMyk3GRgox{nO8zhl-5)IUwF{Ncr0-ezBwYDqf1jw(Hyc!5
z*Td`Qs#A0G!fu<+60={gz6$TI9WYGG9WBn4Td}Vvs5-8mW!2H-LhmH7*eII<Z~UuV
z)`y&2@^}n(dLyi_q<NnY?DR(1-iUnnIGSNsTKkG-c;>9A)Mj|*ntaMXg1iM&8gB#z
z^(;3ttI4^ohUci~RKIfj72>b=xW=#CCc!V?^D4h`Ti*-0P0r4(h*rw+X(f}Pgi=b*
z&c@rP^;5I6H`wHzeQEsO78!Qr$|5u9VUc<7>~ZT-osAeQd1v3w?CcQ_uFggbb~g0R
z?JSGVnt|5Y$RlQFZ?MTbd)&WKJ9~pA@9ckQcJ_OioxQ<chTiLkR{eLpo&9vPv;U{r
z*&FO>=sl<F`Zsm#2jjRu6^P=Eh3&K(!FdSJ5%%LUGCk{!eebbf+HS;q>^J9Ja3AB(
z1uB0oUYcQ4{#=!AjUDf?zw=zMHO~ce*8LDZ-Gr}=2I5{fXkq25F$&}{%gFSsv1@t6
zQUlCR9LPIxMzs@H>DJh>#y-8YOk<3Y#$5JJT&G+7*4STnkJ*U>^X|k|y2Wqr#L;dw
z#>v`8`8j9eD&69@#y-`L)^|ca3uk0{p)>J~SDPEOK;D5fs-3t>x5~HI?c;Fcmd?b1
zYA3$GgG?`YCJsJz_6<~L;oxUvdZ9D%&4bKN9H@5S2RW#A;ws&$zjY=~{A$MyR6B6+
zGcvuzoj76)bI!zr^x5NZB8pvf-u+~;Z&s_F;E2u`8^!nGg}$(?^0{D>l~19)bD{49
ztGs5t>q}l<`*7TXJK!$eYkB2H8|Xq`>{WGK{h(Dxk9~N7@5-uNcJzJt@HIGd_B$$I
zGV=5}D&T^Tkf+~K0rQZj|4{)yL9W|9DxiZ<@s5@@NWhOvkuZcD8N<l*tOyxP8${qo
zrAQb;j*MYsdRBytwGR(SXj4SU5ax@J(dl|#Hh1Sd{2!Q={_VrjS3d5;@xt03Z)ERv
zo7>V0DBh}d_u<e<`U@CirsH#(`m53SW^@df0C1%`-`Pm|zS;N&=xj+?cHge}uH&di
zWIE8&sBViYeKQ=Zc!7bi?D0A3KNy)#MCIGgGY8VYy$-YQI!Rb|*8oHtUebt62WtKz
zJF(o>hhj-=!=mvR%&Px?t&ao~34|4e)V)F@d$$)Rec#=t@9##R_cDF2QTM${xBAZN
z`<u2>*UB`o?D41R-;Kz0qIvf{&a+hC{{nrETkWdvH8Q=_zHi)#I3quv42ELZihK0@
z!=~*IqwSqd+coO8t8}aGR@-lGM@_@HZ-+KNO8;&|rW4J(?KhgX--xz<*R)-uZo5j?
z{6)t70hskuCy%a~IAKyvRir8y2n6W=sw)2n{|Z(eHTi<d38NdO&`x~~^*!~yw^hlQ
z5KD(kjb{P}<G&f1ZbxXi`9HYqBE_%qO!>iOS1Nvu!|~rL-I9Wvf5U=j6u-tZ<%R`|
z6u-vd_-~c&$q&bk;@5a4<c+_jjEFGN=@x&3YX26e{pdw%f7!KvRP2oS4=oq`qm+}m
ztX>G`?S#C&uyN?Asudc~lpBYRQc}=39RID-tyZ|D_|58=;@5bl{ATrF#jkNV{#&Jc
z@^78kTk&f=Q*NEuSMh5cj{jEap8PHC1=T)Cn~<f?2;uAY;~%B;!X6bBC(oEzb5ivM
zHC5qwGN4{MMf3T#U>DbSGa*Bc!aedz<WGNDXM~`92cziWY#X7-jNBi!sF{|vJ;YQD
zh469TKr$Mn=PR+(*_&U;<S$kQok#|?8>#ye``v2Ya{Rt;k34%$*Xgg~dH+>pewgOT
zW6Lz2B<|I2@RihL{AINoe$nY5{@bTk;|--qC<0AHHb}l!ySzsETD?!cRyXdnb(=qF
zr8c|ATQHso;OnT71TH%GHQvlyhegKQ05#s!mB&zJu*wP3r!j|T0x(4Ifdwu7y!&E&
zeA@fvFD2nk=(vtYyGLTq4NLcHS&HY&d3X!goC4(Qch^fO_&vtq$9N&<{+5m02F#dt
za~emk5AsVyBC!a*=xIi;hx`h>GOgveOHug+T`x0h`7JLjKi7MOtt&rk76c=SL?V`e
z3)r_=U~YRAnFY|mSatKyf(SH0G#ZHF>pB>T9(`Eg#<cE3dk$b-%9#VsEo0q-tv>@w
zlU<<|gywYs@pW18MRtTsu&ThTE?Rme%mCL*C|Z84KLbjWUvIbF5yjpcBEwiS`q#_q
zm`%zTe_8q$6x-@3?fv_HYWyEPX^gf0hp`O|#1qjFMH%N?g<aqDRx;n568NZK<4TWF
zZe<De;`$D<;&`hoPBQHG{M->1C0QKXX23yqTjRRjq82BEQQY(oP?$;H7Q4Q+Ra%SP
z-zRF_7F#PVbb1W7Q=H=dij1_rG|cc<V5A*$WaY@CO}`geY4eY?P%sEp2@?nhx_RY}
z5Zx#a2$Qj}e%B*wq`?}_8fnpZ6nZrp#`o;$9jNUv&Pw}Q8>082S**&zvI<8-@lYZP
z*IM4zy1qV}Z<OV>*7;&*>$cWC#=@akG!EM^T7peGTn{nNF^2ahD^EUp<iSY<Q<bup
z^V&thw}BW7_;%>#DOR*Svv*OA_p-IzpTwE#-Hq#6zCBdfb(dA~yn6<+_Gb^}SF1yz
zcr1v~7W3LWx?-+MZnx_O%8uG@e0`0anBl0gzjJ$=?~wghwHlx9jUk3E?zxsaw?<2D
z_kX}B566O7Yr-LQUXjmQaYa{^-0mG{ltXilobZ#HBd69>hlY%udMS=+)Zumvo*@MB
zClEJ-R>S5haE?RmPM`V(A{qYFxT@uHxX(V6q}FY9ILv8)`<BU;e_;pSeT5_}TZtHt
zjUP55(}B7~V{Lfd6|a0n{bg$c++cYbXJqOtQSR?rG&8sKsjJYUHp*tKo;n`a!`<F?
z_etrN_x6HK`<^5$d--5EEMIO!rUR|Exh+`4AhD-#a9I7pBFVl@uny{|_my<JTx+?}
zM$4JjH8sEVsmCF|ak=>wx6Sg6uq6Isk#NG?5y>4d?$aVY!ZthO#XS@AoUr7KuV(hB
z-{WI#f$`yv>)P@!Ob9jhJ7CNoX~w=rrZ<j#Gk5Iq)z^%#z8F^rn(?Jkk1v(JgN?6~
zn>D`NJKYGb+~Mn=aahr&$31qsLqet6hCFMEjPfoOYL-<c>Gv3&{oso!yspw1T|4<R
zDgS1^hU3lUnk&S$C50G^zpc`}2d>^doHGVT0`$v&?|nH=PX65Z%LA~E7eAQ;r;(0X
zF^aUk2e-YtN*yt1ow0|jR&J}E>ebM%n^mv<@!Ndo6K>0z_%?U_gAfmX-q;>5KDX8;
zzD#t2#g`=qkF&9+%Auzthsv5s<ENi%_WP|V3AdHriju%|qgm0Kl5pGY-<~A0=LYWm
zw6+{vmi)IThfZd0<iCSZf5>%0oO6w=AMj^9`T1j6f6z!FCX~zi$Uq@RA1F<_p7%!I
zxg$q1CqSs@TqiR}VakoImYHMU27f!5Iq6T}A1F<_Cx89-zbnL#>!rdmLuLKJlZ9Yp
z`j6|q`9~fi#2LSq^@PNC#zF^~e#Wo8`A_{)h*48yJ>l2|vi>YMM;VzuYKkX+L)m&&
zzCx7W(BTSIzCx65(!KfH!FoqK8wiQN6U;J3rWa^``lY!-oE4M`t9~ZauS0_{GW{%b
z=PghFrC;oi`ad8QR(F-@H*OVzk?ChV;9397(7&KO^f%#{5i)Z;6c{7ZtL*zr*7&*L
z2~~cEkocw_=^)Bi^g`uNsY3rvmKnma^JHemqYg5C)MW4a-*vVwpODI*jd8$8<?D2B
z{(FCl_J1HVgkukqnFn5Qkm*$)c=Ip+N|#Sa<-YPW2dR9W?#=(g{aXHnil4?2<pU)7
z>vV7a4NG+Sgv3_|Tab~;*XiE;oBpNCAtb)~gB_&ub-E|N+#Bl+%25b@+3!QeuaM~l
z`d{`vL6xtN`1k*f<|jn?CfzE(n=9_A{s)NstlB6Qj>9?<Tqp!1)2lXm@@I}F`EQmA
z$K5V7l^DN_Ot0E(@pJT8CF~=$zEU}dVBT?gW6#y~8G8=a<5P5fXkF%djUJ%u$?J1g
z{oMJh^_S{#LT9I*v`$mK$Bx2!{Wo1-TDQ60qko{=!Rxn2{RdM0Px%z<Po>7{8)W_I
zFj*OyepY4P_7i_Yo8K#bh2U$bSgH6Gg5RWj@~2;VAN*%v{R3A0NTy$V*FmPAb%rN@
zW-{zk{7zx@oia0ZCdxO+^g{gi^wj)>#CLzhLE_ix-sP`+So0GS|4TUMWF&r_?#;gu
zanSTTLgL$emxD|%P=C1(#sz+-5d3n#A1Ho>OwZzX`-<xK?k~hJ%p1a~7zc-6>>$&J
z+4|SwKOTCUen&WMxvW2Lu!Br5#9s&fOTQyT`3-%JaFFTD-vtMYUCVK#S<$4on(G!W
zMH%OicgctE|JHqcFLE10x%u$@-}+sLBDb^2H{{Frf9nq)#rgU2E_MBR{gmubKgtjP
zvwdMr?Th-`5Jxer+P9Y*>lfXE{KonC{ond82dEnQ^M$d7J~Th7XtXrJPwMsk-1HiV
zf7p3GjpU3Ng4{0jX(VU9zXrKY@NFb#PJ>0F^YdjSXRf|h$<D8loSCyP@|)z_NY1QD
zA-`!pj$~PJgQ}rFBUy&8KyDMWN3z+IxP7qcg``ukCm}o^dy+M<jTo6e%-)l@`7^Nv
zieKT>VKQ@C19XBx@SAi?r&|1Duot1<5l*X>nX4aikm-fWzXf{<`W@layJTh#&I1^k
zUWk7l_5$=f!YLQZ%)8iQGcvsp|0hc{KjD<;rL4HyLE_ixp6!=CU~A%c3L!TczFEmn
zA=9(Uci(2Kn~gQ~#K)w<iyxN_-$6ezGX2EItn%Ib>3PuMC)P@Z7o#3=*c6ORKe5*0
zcl+S$?s-IrW0y&Vm)#~C_S;1WMy4OT%#%Mo_cZXoDHUEeQ_91tz;BT0$G&OtyKmFg
z-LXiBqt;4=SNu#i>|ZAYBh!zvzpm`&Pd_yo{Qs5;ub3j`5yyhxAk&Zfw=Un<G+t*)
zUYel(@KeyoZ_#X2XH@VGb%$ndZf@tnY8<xGr`#I)Ah2QB^FHO4UIWW`*xNqkmN^ak
zrC}fVl^cDH)3;v8%;}5VoLh`7>(k5{jM`zVd}^uICC;}&TUIw2z7lnNIlFE~m$=_4
zsQ&@>gQMnPKMkaP>A<-TGJVt>Yc5;-r(^A>eKz5kcJMEvWJacsKG2iDq5XrZe1){X
zCI28J$~Wnr{OMP)7MzW>fbg8<GX3g_4l@00vlirOf99BpD1U)eNc+QMk5l_Qg-jo{
zz_a|!wB6DE{!-x>oaap2g!UU``sn`N{O<km=o#>@?TY*iQhju~H~&kg>G~7W?_Ul(
zNcGq0-u$#5rr+_t_?wF~KOxf#v|sisSHDw8`{RD^DSn0EH|e^3vwC`*d>%Pl=)dfE
zfvpqwLY|L#jOLvCUDc21dtB8|>ib=d$n-}nX}I|tKBm?`A~ik<#ApV;My7l7Z`=5c
z;@9}3+_rI%;@9{H{#&Jcmap!Ip?r-`YH?IEGTkoUeM?W>U&B2xbH7dV^DRH7gIY>V
zA)kxr7dqVMV?kFmEuGUe^xMTcGsOvWo)}Pf%qwwi9t~Oi?n+%37;uO-%){kGjuKC1
z7G~@3u4&}iKBuMJazs|6UhXsOaAUl>Znu3_oWI@fsB+crF++rS$hqs|!R3m~)-A8M
zxVCT05y_91TYc`jtD@U(_c`i=-Ya&agg8^HZxUjTZ0y4U1vuUJDU=k%o<cm)xsiAK
zN<l{}TT*b{TgxYfLTz#1E^DeBa8<7HX4SVZ2SiO6&B-TImDG<HRSL1B0}z^raLNZl
zthn6ZG+d0_Lx>mt2!w_tyyO=`EE{C-2<F#)nJ@pE-Gr!pRi<isY8>^55YH!NN?}5#
zM!zq_qRBvL9K!J@2r(b^QrH%Jir+i`afb-8@JBK=4%Reb^)jqtiw!Q4sWDrHSY8L*
zqVe2uLM*;srWD=)KE>~ufBFXS*RGN28@6e@4!geRkCADGN6YlAm8kbmfh#oL976qf
z#XWh#?%-4W-ud4Ip)DMVHw8LsoC&|_(uFdu@OhcO{w>sdGw`n(Z^5o{@l2UkI17A=
z-#h>Nu;E$K8Sh>6(0J$X(7zYUw8D#I`tE<AUmpjq)j0b&^zV@}t#AnV6o20Q2h#Xi
zu~>+CBQ-96S*BjZ_+e!Fypi7gFHh0@gv9sS|2jzgI^COpGU`45LzyC6`dyitihg2b
z`uq>Q`LDPP^4wRZ2v=6g)X(pBkm-x}_2$0}{ZYGArU(~79+y`+$n@H!-uzGRqw7yd
z^?r7cgH(T=?#(}Ek}jW+%6|&$G9#6*(>?jq>##$fH%cm8zFMZgo(}mNWcs{O-uxS-
z<|ib+Z}xSN_;tEB|Lt?o{tYrsxHKTscfH{t)8}vS=Kp;V{r4T2CR}-rO#g9&gG^ui
z9dG^z+d_VC$TZ<1%-i4X?;z7_-|*&N3)_(DNl5j7|DO&ry-@vE_tNDPQu*(~i^fRh
z>vXGp_sOnWM`?Yf^_167MyA)k>djB<C9j*bPSU!_$n=Fj^5!Rf!Fq%B10&OybnxU?
z>nN?Sw4TyBO6w*g(`(mw^V2#>>n9<tle8`}GJT=F{<!6*)<IeyX+5NMkk&m$rY|wJ
z3YJ<rS#!V8*qrsx;%~<K=jLzD{I&R-F@O2wU9JC0KSR%sx=ZVIrN@5;{SA9!KI`vA
zR{vT2O8*`QeT{tt>21=}E81ZkPQ$!r{d}A^KiMyfx58e5eq1r#*eTD#KEZfeX6%#2
zTRr);ets3>@8?>tD?JXqdNamRqyDz%kGuX_|H2-ac{Az{y-j+01@0@{LiJ+(Y=1S;
z;wSyOID_$bht|tV56{Cm{1NJJ^zY(~XZ=&lZxdnx>?Xpce}=y7>LAk>*pWf*@>4J2
z3MBoGkoaF;;2_fr@lRd_IsF~_7r68wnVMGNAk*jn-MjvmVZE!Zh5iIC>I(gdNCifw
z*V<litNvF^f&6+we*;%efc{2=0VC5F_wp`(&RAVOA(i_S`hk(k*XiE;Ps6UIb`nzi
zpT+vY$n*m3Pk%K4^2fSIxO6`B<!lF;zTl^x<)^>Kc%$DD5`P^$XN*iQ#D6>1z4@O&
z{{ojD3jMprL8j0D#Jl|8V!qa{z<XxEMSDVj9_%2~Yt1bhvwph!Fa3L*nk?Q8`Wv`%
zJoNWj4l;f5Zr<gu?ySovr1Iazyk(^Fb-FkITC6+NPC{z``=2|=^sM%~BRf({W(YC2
zy;S(p?yz4E5`vNGbK6_xTl_1(r}+tqZx!ruM&j4$-u$BuMf+j560WGhy7`uaOs}o-
z=0EQR%}@AZH>{hVI!OFF-JAa>?`nR+S5J_s>#lW>_;tEB{~Wj|=y!xv{__Vq$aJoM
zm*z#bq)x`kXzc*<Jo*sXlKL@r!nFreZaze|q|W^Va_jF~JV5Fa*v~pYU*Z8$*PW|m
z=T|&H>bAclzk$BR1Egl(j{Jf?#sj4O)LzxlpLl@O^L>!p_i42F5!v#SFOXZ*r;(h#
zMk2Svd>YB=TVO%e;+~*SF<R-_uxNCCzKrDb9QZmRJHJM9dcl>*FX`JzPQQSif9)V2
zM{@e@KdBn}Gm_IEKZe}m*(2HLba!M)`g0KH_LK@=+FzzOV{gpJ^tnAPonY~=drI>Y
z65p2d9VC98?#+K)Kh$(0Y<l2|F|frScaZ6|6TSI=^?>Fld=Wmp*=RW<@#}PN{@=oe
zqu&v}I!LDHz$Rd1dZF^)c|!9OQn??`caZpXx>deAvPA7k$#y5-9NF~blVfChmQ8Q*
z)1H)mM@W3+lVfChA^sEL!+rL4nIe3x2Xy+^4l@1O+db>A_OxWXl5dJ^S@KCSGCj+t
zb=P0{oalG7w<SLENij0L5dX9vqW%xbG~sI%GX2Tb4l@1OhphU$BXiVV?79AWPqqR+
z721<AGW|LGG}+>(y%_zDkoag%#>n(S{3l=~p8L8?5x%xYrWV#Z$n?49R;Zc3?()@M
z<hh96ldNp3_aux=e-5Wh-Ejt)kDvA;^gBZ0qdf^D(+lxWMSss-E7OFpy(ZJ2VlU0e
z^ts-VMX4pQG3K5Rn;iJ!Q!@4Hiw-h<?)g^z-H}PDl`}OzA@Q%e)Is9c>E8UuKL>u;
z?u4)ZR;CtR<sj3u_5|+o)1OZS|0P&IfiEt?`gyj4OrLv+XZh*%uu$oDgv7rE77ZiQ
z3-M3EdPnOl;p@MV>CbvP$aG%6yJ(x-9hp_i`&X$|ccP5bNt>w1ESyf!Xv&ityj6{F
z5qQOUrOw6fwf5J3<#q{tqP6$?mD_bwklU~P%I*0*k=x7?ax0}5(p&nY7ivn#t(0C!
z-*N@&_JCix&BpAjb>c-@HbT;K_CRia^=bNJSQNFt$!@7x3*C`bsg=0twd{JV8NlV^
zW$J~64l;e&_10X@;h#5G^UuFk^D{Di-du0~S8mni6H@uFPIi#W*Xf1%sT}$pl}r4L
zOfOJ=di_Nx{|>B0z~$3rdc(;MGJV+{p5-gPdCN5a{MnkHk?Hg7C|9@q(y9G)`Giz{
zD(xVZuhYHDr*tZZkjf=~My6+#-%nI@D;N001)Yzsd_tdZ63&M%f8lEf>3mbCTjl5Q
zFM};WzoYX};%8*~GTWB0_+P2k<r7l*uRh=)m9Nvi%cpcIhmgu8enzGjC_lY^s6HPg
zTmV~O18gZqIv>>Op5?3bWw0gacXYl;{ESRrX4@j}_NO<k*X0vZxtkAhkjmHT-sMv|
zl|xA75<er;xqPF&ydvYS#F(JJ?8vx=egk2jp5n2ZxFg%l%jo8X^qnuKlQf(AayrL{
z<#{o|^^STM%;D_FIImYh+^?Mz-{#Jftye+3_}uS>6JI8Ln8mk!;-k7%R0IQ6p(--J
zV0pp)+NFo{#*DGKvfg}J(&leM?01NsE#T<E9E~rt<mX!zK2vn)Wlqt-*VEx^e96R{
zv(0(<nnQP8#~e-^7khKItv9=bJaxq>gtjZQ+DLV+_~ogMC3Z4(jTiWR_bXq@`F*Uw
z?{|66STm>>=N~Qb`)<RY&B;Gf;P+h?56by{xWMl_hl~bw)hATo_Z=TPAt(Pr@+^Dz
kGyQvGA-SVnR~>XYO=C&e<B`A8zZ;S1MB`}Jwr$1#0r!<Zz5oCK

literal 0
HcmV?d00001

diff --git a/klayout/drc/testing/testcases/unit/lres.svg b/klayout/drc/testing/testcases/unit/lres.svg
new file mode 100644
index 00000000..dcc0ddad
--- /dev/null
+++ b/klayout/drc/testing/testcases/unit/lres.svg
@@ -0,0 +1,690 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="25673.978" height="14116.188" viewBox="-38459.429 -12964.189 25673.978 14116.188">
+<defs>
+<style type="text/css">
+.l33d0 {stroke: #882D17; fill: #882D17; fill-opacity: 0.5;}
+.l32d0 {stroke: #DCD300; fill: #DCD300; fill-opacity: 0.5;}
+.l34d0 {stroke: #8DB600; fill: #8DB600; fill-opacity: 0.5;}
+.l21d0 {stroke: #A1CAF1; fill: #A1CAF1; fill-opacity: 0.5;}
+.l22d0 {stroke: #BE0032; fill: #BE0032; fill-opacity: 0.5;}
+.l49d0 {stroke: #604E97; fill: #604E97; fill-opacity: 0.5;}
+.l14d222 {stroke: #F38400; fill: #F38400; fill-opacity: 0.5;}
+.l3d222 {fill:none;stroke:red;stroke-dasharray:8,8;}
+.l2d222 {fill:none;stroke:green;stroke-dasharray:8,8;}
+.l30d0 {stroke: #F6A600; fill: #F6A600; fill-opacity: 0.5;}
+.l110d5 {stroke: #654522; fill: #654522; fill-opacity: 0.5;}
+.l11t222 {stroke: none; fill: #2B3D26;}
+.l12t222 {stroke: none; fill: #F3C300;}
+</style>
+</defs>
+<rect x="-38459.429" y="-12964.189" width="25673.978" height="14116.188" fill="#222222" stroke="none"/>
+<g id="10_2_LRES" transform="scale(1 -1)">
+<polygon id="0x5574dfae80b0" class="l34d0" points="-22786.16,4749.81 -22786.16,4756.01 -22790.36,4756.01 -22790.36,4749.81"/>
+<polygon id="0x5574dfabf770" class="l2d222" points="-13962.45,25 -13962.45,1145 -17282.45,1145 -17282.45,25"/>
+<polygon id="0x5574dfa8f120" class="l32d0" points="-13952.45,15 -13952.45,1155 -17292.45,1155 -17292.45,15"/>
+<polygon id="0x5574dfa8f190" class="l30d0" points="-14012.45,75 -14012.45,1095 -15532.45,1095 -15532.45,75"/>
+<polygon id="0x5574dfa8f200" class="l49d0" points="-13972.45,35 -13972.45,1135 -15572.45,1135 -15572.45,35"/>
+<polygon id="0x5574dfa8f270" class="l110d5" points="-14022.45,85 -14022.45,1085 -15522.45,1085 -15522.45,85"/>
+<polygon id="0x5574dfa8f2e0" class="l30d0" points="-15712.45,75 -15712.45,1095 -17232.45,1095 -17232.45,75"/>
+<polygon id="0x5574dfa8f350" class="l49d0" points="-15672.45,35 -15672.45,1135 -17272.45,1135 -17272.45,35"/>
+<polygon id="0x5574dfa8f3c0" class="l110d5" points="-15722.45,85 -15722.45,1085 -17222.45,1085 -17222.45,85"/>
+<polygon id="0x5574dfa8f430" class="l3d222" points="-33962.48,25.03 -33962.48,1144.98 -37282.43,1144.98 -37282.43,25.03"/>
+<polygon id="0x5574dfa8f4a0" class="l32d0" points="-33952.48,15.03 -33952.48,1154.98 -37292.43,1154.98 -37292.43,15.03"/>
+<polygon id="0x5574dfa8f510" class="l30d0" points="-34012.48,75.03 -34012.48,1095.08 -35532.53,1095.08 -35532.53,75.03"/>
+<polygon id="0x5574dfa8f580" class="l49d0" points="-33972.48,35.03 -33972.48,1135.08 -35572.53,1135.08 -35572.53,35.03"/>
+<polygon id="0x5574dfa8f5f0" class="l110d5" points="-34022.48,85.03 -34022.48,1085.08 -35522.53,1085.08 -35522.53,85.03"/>
+<polygon id="0x5574dfa8f660" class="l30d0" points="-35712.48,75.03 -35712.48,1094.98 -37232.43,1094.98 -37232.43,75.03"/>
+<polygon id="0x5574dfa8f6d0" class="l49d0" points="-35672.48,35.03 -35672.48,1134.98 -37272.43,1134.98 -37272.43,35.03"/>
+<polygon id="0x5574dfa8f740" class="l110d5" points="-35722.48,85.03 -35722.48,1084.98 -37222.43,1084.98 -37222.43,85.03"/>
+<polygon id="0x5574dfaeb3f0" class="l34d0" points="-28786.16,3760.41 -28786.16,3766.61 -28790.36,3766.61 -28790.36,3760.41"/>
+<polygon id="0x5574dfaeb330" class="l34d0" points="-28786.16,3729.71 -28786.16,3735.91 -28790.36,3735.91 -28790.36,3729.71"/>
+<polygon id="0x5574dfaeb270" class="l33d0" points="-28787.16,3731.71 -28787.16,3733.91 -28789.36,3733.91 -28789.36,3731.71"/>
+<polygon id="0x5574dfaeb1b0" class="l33d0" points="-28787.16,3762.41 -28787.16,3764.61 -28789.36,3764.61 -28789.36,3762.41"/>
+<polygon id="0x5574dfae7ff0" class="l33d0" points="-22787.16,4751.81 -22787.16,4754.01 -22789.36,4754.01 -22789.36,4751.81"/>
+<polygon id="0x5574dfabfea0" class="l30d0" points="-22784.26,1684.81 -22784.26,1719.61 -22792.26,1719.61 -22792.26,1684.81"/>
+<polygon id="0x5574dfae39c0" class="l33d0" points="-22787.16,4782.41 -22787.16,4784.61 -22789.36,4784.61 -22789.36,4782.41"/>
+<polygon id="0x5574dfabff80" class="l49d0" points="-22781.26,1690.21 -22781.26,1714.21 -22795.26,1714.21 -22795.26,1690.21"/>
+<polygon id="0x5574dfac0040" class="l2d222" points="-22769.96,1670.51 -22769.96,1733.91 -22806.56,1733.91 -22806.56,1670.51"/>
+<polygon id="0x5574dfac0100" class="l110d5" points="-22784.26,1690.21 -22784.26,1714.21 -22792.26,1714.21 -22792.26,1690.21"/>
+<polygon id="0x5574dfac01c0" class="l32d0" points="-22781.26,1681.81 -22781.26,1722.61 -22795.26,1722.61 -22795.26,1681.81"/>
+<polygon id="0x5574dfac0280" class="l21d0" points="-22779.96,1680.51 -22779.96,1723.91 -22796.56,1723.91 -22796.56,1680.51"/>
+<polygon id="0x5574dfac0340" class="l33d0" points="-22787.16,1716.41 -22787.16,1718.61 -22789.36,1718.61 -22789.36,1716.41"/>
+<polygon id="0x5574dfac0400" class="l33d0" points="-22787.16,1685.81 -22787.16,1688.01 -22789.36,1688.01 -22789.36,1685.81"/>
+<polygon id="0x5574dfac04c0" class="l34d0" points="-22787.06,1685.61 -22787.06,1688.21 -22789.46,1688.21 -22789.46,1685.61"/>
+<polygon id="0x5574dfac0580" class="l34d0" points="-22787.06,1716.21 -22787.06,1718.81 -22789.46,1718.81 -22789.46,1716.21"/>
+<polygon id="0x5574dfac06a0" class="l110d5" points="-22243.55,1690.51 -22243.55,1762.55 -22719.96,1762.55 -22719.96,1690.51"/>
+<polygon id="0x5574dfac0760" class="l32d0" points="-22233.55,1680.51 -22233.55,1772.55 -22729.96,1772.55 -22729.96,1680.51"/>
+<polygon id="0x5574dfac0820" class="l21d0" points="-22223.55,1670.51 -22223.55,1782.55 -22739.96,1782.55 -22739.96,1670.51"/>
+<polygon id="0x5574dfac08e0" class="l30d0" points="-22263.55,1710.51 -22263.55,1718.52 -22287.58,1718.52 -22287.58,1742.55 -22295.59,1742.55 -22295.59,1715.19 -22290.91,1710.51"/>
+<polygon id="0x5574dfac0950" class="l49d0" points="-22258.55,1705.51 -22258.55,1747.55 -22300.59,1747.55 -22300.59,1705.51"/>
+<polygon id="0x5574dfac0a10" class="l2d222" points="-22253.55,1700.51 -22253.55,1752.55 -22305.59,1752.55 -22305.59,1700.51"/>
+<polygon id="0x5574dfac0ad0" class="l30d0" points="-22345.59,1710.51 -22345.59,1726.51 -22361.59,1726.51 -22369.59,1718.51 -22369.59,1710.51"/>
+<polygon id="0x5574dfac0b40" class="l49d0" points="-22340.59,1705.51 -22340.59,1731.51 -22374.59,1731.51 -22374.59,1705.51"/>
+<polygon id="0x5574dfac0c00" class="l2d222" points="-22335.59,1700.51 -22335.59,1736.51 -22379.59,1736.51 -22379.59,1700.51"/>
+<polygon id="0x5574dfac0d10" class="l30d0" points="-22419.59,1710.51 -22419.59,1726.51 -22437.92,1726.51 -22443.59,1720.84 -22443.59,1710.51"/>
+<polygon id="0x5574dfac0de0" class="l49d0" points="-22414.59,1705.51 -22414.59,1731.51 -22448.59,1731.51 -22448.59,1705.51"/>
+<polygon id="0x5574dfac0ea0" class="l2d222" points="-22409.59,1700.51 -22409.59,1736.51 -22453.59,1736.51 -22453.59,1700.51"/>
+<polygon id="0x5574dfac0fd0" class="l30d0" points="-22461.92,1736.84 -22461.92,1720.84 -22443.59,1720.84 -22437.92,1726.51 -22437.92,1736.84"/>
+<polygon id="0x5574dfac10a0" class="l49d0" points="-22466.92,1741.84 -22466.92,1715.84 -22432.92,1715.84 -22432.92,1741.84"/>
+<polygon id="0x5574dfac1110" class="l2d222" points="-22471.92,1746.84 -22471.92,1710.84 -22427.92,1710.84 -22427.92,1746.84"/>
+<polygon id="0x5574dfac1250" class="l30d0" points="-22609.92,1710.51 -22609.92,1718.52 -22630.62,1718.52 -22633.95,1721.85 -22633.95,1742.55 -22641.96,1742.55 -22641.96,1718.52 -22633.95,1710.51"/>
+<polygon id="0x5574dfac12c0" class="l49d0" points="-22604.92,1705.51 -22604.92,1747.55 -22646.96,1747.55 -22646.96,1705.51"/>
+<polygon id="0x5574dfac1380" class="l2d222" points="-22599.92,1700.51 -22599.92,1752.55 -22651.96,1752.55 -22651.96,1700.51"/>
+<polygon id="0x5574dfac14e0" class="l30d0" points="-22691.96,1710.51 -22691.96,1734.51 -22699.96,1734.51 -22699.96,1710.51"/>
+<polygon id="0x5574dfac15a0" class="l49d0" points="-22686.96,1705.51 -22686.96,1739.51 -22704.96,1739.51 -22704.96,1705.51"/>
+<polygon id="0x5574dfac1660" class="l2d222" points="-22681.96,1700.51 -22681.96,1744.51 -22709.96,1744.51 -22709.96,1700.51"/>
+<polygon id="0x5574dfac1720" class="l30d0" points="-28784.63,1684.81 -28784.63,1719.61 -28792.38,1719.61 -28792.38,1684.81"/>
+<polygon id="0x5574dfaeb0f0" class="l21d0" points="-28774.26,3720.71 -28774.26,3775.61 -28802.26,3775.61 -28802.26,3720.71"/>
+<polygon id="0x5574dfac19f0" class="l49d0" points="-28781.63,1690.21 -28781.63,1714.21 -28795.38,1714.21 -28795.38,1690.21"/>
+<polygon id="0x5574dfac1ab0" class="l3d222" points="-28770.33,1670.51 -28770.33,1733.91 -28806.68,1733.91 -28806.68,1670.51"/>
+<polygon id="0x5574dfac1b70" class="l110d5" points="-28784.63,1690.21 -28784.63,1714.21 -28792.38,1714.21 -28792.38,1690.21"/>
+<polygon id="0x5574dfac1c30" class="l32d0" points="-28781.63,1681.81 -28781.63,1722.61 -28795.38,1722.61 -28795.38,1681.81"/>
+<polygon id="0x5574dfac1cf0" class="l21d0" points="-28780.33,1680.51 -28780.33,1723.91 -28796.68,1723.91 -28796.68,1680.51"/>
+<polygon id="0x5574dfac1db0" class="l33d0" points="-28787.41,1716.41 -28787.41,1718.61 -28789.61,1718.61 -28789.61,1716.41"/>
+<polygon id="0x5574dfac1e70" class="l33d0" points="-28787.41,1685.81 -28787.41,1688.01 -28789.61,1688.01 -28789.61,1685.81"/>
+<polygon id="0x5574dfac1f30" class="l34d0" points="-28787.31,1685.61 -28787.31,1688.21 -28789.7,1688.21 -28789.7,1685.61"/>
+<polygon id="0x5574dfac1ff0" class="l34d0" points="-28787.31,1716.21 -28787.31,1718.81 -28789.7,1718.81 -28789.7,1716.21"/>
+<polygon id="0x5574dfac2110" class="l110d5" points="-28243.42,1690.51 -28243.42,1762.55 -28720.33,1762.55 -28720.33,1690.51"/>
+<polygon id="0x5574dfac21d0" class="l32d0" points="-28233.42,1680.51 -28233.42,1772.55 -28730.33,1772.55 -28730.33,1680.51"/>
+<polygon id="0x5574dfac2290" class="l21d0" points="-28223.42,1670.51 -28223.42,1782.55 -28740.33,1782.55 -28740.33,1670.51"/>
+<polygon id="0x5574dfac2350" class="l30d0" points="-28263.42,1710.51 -28263.42,1718.52 -28287.45,1718.52 -28287.45,1742.55 -28295.46,1742.55 -28295.46,1716.69 -28289.28,1710.51"/>
+<polygon id="0x5574dfac23c0" class="l49d0" points="-28258.42,1705.51 -28258.42,1747.55 -28300.46,1747.55 -28300.46,1705.51"/>
+<polygon id="0x5574dfac2480" class="l3d222" points="-28253.42,1700.51 -28253.42,1752.55 -28305.46,1752.55 -28305.46,1700.51"/>
+<polygon id="0x5574dfac2540" class="l30d0" points="-28345.46,1710.51 -28345.46,1726.51 -28361.21,1726.51 -28369.46,1718.26 -28369.46,1710.51"/>
+<polygon id="0x5574dfac25b0" class="l49d0" points="-28340.46,1705.51 -28340.46,1731.51 -28374.46,1731.51 -28374.46,1705.51"/>
+<polygon id="0x5574dfac2670" class="l3d222" points="-28335.46,1700.51 -28335.46,1736.51 -28379.46,1736.51 -28379.46,1700.51"/>
+<polygon id="0x5574dfac2780" class="l30d0" points="-28419.46,1710.51 -28419.46,1726.51 -28438.54,1726.51 -28443.46,1721.59 -28443.46,1710.51"/>
+<polygon id="0x5574dfac2850" class="l49d0" points="-28414.46,1705.51 -28414.46,1731.51 -28448.46,1731.51 -28448.46,1705.51"/>
+<polygon id="0x5574dfac2910" class="l3d222" points="-28409.46,1700.51 -28409.46,1736.51 -28453.46,1736.51 -28453.46,1700.51"/>
+<polygon id="0x5574dfac2a40" class="l30d0" points="-28462.54,1737.59 -28462.54,1721.59 -28443.46,1721.59 -28438.54,1726.51 -28438.54,1737.59"/>
+<polygon id="0x5574dfac2b10" class="l49d0" points="-28467.54,1742.59 -28467.54,1716.59 -28433.54,1716.59 -28433.54,1742.59"/>
+<polygon id="0x5574dfac2b80" class="l3d222" points="-28472.54,1747.59 -28472.54,1711.59 -28428.54,1711.59 -28428.54,1747.59"/>
+<polygon id="0x5574dfac2cc0" class="l30d0" points="-28610.54,1710.51 -28610.54,1718.52 -28632.74,1718.52 -28634.57,1720.35 -28634.57,1742.55 -28642.58,1742.55 -28642.58,1718.52 -28634.57,1710.51"/>
+<polygon id="0x5574dfac2d30" class="l49d0" points="-28605.54,1705.51 -28605.54,1747.55 -28647.58,1747.55 -28647.58,1705.51"/>
+<polygon id="0x5574dfac2df0" class="l3d222" points="-28600.54,1700.51 -28600.54,1752.55 -28652.58,1752.55 -28652.58,1700.51"/>
+<polygon id="0x5574dfac2f50" class="l30d0" points="-28692.58,1710.51 -28692.58,1734.51 -28700.33,1734.51 -28700.33,1710.51"/>
+<polygon id="0x5574dfac3010" class="l49d0" points="-28687.58,1705.51 -28687.58,1739.51 -28705.33,1739.51 -28705.33,1705.51"/>
+<polygon id="0x5574dfac30d0" class="l3d222" points="-28682.58,1700.51 -28682.58,1744.51 -28710.33,1744.51 -28710.33,1700.51"/>
+<polygon id="0x5574dfaeb030" class="l32d0" points="-28781.26,3727.71 -28781.26,3768.61 -28795.26,3768.61 -28795.26,3727.71"/>
+<polygon id="0x5574dfae7490" class="l110d5" points="-28784.26,3736.16 -28784.26,3760.16 -28792.26,3760.16 -28792.26,3736.16"/>
+<polygon id="0x5574dfae73d0" class="l3d222" points="-28764.26,3710.71 -28764.26,3785.61 -28812.26,3785.61 -28812.26,3710.71"/>
+<polygon id="0x5574dfae7310" class="l49d0" points="-28781.26,3736.11 -28781.26,3760.21 -28795.26,3760.21 -28795.26,3736.11"/>
+<polygon id="0x5574dfae3900" class="l21d0" points="-22774.26,4740.81 -22774.26,4795.61 -22802.26,4795.61 -22802.26,4740.81"/>
+<polygon id="0x5574dfac4f20" class="l30d0" points="-22453.62,6815.54 -22453.73,6815.54 -22442.31,6826.96 -22442.31,6826.85 -22447.98,6832.52 -22447.97,6832.52 -22459.29,6821.2 -22459.29,6821.21"/>
+<polygon id="0x5574dfac4f90" class="l30d0" points="-22409.53,6794.47 -22409.54,6794.47 -22398.22,6805.79 -22398.22,6805.78 -22403.89,6811.45 -22403.88,6811.45 -22415.2,6800.13 -22415.2,6800.14"/>
+<polygon id="0x5574dfac5000" class="l30d0" points="-22412.37,6808.63 -22412.38,6808.63 -22401.06,6819.95 -22401.06,6819.94 -22406.73,6825.61 -22406.72,6825.61 -22418.04,6814.29 -22418.04,6814.3"/>
+<polygon id="0x5574dfac5220" class="l30d0" points="-28409.93,6794.6 -28409.94,6794.6 -28398.62,6805.92 -28398.62,6805.91 -28404.29,6811.58 -28404.28,6811.58 -28415.6,6800.26 -28415.6,6800.27"/>
+<polygon id="0x5574dfac5290" class="l30d0" points="-28412.62,6808.61 -28412.63,6808.61 -28401.31,6819.93 -28401.31,6819.92 -28406.98,6825.59 -28406.97,6825.59 -28418.29,6814.27 -28418.29,6814.28"/>
+<polygon id="0x5574dfac5300" class="l30d0" points="-28453.67,6815.57 -28453.68,6815.57 -28442.36,6826.89 -28442.36,6826.88 -28448.03,6832.55 -28448.02,6832.55 -28459.34,6821.23 -28459.34,6821.24"/>
+<polygon id="0x5574dfac5370" class="l30d0" points="-22659.59,6798.37 -22659.59,6825.17 -22667.59,6825.17 -22667.59,6798.37"/>
+<polygon id="0x5574dfac53e0" class="l30d0" points="-22671.59,6798.37 -22671.59,6825.17 -22679.59,6825.17 -22679.59,6798.37"/>
+<polygon id="0x5574dfac5450" class="l30d0" points="-22437.14,6802.37 -22437.14,6818.37 -22445.14,6818.37 -22445.14,6802.37"/>
+<polygon id="0x5574dfac5510" class="l30d0" points="-22477.13,6813.21 -22477.13,6829.21 -22485.13,6829.21 -22485.13,6813.21"/>
+<polygon id="0x5574dfac55d0" class="l30d0" points="-22466.29,6794.37 -22466.29,6810.37 -22474.29,6810.37 -22474.29,6794.37"/>
+<polygon id="0x5574dfac5690" class="l30d0" points="-22614.44,6802.37 -22614.44,6818.37 -22622.44,6818.37 -22622.44,6802.37"/>
+<polygon id="0x5574dfac5750" class="l30d0" points="-22602.44,6794.37 -22602.44,6810.37 -22610.44,6810.37 -22610.44,6794.37"/>
+<polygon id="0x5574dfac5810" class="l30d0" points="-28659.14,6798.5 -28659.14,6825.3 -28667.14,6825.3 -28667.14,6798.5"/>
+<polygon id="0x5574dfac58d0" class="l30d0" points="-28671.09,6798.5 -28671.09,6825.3 -28679.09,6825.3 -28679.09,6798.5"/>
+<polygon id="0x5574dfac5990" class="l30d0" points="-28437.34,6802.5 -28437.34,6818.5 -28445.34,6818.5 -28445.34,6802.5"/>
+<polygon id="0x5574dfac5a50" class="l30d0" points="-28477.03,6813.19 -28477.03,6829.19 -28485.03,6829.19 -28485.03,6813.19"/>
+<polygon id="0x5574dfac5b10" class="l30d0" points="-28466.34,6794.5 -28466.34,6810.5 -28474.34,6810.5 -28474.34,6794.5"/>
+<polygon id="0x5574dfac5bd0" class="l30d0" points="-28614.14,6802.5 -28614.14,6818.5 -28622.14,6818.5 -28622.14,6802.5"/>
+<polygon id="0x5574dfac5c90" class="l30d0" points="-28602.19,6794.5 -28602.19,6810.5 -28610.19,6810.5 -28610.19,6794.5"/>
+<polygon id="0x5574dfac5d50" class="l14d222" points="-22398.22,6794.47 -22398.22,6811.45 -22415.2,6811.45 -22415.2,6794.47"/>
+<polygon id="0x5574dfac5e10" class="l14d222" points="-22401.06,6808.63 -22401.06,6825.61 -22418.04,6825.61 -22418.04,6808.63"/>
+<polygon id="0x5574dfac5ed0" class="l14d222" points="-22442.31,6815.54 -22442.31,6832.52 -22459.29,6832.52 -22459.29,6815.54"/>
+<polygon id="0x5574dfac5f90" class="l14d222" points="-28398.62,6794.6 -28398.62,6811.58 -28415.6,6811.58 -28415.6,6794.6"/>
+<polygon id="0x5574dfac6050" class="l14d222" points="-28401.31,6808.61 -28401.31,6825.59 -28418.29,6825.59 -28418.29,6808.61"/>
+<polygon id="0x5574dfac6110" class="l14d222" points="-28442.36,6815.57 -28442.36,6832.55 -28459.34,6832.55 -28459.34,6815.57"/>
+<polygon id="0x5574dfae7190" class="l30d0" points="-28784.26,3730.71 -28784.26,3765.61 -28792.26,3765.61 -28792.26,3730.71"/>
+<polygon id="0x5574dfae7f60" class="l34d0" points="-22786.16,3760.31 -22786.16,3766.51 -22790.36,3766.51 -22790.36,3760.31"/>
+<polygon id="0x5574dfae7ea0" class="l34d0" points="-22786.16,3729.71 -22786.16,3735.91 -22790.36,3735.91 -22790.36,3729.71"/>
+<polygon id="0x5574dfaf01a0" class="l34d0" points="-28786.16,5800.51 -28786.16,5806.71 -28790.36,5806.71 -28790.36,5800.51"/>
+<polygon id="0x5574dfac64d0" class="l49d0" points="-22409.53,6794.34 -22398.08,6805.79 -22403.88,6811.59 -22415.33,6800.14"/>
+<polygon id="0x5574dfac6590" class="l49d0" points="-22412.37,6808.5 -22400.92,6819.95 -22406.72,6825.75 -22418.17,6814.3"/>
+<polygon id="0x5574dfac6650" class="l49d0" points="-22453.62,6815.41 -22442.17,6826.86 -22447.97,6832.66 -22459.42,6821.21"/>
+<polygon id="0x5574dfac6710" class="l49d0" points="-28409.93,6794.47 -28398.48,6805.92 -28404.28,6811.72 -28415.73,6800.27"/>
+<polygon id="0x5574dfac67d0" class="l49d0" points="-28412.62,6808.48 -28401.17,6819.93 -28406.97,6825.73 -28418.42,6814.28"/>
+<polygon id="0x5574dfac6890" class="l49d0" points="-28453.67,6815.44 -28442.22,6826.89 -28448.02,6832.69 -28459.47,6821.24"/>
+<polygon id="0x5574dfac6950" class="l49d0" points="-22656.59,6803.77 -22656.59,6819.77 -22670.59,6819.77 -22670.59,6803.77"/>
+<polygon id="0x5574dfac6a10" class="l49d0" points="-22668.59,6803.77 -22668.59,6819.77 -22682.59,6819.77 -22682.59,6803.77"/>
+<polygon id="0x5574dfac6ad0" class="l49d0" points="-22437.04,6802.27 -22437.04,6818.47 -22445.24,6818.47 -22445.24,6802.27"/>
+<polygon id="0x5574dfac6b90" class="l49d0" points="-22466.19,6794.27 -22466.19,6810.47 -22474.39,6810.47 -22474.39,6794.27"/>
+<polygon id="0x5574dfac6c50" class="l49d0" points="-22477.03,6813.11 -22477.03,6829.31 -22485.23,6829.31 -22485.23,6813.11"/>
+<polygon id="0x5574dfac6d10" class="l49d0" points="-22602.34,6794.27 -22602.34,6810.47 -22610.54,6810.47 -22610.54,6794.27"/>
+<polygon id="0x5574dfac6dd0" class="l49d0" points="-22614.34,6802.27 -22614.34,6818.47 -22622.54,6818.47 -22622.54,6802.27"/>
+<polygon id="0x5574dfac6e90" class="l49d0" points="-28656.14,6803.9 -28656.14,6819.9 -28670.14,6819.9 -28670.14,6803.9"/>
+<polygon id="0x5574dfac6f50" class="l49d0" points="-28668.09,6803.9 -28668.09,6819.9 -28682.09,6819.9 -28682.09,6803.9"/>
+<polygon id="0x5574dfac7010" class="l49d0" points="-28437.24,6802.4 -28437.24,6818.6 -28445.44,6818.6 -28445.44,6802.4"/>
+<polygon id="0x5574dfac70d0" class="l49d0" points="-28466.24,6794.4 -28466.24,6810.6 -28474.44,6810.6 -28474.44,6794.4"/>
+<polygon id="0x5574dfac7190" class="l49d0" points="-28476.93,6813.09 -28476.93,6829.29 -28485.13,6829.29 -28485.13,6813.09"/>
+<polygon id="0x5574dfac7250" class="l49d0" points="-28602.09,6794.4 -28602.09,6810.6 -28610.29,6810.6 -28610.29,6794.4"/>
+<polygon id="0x5574dfac7310" class="l49d0" points="-28614.04,6802.4 -28614.04,6818.6 -28622.24,6818.6 -28622.24,6802.4"/>
+<polygon id="0x5574dfac73d0" class="l2d222" points="-22648.59,6787.37 -22648.59,6836.17 -22678.59,6836.17 -22678.59,6787.37"/>
+<polygon id="0x5574dfac7490" class="l2d222" points="-22660.59,6787.37 -22660.59,6836.17 -22690.59,6836.17 -22690.59,6787.37"/>
+<polygon id="0x5574dfac7550" class="l2d222" points="-22397.12,6793.37 -22397.12,6826.71 -22419.14,6826.71 -22419.14,6793.37"/>
+<polygon id="0x5574dfac7610" class="l2d222" points="-22424.14,6793.37 -22424.14,6833.52 -22460.29,6833.52 -22460.29,6793.37"/>
+<polygon id="0x5574dfac76d0" class="l2d222" points="-22465.29,6793.37 -22465.29,6844.36 -22500.28,6844.36 -22500.28,6793.37"/>
+<polygon id="0x5574dfac7790" class="l2d222" points="-22601.44,6793.37 -22601.44,6833.52 -22637.59,6833.52 -22637.59,6793.37"/>
+<polygon id="0x5574dfac7850" class="l3d222" points="-28648.14,6787.5 -28648.14,6836.3 -28678.14,6836.3 -28678.14,6787.5"/>
+<polygon id="0x5574dfac7910" class="l3d222" points="-28660.09,6787.5 -28660.09,6836.3 -28690.09,6836.3 -28690.09,6787.5"/>
+<polygon id="0x5574dfac79d0" class="l3d222" points="-28397.52,6793.5 -28397.52,6826.69 -28419.39,6826.69 -28419.39,6793.5"/>
+<polygon id="0x5574dfac7a90" class="l3d222" points="-28424.39,6793.5 -28424.39,6833.55 -28460.34,6833.55 -28460.34,6793.5"/>
+<polygon id="0x5574dfac7b50" class="l3d222" points="-28465.34,6793.5 -28465.34,6844.24 -28500.03,6844.24 -28500.03,6793.5"/>
+<polygon id="0x5574dfac7c10" class="l3d222" points="-28601.19,6793.5 -28601.19,6833.55 -28637.14,6833.55 -28637.14,6793.5"/>
+<polygon id="0x5574dfac7cd0" class="l110d5" points="-22659.59,6803.77 -22659.59,6819.77 -22667.59,6819.77 -22667.59,6803.77"/>
+<polygon id="0x5574dfac7d90" class="l110d5" points="-22671.59,6803.77 -22671.59,6819.77 -22679.59,6819.77 -22679.59,6803.77"/>
+<polygon id="0x5574dfac7e50" class="l110d5" points="-22343.52,6791.37 -22343.52,6846.36 -22639.59,6846.36 -22639.59,6791.37"/>
+<polygon id="0x5574dfac7f10" class="l110d5" points="-28659.14,6803.9 -28659.14,6819.9 -28667.14,6819.9 -28667.14,6803.9"/>
+<polygon id="0x5574dfac7fd0" class="l110d5" points="-28671.09,6803.9 -28671.09,6819.9 -28679.09,6819.9 -28679.09,6803.9"/>
+<polygon id="0x5574dfac8090" class="l110d5" points="-28344.02,6791.5 -28344.02,6846.24 -28639.14,6846.24 -28639.14,6791.5"/>
+<polygon id="0x5574dfac8150" class="l32d0" points="-22656.59,6795.37 -22656.59,6828.17 -22670.59,6828.17 -22670.59,6795.37"/>
+<polygon id="0x5574dfac8210" class="l32d0" points="-22668.59,6795.37 -22668.59,6828.17 -22682.59,6828.17 -22682.59,6795.37"/>
+<polygon id="0x5574dfac82d0" class="l32d0" points="-22341.52,6789.37 -22341.52,6848.36 -22641.59,6848.36 -22641.59,6789.37"/>
+<polygon id="0x5574dfac8390" class="l32d0" points="-28656.14,6795.5 -28656.14,6828.3 -28670.14,6828.3 -28670.14,6795.5"/>
+<polygon id="0x5574dfac8450" class="l32d0" points="-28668.09,6795.5 -28668.09,6828.3 -28682.09,6828.3 -28682.09,6795.5"/>
+<polygon id="0x5574dfac8510" class="l32d0" points="-28342.02,6789.5 -28342.02,6848.24 -28641.14,6848.24 -28641.14,6789.5"/>
+<polygon id="0x5574dfac85d0" class="l21d0" points="-22649.59,6788.37 -22649.59,6835.17 -22677.59,6835.17 -22677.59,6788.37"/>
+<polygon id="0x5574dfac8690" class="l21d0" points="-22661.59,6788.37 -22661.59,6835.17 -22689.59,6835.17 -22689.59,6788.37"/>
+<polygon id="0x5574dfac8750" class="l21d0" points="-22339.52,6787.37 -22339.52,6850.36 -22643.59,6850.36 -22643.59,6787.37"/>
+<polygon id="0x5574dfac8810" class="l21d0" points="-28649.14,6788.5 -28649.14,6835.3 -28677.14,6835.3 -28677.14,6788.5"/>
+<polygon id="0x5574dfac88d0" class="l21d0" points="-28661.09,6788.5 -28661.09,6835.3 -28689.09,6835.3 -28689.09,6788.5"/>
+<polygon id="0x5574dfac8990" class="l21d0" points="-28340.02,6787.5 -28340.02,6850.24 -28643.14,6850.24 -28643.14,6787.5"/>
+<polygon id="0x5574dfac8a50" class="l33d0" points="-22662.49,6821.97 -22662.49,6824.17 -22664.69,6824.17 -22664.69,6821.97"/>
+<polygon id="0x5574dfac8b10" class="l33d0" points="-22662.49,6799.37 -22662.49,6801.57 -22664.69,6801.57 -22664.69,6799.37"/>
+<polygon id="0x5574dfac8bd0" class="l33d0" points="-22674.49,6821.97 -22674.49,6824.17 -22676.69,6824.17 -22676.69,6821.97"/>
+<polygon id="0x5574dfac8c90" class="l33d0" points="-22674.49,6799.37 -22674.49,6801.57 -22676.69,6801.57 -22676.69,6799.37"/>
+<polygon id="0x5574dfac8d50" class="l33d0" points="-28662.04,6822.1 -28662.04,6824.3 -28664.24,6824.3 -28664.24,6822.1"/>
+<polygon id="0x5574dfac8e10" class="l33d0" points="-28662.04,6799.5 -28662.04,6801.7 -28664.24,6801.7 -28664.24,6799.5"/>
+<polygon id="0x5574dfac8ed0" class="l33d0" points="-28673.99,6822.1 -28673.99,6824.3 -28676.19,6824.3 -28676.19,6822.1"/>
+<polygon id="0x5574dfac8f90" class="l33d0" points="-28673.99,6799.5 -28673.99,6801.7 -28676.19,6801.7 -28676.19,6799.5"/>
+<polygon id="0x5574dfac9050" class="l34d0" points="-22661.99,6798.37 -22661.99,6802.57 -22665.19,6802.57 -22665.19,6798.37"/>
+<polygon id="0x5574dfac9110" class="l34d0" points="-22661.99,6820.97 -22661.99,6825.17 -22665.19,6825.17 -22665.19,6820.97"/>
+<polygon id="0x5574dfac91d0" class="l34d0" points="-22673.99,6798.37 -22673.99,6802.57 -22677.19,6802.57 -22677.19,6798.37"/>
+<polygon id="0x5574dfac9290" class="l34d0" points="-22673.99,6820.97 -22673.99,6825.17 -22677.19,6825.17 -22677.19,6820.97"/>
+<polygon id="0x5574dfac9350" class="l34d0" points="-28661.54,6798.5 -28661.54,6802.7 -28664.74,6802.7 -28664.74,6798.5"/>
+<polygon id="0x5574dfac9410" class="l34d0" points="-28661.54,6821.1 -28661.54,6825.3 -28664.74,6825.3 -28664.74,6821.1"/>
+<polygon id="0x5574dfac94d0" class="l34d0" points="-28673.49,6798.5 -28673.49,6802.7 -28676.69,6802.7 -28676.69,6798.5"/>
+<polygon id="0x5574dfac9590" class="l34d0" points="-28673.49,6821.1 -28673.49,6825.3 -28676.69,6825.3 -28676.69,6821.1"/>
+<polygon id="0x5574dfae7de0" class="l33d0" points="-22787.16,3731.71 -22787.16,3733.91 -22789.36,3733.91 -22789.36,3731.71"/>
+<polygon id="0x5574dfae7d20" class="l33d0" points="-22787.16,3762.31 -22787.16,3764.51 -22789.36,3764.51 -22789.36,3762.31"/>
+<polygon id="0x5574dfae7c60" class="l21d0" points="-22774.26,3720.71 -22774.26,3775.51 -22802.26,3775.51 -22802.26,3720.71"/>
+<polygon id="0x5574dfae7ba0" class="l32d0" points="-22781.26,3727.71 -22781.26,3768.51 -22795.26,3768.51 -22795.26,3727.71"/>
+<polygon id="0x5574dfae3840" class="l32d0" points="-22781.26,4747.81 -22781.26,4788.61 -22795.26,4788.61 -22795.26,4747.81"/>
+<polygon id="0x5574dfaf00e0" class="l34d0" points="-28786.16,5769.91 -28786.16,5776.11 -28790.36,5776.11 -28790.36,5769.91"/>
+<polygon id="0x5574dfacb370" class="l22d0" points="-22662.98,7816.76 -22662.98,7840.76 -22670.98,7840.76 -22670.98,7816.76"/>
+<polygon id="0x5574dfacb430" class="l2d222" points="-22661.98,7815.76 -22661.98,7841.76 -22671.98,7841.76 -22671.98,7815.76"/>
+<polygon id="0x5574dfacb4f0" class="l110d5" points="-22343.82,7810.06 -22343.82,7867.88 -22652.98,7867.88 -22652.98,7810.06"/>
+<polygon id="0x5574dfacb5b0" class="l32d0" points="-22341.82,7808.06 -22341.82,7869.88 -22654.98,7869.88 -22654.98,7808.06"/>
+<polygon id="0x5574dfacb670" class="l21d0" points="-22339.82,7806.06 -22339.82,7871.88 -22656.98,7871.88 -22656.98,7806.06"/>
+<polygon id="0x5574dfacb730" class="l30d0" points="-22626.41,7821.06 -22626.41,7837.06 -22634.41,7837.06 -22634.41,7821.06"/>
+<polygon id="0x5574dfaf0020" class="l33d0" points="-28787.16,5771.91 -28787.16,5774.11 -28789.36,5774.11 -28789.36,5771.91"/>
+<polygon id="0x5574dfacb8b0" class="l49d0" points="-22626.31,7820.96 -22626.31,7837.16 -22634.51,7837.16 -22634.51,7820.96"/>
+<polygon id="0x5574dfacb970" class="l22d0" points="-22612.41,7813.06 -22612.41,7829.06 -22620.41,7829.06 -22620.41,7813.06"/>
+<polygon id="0x5574dfacba30" class="l2d222" points="-22611.41,7812.06 -22611.41,7853.63 -22650.98,7853.63 -22650.98,7812.06"/>
+<polygon id="0x5574dfacbb40" class="l30d0" points="-22485.68,7833.31 -22485.68,7849.31 -22493.68,7849.31 -22493.68,7833.31"/>
+<polygon id="0x5574dfaeff60" class="l33d0" points="-28787.16,5802.51 -28787.16,5804.71 -28789.36,5804.71 -28789.36,5802.51"/>
+<polygon id="0x5574dfacbcc0" class="l49d0" points="-22485.58,7833.21 -22485.58,7849.41 -22493.78,7849.41 -22493.78,7833.21"/>
+<polygon id="0x5574dfacbd80" class="l22d0" points="-22473.43,7813.06 -22473.43,7829.06 -22481.43,7829.06 -22481.43,7813.06"/>
+<polygon id="0x5574dfacbe40" class="l2d222" points="-22472.43,7812.06 -22472.43,7865.88 -22510.25,7865.88 -22510.25,7812.06"/>
+<polygon id="0x5574dfacbf70" class="l30d0" points="-22442.86,7821.06 -22442.86,7837.06 -22450.86,7837.06 -22450.86,7821.06"/>
+<polygon id="0x5574dfacbfe0" class="l49d0" points="-22442.76,7820.96 -22442.76,7837.16 -22450.96,7837.16 -22450.96,7820.96"/>
+<polygon id="0x5574dfacc0a0" class="l2d222" points="-22427.86,7812.06 -22427.86,7853.63 -22467.43,7853.63 -22467.43,7812.06"/>
+<polygon id="0x5574dfacc160" class="l14d222" points="-22449.45,7835.65 -22449.45,7852.63 -22466.43,7852.63 -22466.43,7835.65"/>
+<polygon id="0x5574dfaefea0" class="l21d0" points="-28774.26,5760.91 -28774.26,5815.71 -28802.26,5815.71 -28802.26,5760.91"/>
+<polygon id="0x5574dfacc2e0" class="l22d0" points="-22460.76,7835.65 -22460.77,7835.65 -22449.45,7846.97 -22449.45,7846.96 -22455.12,7852.63 -22455.11,7852.63 -22466.43,7841.31 -22466.43,7841.32"/>
+<polygon id="0x5574dfacc3f0" class="l2d222" points="-22399.42,7812.06 -22399.42,7846.82 -22422.86,7846.82 -22422.86,7812.06"/>
+<polygon id="0x5574dfacc4b0" class="l14d222" points="-22404.78,7828.74 -22404.78,7845.72 -22421.76,7845.72 -22421.76,7828.74"/>
+<polygon id="0x5574dfaefde0" class="l32d0" points="-28781.26,5767.91 -28781.26,5808.71 -28795.26,5808.71 -28795.26,5767.91"/>
+<polygon id="0x5574dfacc630" class="l22d0" points="-22416.09,7828.74 -22416.1,7828.74 -22404.78,7840.06 -22404.78,7840.05 -22410.45,7845.72 -22410.44,7845.72 -22421.76,7834.4 -22421.76,7834.41"/>
+<polygon id="0x5574dfacc730" class="l30d0" points="-22411.83,7813.16 -22411.84,7813.16 -22400.52,7824.48 -22400.52,7824.47 -22406.19,7830.14 -22406.18,7830.14 -22417.5,7818.82 -22417.5,7818.83"/>
+<polygon id="0x5574dfacc830" class="l14d222" points="-22400.52,7813.16 -22400.52,7830.14 -22417.5,7830.14 -22417.5,7813.16"/>
+<polygon id="0x5574dfacc8f0" class="l49d0" points="-22411.83,7813.03 -22400.38,7824.48 -22406.18,7830.28 -22417.63,7818.83"/>
+<polygon id="0x5574dfaccb80" class="l30d0" points="-22676.98,7811.36 -22676.98,7838.16 -22684.98,7838.16 -22684.98,7811.36"/>
+<polygon id="0x5574dfaefd20" class="l110d5" points="-28784.31,5776.31 -28784.31,5800.31 -28792.21,5800.31 -28792.21,5776.31"/>
+<polygon id="0x5574dfaccd00" class="l49d0" points="-22673.98,7816.76 -22673.98,7832.76 -22687.98,7832.76 -22687.98,7816.76"/>
+<polygon id="0x5574dfaccdc0" class="l2d222" points="-22671.68,7806.06 -22671.68,7843.46 -22690.28,7843.46 -22690.28,7806.06"/>
+<polygon id="0x5574dfacce80" class="l110d5" points="-22676.98,7816.76 -22676.98,7832.76 -22684.98,7832.76 -22684.98,7816.76"/>
+<polygon id="0x5574dfaccf40" class="l32d0" points="-22673.98,7808.36 -22673.98,7841.16 -22687.98,7841.16 -22687.98,7808.36"/>
+<polygon id="0x5574dfacd000" class="l21d0" points="-22672.68,7807.06 -22672.68,7842.46 -22689.28,7842.46 -22689.28,7807.06"/>
+<polygon id="0x5574dfacd0c0" class="l33d0" points="-22679.88,7834.96 -22679.88,7837.16 -22682.08,7837.16 -22682.08,7834.96"/>
+<polygon id="0x5574dfacd180" class="l33d0" points="-22679.88,7812.36 -22679.88,7814.56 -22682.08,7814.56 -22682.08,7812.36"/>
+<polygon id="0x5574dfacd240" class="l34d0" points="-22679.78,7812.16 -22679.78,7814.76 -22682.18,7814.76 -22682.18,7812.16"/>
+<polygon id="0x5574dfacd300" class="l34d0" points="-22679.78,7834.76 -22679.78,7837.36 -22682.18,7837.36 -22682.18,7834.76"/>
+<polygon id="0x5574dfaefc60" class="l3d222" points="-28764.26,5750.91 -28764.26,5825.71 -28812.26,5825.71 -28812.26,5750.91"/>
+<polygon id="0x5574dfacd5d0" class="l22d0" points="-28662.56,7816.88 -28662.56,7840.88 -28670.51,7840.88 -28670.51,7816.88"/>
+<polygon id="0x5574dfacd690" class="l3d222" points="-28661.56,7815.88 -28661.56,7841.88 -28671.51,7841.88 -28671.51,7815.88"/>
+<polygon id="0x5574dfacd750" class="l49d0" points="-28351.25,7817.08 -28351.25,7833.28 -28359.45,7833.28 -28359.45,7817.08"/>
+<polygon id="0x5574dfacd810" class="l110d5" points="-28344.35,7810.18 -28344.35,7867.75 -28652.56,7867.75 -28652.56,7810.18"/>
+<polygon id="0x5574dfacd8d0" class="l32d0" points="-28342.35,7808.18 -28342.35,7869.75 -28654.56,7869.75 -28654.56,7808.18"/>
+<polygon id="0x5574dfacd990" class="l21d0" points="-28340.35,7806.18 -28340.35,7871.75 -28656.56,7871.75 -28656.56,7806.18"/>
+<polygon id="0x5574dfacda50" class="l30d0" points="-28626.14,7821.18 -28626.14,7837.18 -28634.14,7837.18 -28634.14,7821.18"/>
+<polygon id="0x5574dfaefba0" class="l49d0" points="-28781.26,5776.31 -28781.26,5800.31 -28795.26,5800.31 -28795.26,5776.31"/>
+<polygon id="0x5574dfacdbd0" class="l49d0" points="-28626.04,7821.08 -28626.04,7837.28 -28634.24,7837.28 -28634.24,7821.08"/>
+<polygon id="0x5574dfacdc90" class="l22d0" points="-28612.19,7813.18 -28612.19,7829.18 -28620.19,7829.18 -28620.19,7813.18"/>
+<polygon id="0x5574dfacdd50" class="l3d222" points="-28611.19,7812.18 -28611.19,7853.65 -28650.56,7853.65 -28650.56,7812.18"/>
+<polygon id="0x5574dfacde60" class="l30d0" points="-28585.86,7821.18 -28585.86,7837.18 -28593.86,7837.18 -28593.86,7821.18"/>
+<polygon id="0x5574dfaefa20" class="l30d0" points="-28784.26,5770.91 -28784.26,5805.71 -28792.26,5805.71 -28792.26,5770.91"/>
+<polygon id="0x5574dfacdfe0" class="l49d0" points="-28585.76,7821.08 -28585.76,7837.28 -28593.96,7837.28 -28593.96,7821.08"/>
+<polygon id="0x5574dface0a0" class="l22d0" points="-28577.86,7813.18 -28577.86,7829.18 -28585.86,7829.18 -28585.86,7813.18"/>
+<polygon id="0x5574dface160" class="l3d222" points="-28576.86,7812.18 -28576.86,7849.51 -28606.19,7849.51 -28606.19,7812.18"/>
+<polygon id="0x5574dface2a0" class="l30d0" points="-28554.36,7821.18 -28554.36,7837.18 -28562.36,7837.18 -28562.36,7821.18"/>
+<polygon id="0x5574dfaea610" class="l34d0" points="-22786.16,5800.51 -22786.16,5806.71 -22790.36,5806.71 -22790.36,5800.51"/>
+<polygon id="0x5574dface3d0" class="l49d0" points="-28554.26,7821.08 -28554.26,7837.28 -28562.46,7837.28 -28562.46,7821.08"/>
+<polygon id="0x5574dface490" class="l22d0" points="-28550.36,7813.18 -28550.36,7829.18 -28558.36,7829.18 -28558.36,7813.18"/>
+<polygon id="0x5574dface550" class="l3d222" points="-28549.36,7812.18 -28549.36,7846.68 -28571.86,7846.68 -28571.86,7812.18"/>
+<polygon id="0x5574dface6b0" class="l30d0" points="-28524.03,7829.18 -28524.03,7845.18 -28532.03,7845.18 -28532.03,7829.18"/>
+<polygon id="0x5574dfaea550" class="l34d0" points="-22786.16,5769.91 -22786.16,5776.11 -22790.36,5776.11 -22790.36,5769.91"/>
+<polygon id="0x5574dface830" class="l49d0" points="-28523.93,7829.08 -28523.93,7845.28 -28532.13,7845.28 -28532.13,7829.08"/>
+<polygon id="0x5574dface8f0" class="l22d0" points="-28516.03,7813.18 -28516.03,7829.18 -28524.03,7829.18 -28524.03,7813.18"/>
+<polygon id="0x5574dface9b0" class="l3d222" points="-28515.03,7812.18 -28515.03,7857.51 -28544.36,7857.51 -28544.36,7812.18"/>
+<polygon id="0x5574dfaceb40" class="l30d0" points="-28485.61,7833.28 -28485.61,7849.28 -28493.61,7849.28 -28493.61,7833.28"/>
+<polygon id="0x5574dfaea490" class="l33d0" points="-22787.16,5771.91 -22787.16,5774.11 -22789.36,5774.11 -22789.36,5771.91"/>
+<polygon id="0x5574dfacecc0" class="l49d0" points="-28485.51,7833.18 -28485.51,7849.38 -28493.71,7849.38 -28493.71,7833.18"/>
+<polygon id="0x5574dfaced80" class="l22d0" points="-28473.51,7813.18 -28473.51,7829.18 -28481.51,7829.18 -28481.51,7813.18"/>
+<polygon id="0x5574dfacee40" class="l3d222" points="-28472.51,7812.18 -28472.51,7865.75 -28510.03,7865.75 -28510.03,7812.18"/>
+<polygon id="0x5574dfaceff0" class="l30d0" points="-28443.09,7821.18 -28443.09,7837.18 -28451.09,7837.18 -28451.09,7821.18"/>
+<polygon id="0x5574dfacf0b0" class="l49d0" points="-28442.99,7821.08 -28442.99,7837.28 -28451.19,7837.28 -28451.19,7821.08"/>
+<polygon id="0x5574dfacf170" class="l3d222" points="-28428.14,7812.18 -28428.14,7853.65 -28467.51,7853.65 -28467.51,7812.18"/>
+<polygon id="0x5574dfacf230" class="l14d222" points="-28449.53,7835.67 -28449.53,7852.65 -28466.51,7852.65 -28466.51,7835.67"/>
+<polygon id="0x5574dfaea3d0" class="l33d0" points="-22787.16,5802.51 -22787.16,5804.71 -22789.36,5804.71 -22789.36,5802.51"/>
+<polygon id="0x5574dfacf3b0" class="l22d0" points="-28460.84,7835.67 -28460.85,7835.67 -28449.53,7846.99 -28449.53,7846.98 -28455.2,7852.65 -28455.19,7852.65 -28466.51,7841.33 -28466.51,7841.34"/>
+<polygon id="0x5574dfacf5d0" class="l3d222" points="-28399.85,7812.18 -28399.85,7846.79 -28423.14,7846.79 -28423.14,7812.18"/>
+<polygon id="0x5574dfacf690" class="l14d222" points="-28405.06,7828.71 -28405.06,7845.69 -28422.04,7845.69 -28422.04,7828.71"/>
+<polygon id="0x5574dfaea310" class="l21d0" points="-22774.26,5760.91 -22774.26,5815.71 -22802.26,5815.71 -22802.26,5760.91"/>
+<polygon id="0x5574dfacf810" class="l22d0" points="-28416.37,7828.71 -28416.38,7828.71 -28405.06,7840.03 -28405.06,7840.02 -28410.73,7845.69 -28410.72,7845.69 -28422.04,7834.37 -28422.04,7834.38"/>
+<polygon id="0x5574dfacf910" class="l30d0" points="-28412.26,7813.28 -28412.27,7813.28 -28400.95,7824.6 -28400.95,7824.59 -28406.62,7830.26 -28406.61,7830.26 -28417.93,7818.94 -28417.93,7818.95"/>
+<polygon id="0x5574dfacfa10" class="l14d222" points="-28400.95,7813.28 -28400.95,7830.26 -28417.93,7830.26 -28417.93,7813.28"/>
+<polygon id="0x5574dfacfad0" class="l49d0" points="-28412.26,7813.15 -28400.81,7824.6 -28406.61,7830.4 -28418.06,7818.95"/>
+<polygon id="0x5574dfacfcf0" class="l30d0" points="-28351.35,7817.18 -28351.35,7833.18 -28359.35,7833.18 -28359.35,7817.18"/>
+<polygon id="0x5574dfaea250" class="l32d0" points="-22781.26,5767.91 -22781.26,5808.71 -22795.26,5808.71 -22795.26,5767.91"/>
+<polygon id="0x5574dfacfe70" class="l22d0" points="-28347.35,7813.18 -28347.35,7837.18 -28363.35,7837.18 -28363.35,7813.18"/>
+<polygon id="0x5574dfacff30" class="l3d222" points="-28346.35,7812.18 -28346.35,7838.18 -28364.35,7838.18 -28364.35,7812.18"/>
+<polygon id="0x5574dfacfb90" class="l30d0" points="-28676.46,7811.48 -28676.46,7838.28 -28684.46,7838.28 -28684.46,7811.48"/>
+<polygon id="0x5574dfaea190" class="l110d5" points="-22784.26,5776.31 -22784.26,5800.31 -22792.26,5800.31 -22792.26,5776.31"/>
+<polygon id="0x5574dfad0350" class="l49d0" points="-28673.46,7816.88 -28673.46,7832.88 -28687.46,7832.88 -28687.46,7816.88"/>
+<polygon id="0x5574dfad0410" class="l3d222" points="-28671.16,7806.18 -28671.16,7843.58 -28689.76,7843.58 -28689.76,7806.18"/>
+<polygon id="0x5574dfad04d0" class="l110d5" points="-28676.46,7816.88 -28676.46,7832.88 -28684.46,7832.88 -28684.46,7816.88"/>
+<polygon id="0x5574dfad0590" class="l32d0" points="-28673.46,7808.48 -28673.46,7841.28 -28687.46,7841.28 -28687.46,7808.48"/>
+<polygon id="0x5574dfad0650" class="l21d0" points="-28672.16,7807.18 -28672.16,7842.58 -28688.76,7842.58 -28688.76,7807.18"/>
+<polygon id="0x5574dfad0710" class="l33d0" points="-28679.36,7835.08 -28679.36,7837.28 -28681.56,7837.28 -28681.56,7835.08"/>
+<polygon id="0x5574dfad07d0" class="l33d0" points="-28679.36,7812.48 -28679.36,7814.68 -28681.56,7814.68 -28681.56,7812.48"/>
+<polygon id="0x5574dfad0890" class="l34d0" points="-28679.26,7812.28 -28679.26,7814.88 -28681.66,7814.88 -28681.66,7812.28"/>
+<polygon id="0x5574dfad0950" class="l34d0" points="-28679.26,7834.88 -28679.26,7837.48 -28681.66,7837.48 -28681.66,7834.88"/>
+<polygon id="0x5574dfae7ae0" class="l110d5" points="-22784.26,3736.11 -22784.26,3760.11 -22792.26,3760.11 -22792.26,3736.11"/>
+<polygon id="0x5574dfae7a20" class="l2d222" points="-22764.26,3710.71 -22764.26,3785.51 -22812.26,3785.51 -22812.26,3710.71"/>
+<polygon id="0x5574dfae7960" class="l49d0" points="-22781.26,3736.11 -22781.26,3760.11 -22795.26,3760.11 -22795.26,3736.11"/>
+<polygon id="0x5574dfae3780" class="l110d5" points="-22784.26,4756.21 -22784.26,4780.21 -22792.26,4780.21 -22792.26,4756.21"/>
+<polygon id="0x5574dfae36c0" class="l2d222" points="-22764.26,4730.81 -22764.26,4805.61 -22812.26,4805.61 -22812.26,4730.81"/>
+<polygon id="0x5574dfad2fd0" class="l30d0" points="-22662.98,8836.86 -22662.98,8860.86 -22670.98,8860.86 -22670.98,8836.86"/>
+<polygon id="0x5574dfaea0d0" class="l2d222" points="-22764.26,5750.91 -22764.26,5825.71 -22812.26,5825.71 -22812.26,5750.91"/>
+<polygon id="0x5574dfad34a0" class="l2d222" points="-22661.98,8835.86 -22661.98,8861.86 -22671.98,8861.86 -22671.98,8835.86"/>
+<polygon id="0x5574dfad3560" class="l110d5" points="-22343.82,8830.16 -22343.82,8887.98 -22652.98,8887.98 -22652.98,8830.16"/>
+<polygon id="0x5574dfad3620" class="l32d0" points="-22341.82,8828.16 -22341.82,8889.98 -22654.98,8889.98 -22654.98,8828.16"/>
+<polygon id="0x5574dfad36e0" class="l21d0" points="-22339.82,8826.16 -22339.82,8891.98 -22656.98,8891.98 -22656.98,8826.16"/>
+<polygon id="0x5574dfad37a0" class="l30d0" points="-22626.41,8841.16 -22626.41,8857.16 -22634.41,8857.16 -22634.41,8841.16"/>
+<polygon id="0x5574dfad3860" class="l30d0" points="-22612.41,8833.16 -22612.41,8849.16 -22620.41,8849.16 -22620.41,8833.16"/>
+<polygon id="0x5574dfaea060" class="l49d0" points="-22781.26,5776.31 -22781.26,5800.31 -22795.26,5800.31 -22795.26,5776.31"/>
+<polygon id="0x5574dfad39e0" class="l49d0" points="-22626.31,8841.06 -22626.31,8857.26 -22634.51,8857.26 -22634.51,8841.06"/>
+<polygon id="0x5574dfad3aa0" class="l2d222" points="-22611.41,8832.16 -22611.41,8873.73 -22650.98,8873.73 -22650.98,8832.16"/>
+<polygon id="0x5574dfad3bb0" class="l30d0" points="-22485.68,8853.41 -22485.68,8869.41 -22493.68,8869.41 -22493.68,8853.41"/>
+<polygon id="0x5574dfad3c70" class="l30d0" points="-22473.43,8833.16 -22473.43,8849.16 -22481.43,8849.16 -22481.43,8833.16"/>
+<polygon id="0x5574dfae7110" class="l30d0" points="-22784.26,5770.91 -22784.26,5805.71 -22792.26,5805.71 -22792.26,5770.91"/>
+<polygon id="0x5574dfad3df0" class="l49d0" points="-22485.58,8853.31 -22485.58,8869.51 -22493.78,8869.51 -22493.78,8853.31"/>
+<polygon id="0x5574dfad3eb0" class="l2d222" points="-22472.43,8832.16 -22472.43,8885.98 -22510.25,8885.98 -22510.25,8832.16"/>
+<polygon id="0x5574dfad3fe0" class="l30d0" points="-22442.86,8841.16 -22442.86,8857.16 -22450.86,8857.16 -22450.86,8841.16"/>
+<polygon id="0x5574dfad4050" class="l49d0" points="-22442.76,8841.06 -22442.76,8857.26 -22450.96,8857.26 -22450.96,8841.06"/>
+<polygon id="0x5574dfad4110" class="l2d222" points="-22427.86,8832.16 -22427.86,8873.73 -22467.43,8873.73 -22467.43,8832.16"/>
+<polygon id="0x5574dfad41d0" class="l30d0" points="-22460.76,8855.75 -22460.77,8855.75 -22449.45,8867.07 -22449.45,8867.06 -22455.12,8872.73 -22455.11,8872.73 -22466.43,8861.41 -22466.43,8861.42"/>
+<polygon id="0x5574dfad4240" class="l14d222" points="-22449.45,8855.75 -22449.45,8872.73 -22466.43,8872.73 -22466.43,8855.75"/>
+<polygon id="0x5574dfae3600" class="l49d0" points="-22781.26,4756.21 -22781.26,4780.21 -22795.26,4780.21 -22795.26,4756.21"/>
+<polygon id="0x5574dfad4460" class="l2d222" points="-22399.42,8832.16 -22399.42,8866.92 -22422.86,8866.92 -22422.86,8832.16"/>
+<polygon id="0x5574dfad4520" class="l30d0" points="-22416.09,8848.84 -22416.1,8848.84 -22404.78,8860.16 -22404.78,8860.15 -22410.45,8865.82 -22410.44,8865.82 -22421.76,8854.5 -22421.76,8854.51"/>
+<polygon id="0x5574dfad4620" class="l14d222" points="-22404.78,8848.84 -22404.78,8865.82 -22421.76,8865.82 -22421.76,8848.84"/>
+<polygon id="0x5574dfad8e00" class="l30d0" points="-22784.26,3730.71 -22784.26,3765.51 -22792.26,3765.51 -22792.26,3730.71"/>
+<polygon id="0x5574dfad47a0" class="l30d0" points="-22411.83,8833.26 -22411.84,8833.26 -22400.52,8844.58 -22400.52,8844.57 -22406.19,8850.24 -22406.18,8850.24 -22417.5,8838.92 -22417.5,8838.93"/>
+<polygon id="0x5574dfad48a0" class="l14d222" points="-22400.52,8833.26 -22400.52,8850.24 -22417.5,8850.24 -22417.5,8833.26"/>
+<polygon id="0x5574dfad4960" class="l49d0" points="-22411.83,8833.13 -22400.38,8844.58 -22406.18,8850.38 -22417.63,8838.93"/>
+<polygon id="0x5574dfad4bf0" class="l30d0" points="-22676.98,8831.46 -22676.98,8858.26 -22684.98,8858.26 -22684.98,8831.46"/>
+<polygon id="0x5574dfaead10" class="l33d0" points="-22787.16,2711.61 -22787.16,2713.81 -22789.36,2713.81 -22789.36,2711.61"/>
+<polygon id="0x5574dfad4d70" class="l49d0" points="-22673.98,8836.86 -22673.98,8852.86 -22687.98,8852.86 -22687.98,8836.86"/>
+<polygon id="0x5574dfad4e30" class="l2d222" points="-22671.68,8826.16 -22671.68,8863.56 -22690.28,8863.56 -22690.28,8826.16"/>
+<polygon id="0x5574dfad4ef0" class="l110d5" points="-22676.98,8836.86 -22676.98,8852.86 -22684.98,8852.86 -22684.98,8836.86"/>
+<polygon id="0x5574dfad4fb0" class="l32d0" points="-22673.98,8828.46 -22673.98,8861.26 -22687.98,8861.26 -22687.98,8828.46"/>
+<polygon id="0x5574dfad5070" class="l21d0" points="-22672.68,8827.16 -22672.68,8862.56 -22689.28,8862.56 -22689.28,8827.16"/>
+<polygon id="0x5574dfad5130" class="l33d0" points="-22679.88,8855.06 -22679.88,8857.26 -22682.08,8857.26 -22682.08,8855.06"/>
+<polygon id="0x5574dfad51f0" class="l33d0" points="-22679.88,8832.46 -22679.88,8834.66 -22682.08,8834.66 -22682.08,8832.46"/>
+<polygon id="0x5574dfad52b0" class="l34d0" points="-22679.78,8832.26 -22679.78,8834.86 -22682.18,8834.86 -22682.18,8832.26"/>
+<polygon id="0x5574dfad5370" class="l34d0" points="-22679.78,8854.86 -22679.78,8857.46 -22682.18,8857.46 -22682.18,8854.86"/>
+<polygon id="0x5574dfad5580" class="l30d0" points="-28662.56,8836.98 -28662.56,8860.98 -28670.51,8860.98 -28670.51,8836.98"/>
+<polygon id="0x5574dfae8470" class="l30d0" points="-22784.26,2710.61 -22784.26,2745.41 -22792.26,2745.41 -22792.26,2710.61"/>
+<polygon id="0x5574dfad5700" class="l3d222" points="-28661.56,8835.98 -28661.56,8861.98 -28671.51,8861.98 -28671.51,8835.98"/>
+<polygon id="0x5574dfad57c0" class="l110d5" points="-28344.35,8830.28 -28344.35,8887.85 -28652.56,8887.85 -28652.56,8830.28"/>
+<polygon id="0x5574dfad5880" class="l32d0" points="-28342.35,8828.28 -28342.35,8889.85 -28654.56,8889.85 -28654.56,8828.28"/>
+<polygon id="0x5574dfad5940" class="l21d0" points="-28340.35,8826.28 -28340.35,8891.85 -28656.56,8891.85 -28656.56,8826.28"/>
+<polygon id="0x5574dfad5a00" class="l30d0" points="-28626.14,8841.28 -28626.14,8857.28 -28634.14,8857.28 -28634.14,8841.28"/>
+<polygon id="0x5574dfad5ac0" class="l30d0" points="-28612.19,8833.28 -28612.19,8849.28 -28620.19,8849.28 -28620.19,8833.28"/>
+<polygon id="0x5574dfaea8e0" class="l49d0" points="-22781.26,2716.01 -22781.26,2740.01 -22795.26,2740.01 -22795.26,2716.01"/>
+<polygon id="0x5574dfad5c40" class="l49d0" points="-28626.04,8841.18 -28626.04,8857.38 -28634.24,8857.38 -28634.24,8841.18"/>
+<polygon id="0x5574dfad5d00" class="l3d222" points="-28611.19,8832.28 -28611.19,8873.75 -28650.56,8873.75 -28650.56,8832.28"/>
+<polygon id="0x5574dfad5e10" class="l30d0" points="-28485.61,8853.38 -28485.61,8869.38 -28493.61,8869.38 -28493.61,8853.38"/>
+<polygon id="0x5574dfad5ed0" class="l30d0" points="-28473.51,8833.28 -28473.51,8849.28 -28481.51,8849.28 -28481.51,8833.28"/>
+<polygon id="0x5574dfaedaa0" class="l34d0" points="-28786.16,2740.11 -28786.16,2746.31 -28790.36,2746.31 -28790.36,2740.11"/>
+<polygon id="0x5574dfad6050" class="l49d0" points="-28485.51,8853.28 -28485.51,8869.48 -28493.71,8869.48 -28493.71,8853.28"/>
+<polygon id="0x5574dfad6110" class="l3d222" points="-28472.51,8832.28 -28472.51,8885.85 -28510.03,8885.85 -28510.03,8832.28"/>
+<polygon id="0x5574dfad6240" class="l30d0" points="-28443.09,8841.28 -28443.09,8857.28 -28451.09,8857.28 -28451.09,8841.28"/>
+<polygon id="0x5574dfad62b0" class="l49d0" points="-28442.99,8841.18 -28442.99,8857.38 -28451.19,8857.38 -28451.19,8841.18"/>
+<polygon id="0x5574dfad6370" class="l3d222" points="-28428.14,8832.28 -28428.14,8873.75 -28467.51,8873.75 -28467.51,8832.28"/>
+<polygon id="0x5574dfad6430" class="l30d0" points="-28460.84,8855.77 -28460.85,8855.77 -28449.53,8867.09 -28449.53,8867.08 -28455.2,8872.75 -28455.19,8872.75 -28466.51,8861.43 -28466.51,8861.44"/>
+<polygon id="0x5574dfad6530" class="l14d222" points="-28449.53,8855.77 -28449.53,8872.75 -28466.51,8872.75 -28466.51,8855.77"/>
+<polygon id="0x5574dfaed9e0" class="l34d0" points="-28786.16,2709.61 -28786.16,2715.81 -28790.36,2715.81 -28790.36,2709.61"/>
+<polygon id="0x5574dfad6750" class="l3d222" points="-28399.85,8832.28 -28399.85,8866.89 -28423.14,8866.89 -28423.14,8832.28"/>
+<polygon id="0x5574dfad6810" class="l30d0" points="-28416.37,8848.81 -28416.38,8848.81 -28405.06,8860.13 -28405.06,8860.12 -28410.73,8865.79 -28410.72,8865.79 -28422.04,8854.47 -28422.04,8854.48"/>
+<polygon id="0x5574dfad6910" class="l14d222" points="-28405.06,8848.81 -28405.06,8865.79 -28422.04,8865.79 -28422.04,8848.81"/>
+<polygon id="0x5574dfaed920" class="l33d0" points="-28787.16,2711.61 -28787.16,2713.81 -28789.36,2713.81 -28789.36,2711.61"/>
+<polygon id="0x5574dfad6a90" class="l30d0" points="-28412.26,8833.38 -28412.27,8833.38 -28400.95,8844.7 -28400.95,8844.69 -28406.62,8850.36 -28406.61,8850.36 -28417.93,8839.04 -28417.93,8839.05"/>
+<polygon id="0x5574dfad6b90" class="l14d222" points="-28400.95,8833.38 -28400.95,8850.36 -28417.93,8850.36 -28417.93,8833.38"/>
+<polygon id="0x5574dfad6c50" class="l49d0" points="-28412.26,8833.25 -28400.81,8844.7 -28406.61,8850.5 -28418.06,8839.05"/>
+<polygon id="0x5574dfad6ee0" class="l30d0" points="-28676.46,8831.58 -28676.46,8858.38 -28684.46,8858.38 -28684.46,8831.58"/>
+<polygon id="0x5574dfaed860" class="l33d0" points="-28787.16,2742.11 -28787.16,2744.31 -28789.36,2744.31 -28789.36,2742.11"/>
+<polygon id="0x5574dfad7060" class="l49d0" points="-28673.46,8836.98 -28673.46,8852.98 -28687.46,8852.98 -28687.46,8836.98"/>
+<polygon id="0x5574dfad7120" class="l3d222" points="-28671.16,8826.28 -28671.16,8863.68 -28689.76,8863.68 -28689.76,8826.28"/>
+<polygon id="0x5574dfad71e0" class="l110d5" points="-28676.46,8836.98 -28676.46,8852.98 -28684.46,8852.98 -28684.46,8836.98"/>
+<polygon id="0x5574dfad72a0" class="l32d0" points="-28673.46,8828.58 -28673.46,8861.38 -28687.46,8861.38 -28687.46,8828.58"/>
+<polygon id="0x5574dfad7360" class="l21d0" points="-28672.16,8827.28 -28672.16,8862.68 -28688.76,8862.68 -28688.76,8827.28"/>
+<polygon id="0x5574dfad7420" class="l33d0" points="-28679.36,8855.18 -28679.36,8857.38 -28681.56,8857.38 -28681.56,8855.18"/>
+<polygon id="0x5574dfad74e0" class="l33d0" points="-28679.36,8832.58 -28679.36,8834.78 -28681.56,8834.78 -28681.56,8832.58"/>
+<polygon id="0x5574dfad75a0" class="l34d0" points="-28679.26,8832.38 -28679.26,8834.98 -28681.66,8834.98 -28681.66,8832.38"/>
+<polygon id="0x5574dfad7660" class="l34d0" points="-28679.26,8854.98 -28679.26,8857.58 -28681.66,8857.58 -28681.66,8854.98"/>
+<polygon id="0x5574dfaea950" class="l2d222" points="-22764.26,2690.61 -22764.26,2765.41 -22812.26,2765.41 -22812.26,2690.61"/>
+<polygon id="0x5574dfae8c70" class="l34d0" points="-28786.16,4780.41 -28786.16,4786.61 -28790.36,4786.61 -28790.36,4780.41"/>
+<polygon id="0x5574dfae8bb0" class="l34d0" points="-28786.16,4749.81 -28786.16,4756.01 -28790.36,4756.01 -28790.36,4749.81"/>
+<polygon id="0x5574dfae8af0" class="l33d0" points="-28787.16,4751.81 -28787.16,4754.01 -28789.36,4754.01 -28789.36,4751.81"/>
+<polygon id="0x5574dfae34d0" class="l30d0" points="-22784.26,4750.81 -22784.26,4785.61 -22792.26,4785.61 -22792.26,4750.81"/>
+<polygon id="0x5574dfad8e80" class="l30d0" points="-23004.05,9855.7 -23004.05,9882.5 -23012.05,9882.5 -23012.05,9855.7"/>
+<polygon id="0x5574dfaed7a0" class="l21d0" points="-28774.26,2700.61 -28774.26,2755.31 -28802.26,2755.31 -28802.26,2700.61"/>
+<polygon id="0x5574dfad9c80" class="l49d0" points="-23001.05,9861.1 -23001.05,9877.1 -23015.05,9877.1 -23015.05,9861.1"/>
+<polygon id="0x5574dfad9cf0" class="l2d222" points="-22964.05,9815.7 -22964.05,9922.5 -23052.05,9922.5 -23052.05,9815.7"/>
+<polygon id="0x5574dfad9db0" class="l110d5" points="-23004.05,9861.1 -23004.05,9877.1 -23012.05,9877.1 -23012.05,9861.1"/>
+<polygon id="0x5574dfad9e70" class="l32d0" points="-23001.05,9852.7 -23001.05,9885.5 -23015.05,9885.5 -23015.05,9852.7"/>
+<polygon id="0x5574dfad9f30" class="l21d0" points="-22994.05,9845.7 -22994.05,9892.5 -23022.05,9892.5 -23022.05,9845.7"/>
+<polygon id="0x5574dfad9ff0" class="l33d0" points="-23006.95,9879.3 -23006.95,9881.5 -23009.15,9881.5 -23009.15,9879.3"/>
+<polygon id="0x5574dfada0b0" class="l33d0" points="-23006.95,9856.7 -23006.95,9858.9 -23009.15,9858.9 -23009.15,9856.7"/>
+<polygon id="0x5574dfada170" class="l34d0" points="-23006.45,9855.7 -23006.45,9859.9 -23009.65,9859.9 -23009.65,9855.7"/>
+<polygon id="0x5574dfada230" class="l34d0" points="-23006.45,9878.3 -23006.45,9882.5 -23009.65,9882.5 -23009.65,9878.3"/>
+<polygon id="0x5574dfaed6e0" class="l32d0" points="-28781.26,2707.61 -28781.26,2748.31 -28795.26,2748.31 -28795.26,2707.61"/>
+<polygon id="0x5574dfada410" class="l110d5" points="-21998.05,9835.7 -21998.05,9937.7 -22914.05,9937.7 -22914.05,9835.7"/>
+<polygon id="0x5574dfada4d0" class="l21d0" points="-21988.05,9825.7 -21988.05,9947.7 -22924.05,9947.7 -22924.05,9825.7"/>
+<polygon id="0x5574dfada590" class="l30d0" points="-22863.05,9878.7 -22863.05,9894.7 -22871.05,9894.7 -22871.05,9878.7"/>
+<polygon id="0x5574dfada650" class="l49d0" points="-22855.05,9870.7 -22855.05,9902.7 -22879.05,9902.7 -22879.05,9870.7"/>
+<polygon id="0x5574dfada710" class="l2d222" points="-22830.05,9845.7 -22830.05,9927.7 -22904.05,9927.7 -22904.05,9845.7"/>
+<polygon id="0x5574dfada7d0" class="l32d0" points="-22860.05,9875.7 -22860.05,9897.7 -22874.05,9897.7 -22874.05,9875.7"/>
+<polygon id="0x5574dfada890" class="l30d0" points="-22246.05,9878.5 -22246.05,9894.5 -22251.05,9894.5 -22254.05,9891.5 -22254.05,9878.5"/>
+<polygon id="0x5574dfada900" class="l49d0" points="-22238.05,9870.5 -22238.05,9902.5 -22262.05,9902.5 -22262.05,9870.5"/>
+<polygon id="0x5574dfada9c0" class="l2d222" points="-22213.05,9845.5 -22213.05,9927.5 -22287.05,9927.5 -22287.05,9845.5"/>
+<polygon id="0x5574dfadaa80" class="l32d0" points="-22243.05,9875.5 -22243.05,9897.5 -22252.3,9897.5 -22257.05,9892.75 -22257.05,9875.5"/>
+<polygon id="0x5574dfadabb0" class="l30d0" points="-22560.05,9878.7 -22560.05,9894.7 -22568.05,9894.7 -22568.05,9878.7"/>
+<polygon id="0x5574dfadac70" class="l49d0" points="-22552.05,9870.7 -22552.05,9902.7 -22576.05,9902.7 -22576.05,9870.7"/>
+<polygon id="0x5574dfadad30" class="l2d222" points="-22527.05,9845.7 -22527.05,9927.7 -22601.05,9927.7 -22601.05,9845.7"/>
+<polygon id="0x5574dfadadf0" class="l32d0" points="-22557.05,9875.7 -22557.05,9897.7 -22569.3,9897.7 -22571.05,9895.95 -22571.05,9875.7"/>
+<polygon id="0x5574dfadb020" class="l30d0" points="-29003.95,9855.7 -29003.95,9882.5 -29011.95,9882.5 -29011.95,9855.7"/>
+<polygon id="0x5574dfaed620" class="l110d5" points="-28784.26,2715.96 -28784.26,2739.96 -28792.26,2739.96 -28792.26,2715.96"/>
+<polygon id="0x5574dfadb1a0" class="l49d0" points="-29000.95,9861.1 -29000.95,9877.1 -29014.95,9877.1 -29014.95,9861.1"/>
+<polygon id="0x5574dfadb260" class="l3d222" points="-28963.95,9815.7 -28963.95,9922.5 -29051.95,9922.5 -29051.95,9815.7"/>
+<polygon id="0x5574dfadb320" class="l110d5" points="-29003.95,9861.1 -29003.95,9877.1 -29011.95,9877.1 -29011.95,9861.1"/>
+<polygon id="0x5574dfadb3e0" class="l32d0" points="-29001,9852.75 -29001,9885.45 -29014.9,9885.45 -29014.9,9852.75"/>
+<polygon id="0x5574dfadb4a0" class="l21d0" points="-28993.95,9845.7 -28993.95,9892.5 -29021.95,9892.5 -29021.95,9845.7"/>
+<polygon id="0x5574dfadb560" class="l33d0" points="-29006.85,9879.3 -29006.85,9881.5 -29009.05,9881.5 -29009.05,9879.3"/>
+<polygon id="0x5574dfadb620" class="l33d0" points="-29006.85,9856.7 -29006.85,9858.9 -29009.05,9858.9 -29009.05,9856.7"/>
+<polygon id="0x5574dfadb6e0" class="l34d0" points="-29006.35,9855.7 -29006.35,9859.9 -29009.55,9859.9 -29009.55,9855.7"/>
+<polygon id="0x5574dfadb7a0" class="l34d0" points="-29006.35,9878.3 -29006.35,9882.5 -29009.55,9882.5 -29009.55,9878.3"/>
+<polygon id="0x5574dfaed560" class="l3d222" points="-28764.26,2690.61 -28764.26,2765.31 -28812.26,2765.31 -28812.26,2690.61"/>
+<polygon id="0x5574dfadb920" class="l110d5" points="-27998.15,9835.7 -27998.15,9937.7 -28913.95,9937.7 -28913.95,9835.7"/>
+<polygon id="0x5574dfadb9e0" class="l21d0" points="-27988.15,9825.7 -27988.15,9947.7 -28923.95,9947.7 -28923.95,9825.7"/>
+<polygon id="0x5574dfadbaa0" class="l30d0" points="-28038.15,9875.7 -28038.15,9894.7 -28049.15,9894.7 -28049.15,9875.7"/>
+<polygon id="0x5574dfadbb60" class="l49d0" points="-28033.15,9870.7 -28033.15,9899.7 -28054.15,9899.7 -28054.15,9870.7"/>
+<polygon id="0x5574dfadbc20" class="l3d222" points="-28008.15,9845.7 -28008.15,9924.7 -28079.15,9924.7 -28079.15,9845.7"/>
+<polygon id="0x5574dfadbce0" class="l32d0" points="-28039.65,9877.2 -28039.65,9893.2 -28047.65,9893.2 -28047.65,9877.2"/>
+<polygon id="0x5574dfadbda0" class="l30d0" points="-28863,9878.7 -28863,9894.7 -28871,9894.7 -28871,9878.7"/>
+<polygon id="0x5574dfadbe60" class="l49d0" points="-28855.05,9870.7 -28855.05,9902.7 -28878.95,9902.7 -28878.95,9870.7"/>
+<polygon id="0x5574dfadbf20" class="l3d222" points="-28830.05,9845.7 -28830.05,9927.7 -28903.95,9927.7 -28903.95,9845.7"/>
+<polygon id="0x5574dfadbfe0" class="l32d0" points="-28860.05,9875.7 -28860.05,9897.7 -28873.95,9897.7 -28873.95,9875.7"/>
+<polygon id="0x5574dfadc100" class="l30d0" points="-28246.05,9878.5 -28246.05,9894.5 -28251.05,9894.5 -28254.05,9891.5 -28254.05,9878.5"/>
+<polygon id="0x5574dfadc170" class="l49d0" points="-28238.05,9870.5 -28238.05,9902.5 -28262.05,9902.5 -28262.05,9870.5"/>
+<polygon id="0x5574dfadc230" class="l3d222" points="-28213.05,9845.5 -28213.05,9927.5 -28287.05,9927.5 -28287.05,9845.5"/>
+<polygon id="0x5574dfadc2f0" class="l32d0" points="-28243.05,9875.5 -28243.05,9897.5 -28252,9897.5 -28257.05,9892.45 -28257.05,9875.5"/>
+<polygon id="0x5574dfadc3c0" class="l30d0" points="-28350.05,9878.49 -28350.05,9896.49 -28360.05,9896.49 -28360.05,9878.49"/>
+<polygon id="0x5574dfadc480" class="l49d0" points="-28342.05,9870.49 -28342.05,9904.49 -28368.05,9904.49 -28368.05,9870.49"/>
+<polygon id="0x5574dfadc540" class="l3d222" points="-28317.05,9845.49 -28317.05,9929.49 -28393.05,9929.49 -28393.05,9845.49"/>
+<polygon id="0x5574dfadc600" class="l32d0" points="-28347.05,9875.49 -28347.05,9887.49 -28351.05,9887.49 -28351.05,9879.49 -28359.05,9879.49 -28359.05,9895.49 -28351.05,9895.49 -28351.05,9887.49 -28347.05,9887.49 -28347.05,9899.49 -28363.05,9899.49 -28363.05,9875.49"/>
+<polygon id="0x5574dfadc710" class="l30d0" points="-28560.05,9878.7 -28560.05,9894.7 -28568.05,9894.7 -28568.05,9878.7"/>
+<polygon id="0x5574dfadc7d0" class="l49d0" points="-28552.05,9870.7 -28552.05,9902.7 -28576.05,9902.7 -28576.05,9870.7"/>
+<polygon id="0x5574dfadc890" class="l3d222" points="-28527.05,9845.7 -28527.05,9927.7 -28601.05,9927.7 -28601.05,9845.7"/>
+<polygon id="0x5574dfadc950" class="l32d0" points="-28557.05,9875.7 -28557.05,9897.7 -28569.15,9897.7 -28571.05,9895.8 -28571.05,9875.7"/>
+<polygon id="0x5574dfadc670" class="l30d0" points="-28456.05,9878.7 -28456.05,9894.7 -28464.05,9894.7 -28464.05,9878.7"/>
+<polygon id="0x5574dfadcad0" class="l49d0" points="-28448.05,9870.7 -28448.05,9902.7 -28472.05,9902.7 -28472.05,9870.7"/>
+<polygon id="0x5574dfadcb90" class="l3d222" points="-28423.05,9845.7 -28423.05,9927.7 -28497.05,9927.7 -28497.05,9845.7"/>
+<polygon id="0x5574dfadcc50" class="l32d0" points="-28453.05,9875.7 -28453.05,9897.7 -28461.05,9897.7 -28467.05,9891.7 -28467.05,9875.7"/>
+<polygon id="0x5574dfadce00" class="l30d0" points="-28763.55,9878.45 -28763.55,9894.45 -28771.55,9894.45 -28771.55,9878.45"/>
+<polygon id="0x5574dfadcec0" class="l49d0" points="-28754.05,9870.45 -28754.05,9902.45 -28775.05,9902.45 -28775.05,9870.45"/>
+<polygon id="0x5574dfadcf80" class="l3d222" points="-28729.05,9845.45 -28729.05,9927.45 -28800.05,9927.45 -28800.05,9845.45"/>
+<polygon id="0x5574dfadd040" class="l32d0" points="-28759.05,9875.45 -28759.05,9897.45 -28770.05,9897.45 -28770.05,9875.45"/>
+<polygon id="0x5574dfadcd20" class="l30d0" points="-28661.05,9878.45 -28661.05,9894.45 -28669.05,9894.45 -28669.05,9878.45"/>
+<polygon id="0x5574dfadd200" class="l49d0" points="-28656.05,9870.45 -28656.05,9902.45 -28674.05,9902.45 -28674.05,9870.45"/>
+<polygon id="0x5574dfadd2c0" class="l3d222" points="-28631.05,9845.45 -28631.05,9927.45 -28699.05,9927.45 -28699.05,9845.45"/>
+<polygon id="0x5574dfadd380" class="l32d0" points="-28661.05,9875.45 -28661.05,9897.45 -28669.05,9897.45 -28669.05,9875.45"/>
+<polygon id="0x5574dfae8a30" class="l33d0" points="-28787.16,4782.41 -28787.16,4784.61 -28789.36,4784.61 -28789.36,4782.41"/>
+<polygon id="0x5574dfae8970" class="l21d0" points="-28774.26,4740.81 -28774.26,4795.61 -28802.26,4795.61 -28802.26,4740.81"/>
+<polygon id="0x5574dfae88b0" class="l32d0" points="-28781.26,4747.81 -28781.26,4788.61 -28795.26,4788.61 -28795.26,4747.81"/>
+<polygon id="0x5574dfae87f0" class="l110d5" points="-28784.16,4756.21 -28784.16,4780.21 -28792.36,4780.21 -28792.36,4756.21"/>
+<polygon id="0x5574dfae8170" class="l34d0" points="-22786.16,4780.41 -22786.16,4786.61 -22790.36,4786.61 -22790.36,4780.41"/>
+<polygon id="0x5574dfad8b80" class="l30d0" points="-23002.65,10881.6 -23002.65,10908.4 -23010.65,10908.4 -23010.65,10881.6"/>
+<polygon id="0x5574dfaed4a0" class="l49d0" points="-28781.26,2716.01 -28781.26,2739.91 -28795.26,2739.91 -28795.26,2716.01"/>
+<polygon id="0x5574dfadf690" class="l49d0" points="-22999.85,10887 -22999.85,10903 -23013.45,10903 -23013.45,10887"/>
+<polygon id="0x5574dfad9850" class="l2d222" points="-22962.65,10841.6 -22962.65,10948.4 -23050.65,10948.4 -23050.65,10841.6"/>
+<polygon id="0x5574dfad9910" class="l110d5" points="-23002.65,10887 -23002.65,10903 -23010.65,10903 -23010.65,10887"/>
+<polygon id="0x5574dfad99d0" class="l32d0" points="-22999.65,10878.6 -22999.65,10911.4 -23013.65,10911.4 -23013.65,10878.6"/>
+<polygon id="0x5574dfad9a90" class="l21d0" points="-22992.65,10871.6 -22992.65,10918.4 -23020.65,10918.4 -23020.65,10871.6"/>
+<polygon id="0x5574dfad9b50" class="l33d0" points="-23005.55,10905.2 -23005.55,10907.4 -23007.75,10907.4 -23007.75,10905.2"/>
+<polygon id="0x5574dfad9c10" class="l33d0" points="-23005.55,10882.6 -23005.55,10884.8 -23007.75,10884.8 -23007.75,10882.6"/>
+<polygon id="0x5574dfadfd20" class="l34d0" points="-23005.05,10881.6 -23005.05,10885.8 -23008.25,10885.8 -23008.25,10881.6"/>
+<polygon id="0x5574dfadfde0" class="l34d0" points="-23005.05,10904.2 -23005.05,10908.4 -23008.25,10908.4 -23008.25,10904.2"/>
+<polygon id="0x5574dfaed320" class="l30d0" points="-28784.26,2710.61 -28784.26,2745.31 -28792.26,2745.31 -28792.26,2710.61"/>
+<polygon id="0x5574dfadffc0" class="l32d0" points="-21999.45,10861.6 -21999.45,10952 -22912.65,10952 -22912.65,10861.6"/>
+<polygon id="0x5574dfae0080" class="l21d0" points="-21989.45,10851.6 -21989.45,10962 -22922.65,10962 -22922.65,10851.6"/>
+<polygon id="0x5574dfae0140" class="l30d0" points="-22861.85,10898.8 -22861.85,10914.8 -22869.85,10914.8 -22869.85,10898.8"/>
+<polygon id="0x5574dfae0200" class="l49d0" points="-22859.05,10901.6 -22859.05,10912 -22872.65,10912 -22872.65,10901.6"/>
+<polygon id="0x5574dfae02c0" class="l2d222" points="-22829.05,10871.6 -22829.05,10942 -22902.65,10942 -22902.65,10871.6"/>
+<polygon id="0x5574dfae0380" class="l110d5" points="-22861.85,10904.4 -22861.85,10909.2 -22869.85,10909.2 -22869.85,10904.4"/>
+<polygon id="0x5574dfae04e0" class="l30d0" points="-29002.55,10881.65 -29002.55,10908.45 -29010.55,10908.45 -29010.55,10881.65"/>
+<polygon id="0x5574dfaeae90" class="l34d0" points="-22786.16,2740.21 -22786.16,2746.41 -22790.36,2746.41 -22790.36,2740.21"/>
+<polygon id="0x5574dfae0660" class="l49d0" points="-28999.8,10887.05 -28999.8,10903.05 -29013.3,10903.05 -29013.3,10887.05"/>
+<polygon id="0x5574dfae0720" class="l3d222" points="-28962.55,10841.65 -28962.55,10948.45 -29050.55,10948.45 -29050.55,10841.65"/>
+<polygon id="0x5574dfae07e0" class="l110d5" points="-29002.55,10887.05 -29002.55,10903.05 -29010.55,10903.05 -29010.55,10887.05"/>
+<polygon id="0x5574dfae08a0" class="l32d0" points="-28999.55,10878.65 -28999.55,10911.45 -29013.55,10911.45 -29013.55,10878.65"/>
+<polygon id="0x5574dfae0960" class="l21d0" points="-28992.55,10871.65 -28992.55,10918.45 -29020.55,10918.45 -29020.55,10871.65"/>
+<polygon id="0x5574dfae0a20" class="l33d0" points="-29005.45,10905.25 -29005.45,10907.45 -29007.65,10907.45 -29007.65,10905.25"/>
+<polygon id="0x5574dfae0ae0" class="l33d0" points="-29005.45,10882.65 -29005.45,10884.85 -29007.65,10884.85 -29007.65,10882.65"/>
+<polygon id="0x5574dfae0ba0" class="l34d0" points="-29004.95,10881.65 -29004.95,10885.85 -29008.15,10885.85 -29008.15,10881.65"/>
+<polygon id="0x5574dfae0c60" class="l34d0" points="-29004.95,10904.25 -29004.95,10908.45 -29008.15,10908.45 -29008.15,10904.25"/>
+<polygon id="0x5574dfaeadd0" class="l34d0" points="-22786.16,2709.61 -22786.16,2715.81 -22790.36,2715.81 -22790.36,2709.61"/>
+<polygon id="0x5574dfae0de0" class="l32d0" points="-27999.55,10861.65 -27999.55,10951.95 -28912.55,10951.95 -28912.55,10861.65"/>
+<polygon id="0x5574dfae0ea0" class="l21d0" points="-27989.55,10851.65 -27989.55,10961.95 -28922.55,10961.95 -28922.55,10851.65"/>
+<polygon id="0x5574dfae0f60" class="l30d0" points="-28861.8,10898.8 -28861.8,10914.8 -28869.8,10914.8 -28869.8,10898.8"/>
+<polygon id="0x5574dfae1020" class="l49d0" points="-28859.05,10901.65 -28859.05,10911.95 -28872.55,10911.95 -28872.55,10901.65"/>
+<polygon id="0x5574dfae10e0" class="l3d222" points="-28829.05,10871.65 -28829.05,10941.95 -28902.55,10941.95 -28902.55,10871.65"/>
+<polygon id="0x5574dfae11a0" class="l110d5" points="-28861.85,10904.45 -28861.85,10909.15 -28869.75,10909.15 -28869.75,10904.45"/>
+<polygon id="0x5574dfae1260" class="l30d0" points="-28246.65,10904.25 -28246.65,10920.25 -28251.85,10920.25 -28254.65,10917.45 -28254.65,10904.25"/>
+<polygon id="0x5574dfae12d0" class="l49d0" points="-28243.85,10901.45 -28243.85,10923.05 -28252.72,10923.05 -28257.45,10918.32 -28257.45,10901.45"/>
+<polygon id="0x5574dfae13a0" class="l3d222" points="-28213.85,10871.45 -28213.85,10953.05 -28287.45,10953.05 -28287.45,10871.45"/>
+<polygon id="0x5574dfae1460" class="l110d5" points="-28246.65,10904.25 -28246.65,10920.25 -28254.65,10920.25 -28254.65,10904.25"/>
+<polygon id="0x5574dfae1580" class="l30d0" points="-28559.45,10904.45 -28559.45,10920.45 -28567.45,10920.45 -28567.45,10904.45"/>
+<polygon id="0x5574dfae1640" class="l49d0" points="-28556.65,10901.65 -28556.65,10923.25 -28568.47,10923.25 -28570.25,10921.47 -28570.25,10901.65"/>
+<polygon id="0x5574dfae1710" class="l3d222" points="-28526.65,10871.65 -28526.65,10953.25 -28600.25,10953.25 -28600.25,10871.65"/>
+<polygon id="0x5574dfae17d0" class="l110d5" points="-28559.45,10904.45 -28559.45,10920.45 -28567.45,10920.45 -28567.45,10904.45"/>
+<polygon id="0x5574dfae8730" class="l2d222" points="-28764.26,4730.81 -28764.26,4805.61 -28812.26,4805.61 -28812.26,4730.81"/>
+<polygon id="0x5574dfae8670" class="l49d0" points="-28781.26,4756.21 -28781.26,4780.21 -28795.26,4780.21 -28795.26,4756.21"/>
+<polygon id="0x5574dfaeaa10" class="l110d5" points="-22784.26,2716.01 -22784.26,2740.01 -22792.26,2740.01 -22792.26,2716.01"/>
+<polygon id="0x5574dfae84f0" class="l30d0" points="-28784.26,4750.81 -28784.26,4785.61 -28792.26,4785.61 -28792.26,4750.81"/>
+<polygon id="0x5574dfaeac50" class="l33d0" points="-22787.16,2742.21 -22787.16,2744.41 -22789.36,2744.41 -22789.36,2742.21"/>
+<polygon id="0x5574dfae1890" class="l30d0" points="-24893.9,11710.23 -24876.37,11727.76 -24888.25,11739.64 -24905.78,11722.11"/>
+<polygon id="0x5574dfae33b0" class="l30d0" points="-28893.92,11710.26 -28876.39,11727.79 -28888.27,11739.67 -28905.8,11722.14"/>
+<polygon id="0x5574dfadf7a0" class="l30d0" points="-24880.09,11713.94 -24880.09,11724.94 -24891.09,11724.94 -24891.09,11713.94"/>
+<polygon id="0x5574dfadf860" class="l30d0" points="-24985.17,11700.14 -24985.17,11724.94 -25001.97,11724.94 -25001.97,11700.14"/>
+<polygon id="0x5574dfadf920" class="l30d0" points="-24994.74,11717.71 -24994.74,11728.71 -25005.74,11728.71 -25005.74,11717.71"/>
+<polygon id="0x5574dfadf9e0" class="l30d0" points="-25432.53,11700.14 -25432.53,11724.94 -25449.33,11724.94 -25449.33,11700.14"/>
+<polygon id="0x5574dfadfaa0" class="l30d0" points="-25442.73,11713.94 -25442.73,11724.94 -25453.73,11724.94 -25453.73,11713.94"/>
+<polygon id="0x5574dfadfb60" class="l30d0" points="-28567.97,11704.27 -28567.97,11715.27 -28578.97,11715.27 -28578.97,11704.27"/>
+<polygon id="0x5574dfadfc20" class="l30d0" points="-28563.97,11700.27 -28563.97,11719.27 -28582.97,11719.27 -28582.97,11700.27"/>
+<polygon id="0x5574dfae3ab0" class="l30d0" points="-28880.26,11714.07 -28880.26,11725.07 -28891.26,11725.07 -28891.26,11714.07"/>
+<polygon id="0x5574dfae3b70" class="l30d0" points="-28985.19,11700.27 -28985.19,11725.07 -29001.99,11725.07 -29001.99,11700.27"/>
+<polygon id="0x5574dfae3c30" class="l30d0" points="-28994.61,11717.69 -28994.61,11728.69 -29005.61,11728.69 -29005.61,11717.69"/>
+<polygon id="0x5574dfae3cf0" class="l30d0" points="-29099.54,11700.27 -29099.54,11725.07 -29116.34,11725.07 -29116.34,11700.27"/>
+<polygon id="0x5574dfae3db0" class="l30d0" points="-29107.54,11716.27 -29107.54,11727.27 -29118.54,11727.27 -29118.54,11716.27"/>
+<polygon id="0x5574dfae3e70" class="l30d0" points="-29211.07,11700.27 -29211.07,11725.07 -29227.87,11725.07 -29227.87,11700.27"/>
+<polygon id="0x5574dfae3f30" class="l30d0" points="-29217.97,11714.07 -29217.97,11725.07 -29228.97,11725.07 -29228.97,11714.07"/>
+<polygon id="0x5574dfae3ff0" class="l30d0" points="-29320.72,11700.27 -29320.72,11725.07 -29337.52,11725.07 -29337.52,11700.27"/>
+<polygon id="0x5574dfae40b0" class="l30d0" points="-29328.72,11714.07 -29328.72,11725.07 -29339.72,11725.07 -29339.72,11714.07"/>
+<polygon id="0x5574dfae4170" class="l30d0" points="-29432.25,11700.27 -29432.25,11725.07 -29449.05,11725.07 -29449.05,11700.27"/>
+<polygon id="0x5574dfae4230" class="l30d0" points="-29442.4,11714.07 -29442.4,11725.07 -29453.4,11725.07 -29453.4,11714.07"/>
+<polygon id="0x5574dfae42f0" class="l14d222" points="-24882.59,11716.44 -24882.59,11733.42 -24899.57,11733.42 -24899.57,11716.44"/>
+<polygon id="0x5574dfae43b0" class="l14d222" points="-28882.61,11716.47 -28882.61,11733.45 -28899.59,11733.45 -28899.59,11716.47"/>
+<polygon id="0x5574dfae4470" class="l49d0" points="-24893.9,11716.44 -24894.01,11716.44 -24882.59,11727.86 -24882.59,11727.75 -24888.26,11733.42 -24888.25,11733.42 -24899.57,11722.1 -24899.57,11722.11"/>
+<polygon id="0x5574dfae4570" class="l49d0" points="-28893.92,11716.47 -28893.93,11716.47 -28882.61,11727.79 -28882.61,11727.78 -28888.28,11733.45 -28888.27,11733.45 -28899.59,11722.13 -28899.59,11722.14"/>
+<polygon id="0x5574dfae4670" class="l49d0" points="-24989.57,11704.54 -24989.57,11720.54 -24997.57,11720.54 -24997.57,11704.54"/>
+<polygon id="0x5574dfae4730" class="l49d0" points="-25436.93,11704.54 -25436.93,11720.54 -25444.93,11720.54 -25444.93,11704.54"/>
+<polygon id="0x5574dfae47f0" class="l49d0" points="-28568.37,11704.67 -28568.37,11714.87 -28578.57,11714.87 -28578.57,11704.67"/>
+<polygon id="0x5574dfae48b0" class="l49d0" points="-28989.59,11704.67 -28989.59,11720.67 -28997.59,11720.67 -28997.59,11704.67"/>
+<polygon id="0x5574dfae4970" class="l49d0" points="-29103.94,11704.67 -29103.94,11720.67 -29111.94,11720.67 -29111.94,11704.67"/>
+<polygon id="0x5574dfae4a30" class="l49d0" points="-29215.47,11704.67 -29215.47,11720.67 -29223.47,11720.67 -29223.47,11704.67"/>
+<polygon id="0x5574dfae4af0" class="l49d0" points="-29325.12,11704.67 -29325.12,11720.67 -29333.12,11720.67 -29333.12,11704.67"/>
+<polygon id="0x5574dfae4bb0" class="l49d0" points="-29436.65,11704.67 -29436.65,11720.67 -29444.65,11720.67 -29444.65,11704.67"/>
+<polygon id="0x5574dfae4c70" class="l2d222" points="-24844.29,11674.54 -24844.29,11763.42 -24929.57,11763.42 -24929.57,11674.54"/>
+<polygon id="0x5574dfae4d30" class="l2d222" points="-24959.57,11674.54 -24959.57,11767.19 -25044.22,11767.19 -25044.22,11674.54"/>
+<polygon id="0x5574dfae4df0" class="l2d222" points="-25406.93,11674.54 -25406.93,11763.42 -25492.21,11763.42 -25492.21,11674.54"/>
+<polygon id="0x5574dfae4eb0" class="l3d222" points="-28538.37,11674.67 -28538.37,11744.87 -28608.57,11744.87 -28608.57,11674.67"/>
+<polygon id="0x5574dfae4f70" class="l3d222" points="-28844.51,11674.67 -28844.51,11763.45 -28929.59,11763.45 -28929.59,11674.67"/>
+<polygon id="0x5574dfae5030" class="l3d222" points="-28959.59,11674.67 -28959.59,11767.07 -29043.94,11767.07 -29043.94,11674.67"/>
+<polygon id="0x5574dfae50f0" class="l3d222" points="-29073.94,11674.67 -29073.94,11764.2 -29155.47,11764.2 -29155.47,11674.67"/>
+<polygon id="0x5574dfae51b0" class="l3d222" points="-29185.47,11674.67 -29185.47,11761.22 -29265.12,11761.22 -29265.12,11674.67"/>
+<polygon id="0x5574dfae5270" class="l3d222" points="-29295.12,11674.67 -29295.12,11762 -29376.65,11762 -29376.65,11674.67"/>
+<polygon id="0x5574dfae5330" class="l3d222" points="-29406.65,11674.67 -29406.65,11763.45 -29491.73,11763.45 -29491.73,11674.67"/>
+<polygon id="0x5574dfae53f0" class="l110d5" points="-24527.9,11664.54 -24527.9,11777.19 -25502.21,11777.19 -25502.21,11664.54"/>
+<polygon id="0x5574dfae54b0" class="l110d5" points="-28528.37,11664.67 -28528.37,11777.07 -29501.73,11777.07 -29501.73,11664.67"/>
+<polygon id="0x5574dfae5570" class="l32d0" points="-24517.9,11654.54 -24517.9,11787.19 -25512.21,11787.19 -25512.21,11654.54"/>
+<polygon id="0x5574dfae5630" class="l32d0" points="-28518.37,11654.67 -28518.37,11787.07 -29511.73,11787.07 -29511.73,11654.67"/>
+<polygon id="0x5574dfae56f0" class="l21d0" points="-24507.9,11644.54 -24507.9,11797.19 -25522.21,11797.19 -25522.21,11644.54"/>
+<polygon id="0x5574dfae57b0" class="l21d0" points="-28508.37,11644.67 -28508.37,11797.07 -29521.73,11797.07 -29521.73,11644.67"/>
+<polygon id="0x5574dfae5870" class="l33d0" points="-24884.49,11718.34 -24884.49,11720.54 -24886.69,11720.54 -24886.69,11718.34"/>
+<polygon id="0x5574dfae5930" class="l33d0" points="-24999.14,11722.11 -24999.14,11724.31 -25001.34,11724.31 -25001.34,11722.11"/>
+<polygon id="0x5574dfae59f0" class="l33d0" points="-25447.13,11718.34 -25447.13,11720.54 -25449.33,11720.54 -25449.33,11718.34"/>
+<polygon id="0x5574dfae5ab0" class="l33d0" points="-28572.37,11708.67 -28572.37,11710.87 -28574.57,11710.87 -28574.57,11708.67"/>
+<polygon id="0x5574dfae5b70" class="l33d0" points="-28884.66,11718.47 -28884.66,11720.67 -28886.86,11720.67 -28886.86,11718.47"/>
+<polygon id="0x5574dfae5c30" class="l33d0" points="-28999.01,11722.09 -28999.01,11724.29 -29001.21,11724.29 -29001.21,11722.09"/>
+<polygon id="0x5574dfae5cf0" class="l33d0" points="-29111.94,11720.67 -29111.94,11722.87 -29114.14,11722.87 -29114.14,11720.67"/>
+<polygon id="0x5574dfae5db0" class="l33d0" points="-29222.37,11718.47 -29222.37,11720.67 -29224.57,11720.67 -29224.57,11718.47"/>
+<polygon id="0x5574dfae5e70" class="l33d0" points="-29333.12,11718.47 -29333.12,11720.67 -29335.32,11720.67 -29335.32,11718.47"/>
+<polygon id="0x5574dfae5f30" class="l33d0" points="-29446.8,11718.47 -29446.8,11720.67 -29449,11720.67 -29449,11718.47"/>
+<polygon id="0x5574dfaeaad0" class="l32d0" points="-22781.26,2707.61 -22781.26,2748.41 -22795.26,2748.41 -22795.26,2707.61"/>
+<polygon id="0x5574dfaeab90" class="l21d0" points="-22774.26,2700.61 -22774.26,2755.41 -22802.26,2755.41 -22802.26,2700.61"/>
+<text id="0x5574dfaee850" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-28811.55 5751.39) scale(0.5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfaf04a0" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-22811.55 5751.39) scale(0.5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfa8fd50" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-17270.47 37.1) scale(0.2) scale(1 -1)">LRES.9b</text>
+<text id="0x5574dfa8fde0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-15570.82 36.84) scale(0.2) scale(1 -1)">LRES.9b</text>
+<text id="0x5574dfaf09d0" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.05 5798.76) scale(5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfaec1a0" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-28811.55 2691.09) scale(0.5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfa8ff90" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-37270.45 37.13) scale(0.2) scale(1 -1)">LRES.9b</text>
+<text id="0x5574dfa90020" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-35570.9 36.87) scale(0.2) scale(1 -1)">LRES.9b</text>
+<text id="0x5574dfabfe10" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25622.45 584.99) scale(50) scale(1 -1)">LRES.9b</text>
+<text id="0x5574dfac3310" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.06 1718.36) scale(8) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac33a0" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-22805.85 1670.99) scale(0.5) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfaedda0" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-22811.55 2691.09) scale(0.5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfaee2d0" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.05 2738.46) scale(5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfae9a20" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-28811.55 3711.19) scale(0.5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfaeb6f0" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-22811.55 3711.19) scale(0.5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfaebc20" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.05 3758.56) scale(5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfae6840" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-28811.55 4731.29) scale(0.5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfae8f70" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-22811.55 4731.29) scale(0.5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfac3f80" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22305.13 1701.1) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac4010" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22651.55 1701.11) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac40a0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22471.42 1711.54) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac4130" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22379.31 1701.26) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac41c0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22709.67 1701.08) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfae94a0" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.05 4778.66) scale(5) scale(1 -1)">LRES.9a</text>
+<text id="0x5574dfae7860" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-27015.05 11720.86) scale(10) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae77d0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-29491.58 11675.09) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfac45a0" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-28805.97 1670.99) scale(0.5) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfae7740" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-29376.5 11675.1) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae76b0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-29264.93 11675.16) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae7620" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-29155.26 11675.14) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae7590" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-29043.73 11675.18) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae2e40" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28929.24 11675.31) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae2d90" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28608.32 11675.19) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae2ce0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-25492.06 11674.96) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfac4a20" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28305 1701.1) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac4ab0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28652.17 1701.11) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac4b40" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28472.04 1712.29) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac4bd0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28379.18 1701.26) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfac4c60" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28710.04 1701.08) scale(0.1) scale(1 -1)">LRES.1</text>
+<text id="0x5574dfae2c30" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-25044.01 11675.05) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae2b80" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-24929.22 11675.18) scale(0.1) scale(1 -1)">LRES.7</text>
+<text id="0x5574dfae32d0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28598.27 10874.59) scale(0.2) scale(1 -1)">LRES.6</text>
+<text id="0x5574dfae3240" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28900.35 10874.62) scale(0.2) scale(1 -1)">LRES.6</text>
+<text id="0x5574dfae31b0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28284.49 10874.97) scale(0.2) scale(1 -1)">LRES.6</text>
+<text id="0x5574dfade790" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-29049.67 10842.36) scale(0.5) scale(1 -1)">LRES.6</text>
+<text id="0x5574dfade600" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22900.45 10874.57) scale(0.2) scale(1 -1)">LRES.6</text>
+<text id="0x5574dfadde70" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-23049.77 10842.31) scale(0.5) scale(1 -1)">LRES.6</text>
+<text id="0x5574dfaddde0" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.06 10899.26) scale(2) scale(1 -1)">FALSE</text>
+<text id="0x5574dfadf540" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28599.07 9848.64) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfadf4b0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28696.62 9848.81) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfadf420" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28901.75 9848.67) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfadf390" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28797.72 9849.02) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfadf300" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28494.66 9848.84) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfadf270" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28390.25 9849.06) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfadf1e0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28284.09 9849.02) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfadf150" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28076.77 9848.68) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfad8c00" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-29051.07 9816.41) scale(0.5) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfad8ad0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22599.07 9848.64) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfad8a20" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22901.85 9848.67) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfad8970" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22284.09 9849.02) scale(0.2) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfacaa40" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-22689.91 6788.18) scale(0.5) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacaad0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22418.68 6793.9) scale(0.1) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacab60" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22459.94 6794.01) scale(0.1) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacabf0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22500.07 6793.88) scale(0.1) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacac80" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22637.44 6793.79) scale(0.1) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacad10" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-28689.41 6788.31) scale(0.5) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacada0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28418.93 6794.03) scale(0.1) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacae30" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28459.99 6794.14) scale(0.1) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacaec0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28499.82 6794.01) scale(0.1) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacaf50" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28636.99 6793.92) scale(0.1) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfacafe0" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.06 6818.86) scale(8) scale(1 -1)">LRES.2</text>
+<text id="0x5574dfac9a10" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.06 7838.96) scale(8) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfac9b00" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-22689.6 7806.59) scale(0.5) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad8200" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-23051.17 9816.41) scale(0.5) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfad8170" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.05 9879.16) scale(10) scale(1 -1)">LRES.5</text>
+<text id="0x5574dfad9650" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28650.41 8832.7) scale(0.1) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad95c0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28509.82 8832.79) scale(0.1) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad9530" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28467.16 8832.92) scale(0.1) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad94a0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28422.68 8832.81) scale(0.1) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad8f00" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-28689.08 8826.81) scale(0.5) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad8d70" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22650.83 8832.58) scale(0.1) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad1ef0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22510.04 8832.67) scale(0.1) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad2140" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22422.4 7812.59) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad21d0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22467.08 7812.7) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2260" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22510.04 7812.57) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad22f0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22650.83 7812.48) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2480" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-28689.08 7806.71) scale(0.5) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad1e40" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22467.08 8832.8) scale(0.1) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad1d90" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-22422.4 8832.69) scale(0.1) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad16d0" class="l11t222" text-anchor="start" dominant-baseline="text-after-edge" transform="translate(-22689.6 8826.69) scale(0.5) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad1640" class="l12t222" text-anchor="middle" dominant-baseline="central" transform="translate(-25515.06 8859.06) scale(8) scale(1 -1)">LRES.4</text>
+<text id="0x5574dfad2ea0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28650.41 7812.6) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2e10" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28606.04 7812.61) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2d80" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28571.67 7812.67) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2cf0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28544.15 7812.65) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2c60" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28509.82 7812.69) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2ab0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28364.1 7812.7) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2b40" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28422.68 7812.71) scale(0.1) scale(1 -1)">LRES.3</text>
+<text id="0x5574dfad2bd0" class="l11t222" text-anchor="start" dominant-baseline="central" transform="translate(-28467.16 7812.82) scale(0.1) scale(1 -1)">LRES.3</text>
+</g>
+</svg>
\ No newline at end of file

From 668b14450f4619eaf064f66406fe0be950c5d017 Mon Sep 17 00:00:00 2001
From: FaragElsayed2 <farag_agoor@mabrains.com>
Date: Wed, 5 Apr 2023 14:36:37 +0200
Subject: [PATCH 2/3] Updating comments for DRC rules

---
 klayout/drc/rule_decks/lres.drc | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/klayout/drc/rule_decks/lres.drc b/klayout/drc/rule_decks/lres.drc
index a0341d91..909386fa 100644
--- a/klayout/drc/rule_decks/lres.drc
+++ b/klayout/drc/rule_decks/lres.drc
@@ -24,53 +24,53 @@ if FEOL
   logger.info('Starting LRES derivations')
   lres_poly = poly2.and(nplus).interacting(sab).interacting(res_mk)
 
-  # Rule LRES.1: Minimum width of Poly2 resistor. is 0.8µm
+  # Rule LRES.1: Minimum width of Poly2 resistor is 0.8µm.
   logger.info('Executing rule LRES.1')
   lres1_l1 = lres_poly.width(0.8.um, euclidian)
-  lres1_l1.output('LRES.1', 'LRES.1 : Minimum width of Poly2 resistor. : 0.8µm')
+  lres1_l1.output('LRES.1', 'LRES.1 : Minimum width of Poly2 resistor: 0.8µm')
   lres1_l1.forget
 
-  # Rule LRES.2: Minimum space between Poly2 resistors. is 0.4µm
+  # Rule LRES.2: Minimum space between Poly2 resistors is 0.4µm.
   logger.info('Executing rule LRES.2')
   lres2_l1 = lres_poly.isolated(0.4.um, euclidian)
-  lres2_l1.output('LRES.2', 'LRES.2 : Minimum space between Poly2 resistors. : 0.4µm')
+  lres2_l1.output('LRES.2', 'LRES.2 : Minimum space between Poly2 resistors: 0.4µm')
   lres2_l1.forget
 
-  # Rule LRES.3: Minimum space from Poly2 resistor to COMP.
+  # Rule LRES.3: Minimum space from Poly2 resistor to COMP is 0.6um.
   logger.info('Executing rule LRES.3')
   lres3_l1 = lres_poly.separation(comp, 0.6.um, euclidian).polygons(0.001.um).or(comp.not_outside(lres_poly))
-  lres3_l1.output('LRES.3', 'LRES.3 : Minimum space from Poly2 resistor to COMP.')
+  lres3_l1.output('LRES.3', 'LRES.3 : Minimum space from Poly2 resistor to COMP: 0.6.um')
   lres3_l1.forget
 
-  # Rule LRES.4: Minimum space from Poly2 resistor to unrelated Poly2. is 0.6µm
+  # Rule LRES.4: Minimum space from Poly2 resistor to unrelated Poly2 is 0.6µm.
   logger.info('Executing rule LRES.4')
   lres4_l1 = lres_poly.separation(poly2.not_interacting(sab), 0.6.um, euclidian)
-  lres4_l1.output('LRES.4', 'LRES.4 : Minimum space from Poly2 resistor to unrelated Poly2. : 0.6µm')
+  lres4_l1.output('LRES.4', 'LRES.4 : Minimum space from Poly2 resistor to unrelated Poly2: 0.6µm')
   lres4_l1.forget
 
-  # Rule LRES.5: Minimum Nplus implant overlap of Poly2 resistor. is 0.3µm
+  # Rule LRES.5: Minimum Nplus implant overlap of Poly2 resistor is 0.3µm.
   logger.info('Executing rule LRES.5')
   lres5_l1 = lres_poly.enclosed(nplus, 0.3.um, euclidian).polygons(0.001.um)
   lres5_l2 = lres_poly.not_outside(nplus).not(nplus)
   lres5_l  = lres5_l1.or(lres5_l2)
-  lres5_l.output('LRES.5', 'LRES.5 : Minimum Nplus implant overlap of Poly2 resistor. : 0.3µm')
+  lres5_l.output('LRES.5', 'LRES.5 : Minimum Nplus implant overlap of Poly2 resistor: 0.3µm')
   lres5_l1.forget
   lres5_l2.forget
   lres5_l.forget
 
-  # Rule LRES.6: Minimum salicide block overlap of Poly2 resistor in width direction. is 0.28µm
+  # Rule LRES.6: Minimum salicide block overlap of Poly2 resistor in width direction is 0.28µm.
   logger.info('Executing rule LRES.6')
   lres6_l1 = lres_poly.enclosed(sab, 0.28.um)
-  lres6_l1.output('LRES.6', 'LRES.6 : Minimum salicide block overlap of Poly2 resistor in width direction. : 0.28µm')
+  lres6_l1.output('LRES.6', 'LRES.6 : Minimum salicide block overlap of Poly2 resistor in width direction: 0.28µm')
   lres6_l1.forget
 
-  # Rule LRES.7: Space from salicide block to contact on Poly2 resistor.
+  # Rule LRES.7: Minimum space from salicide block to contact on Poly2 resistor is 0.22.um.
   logger.info('Executing rule LRES.7')
   cont_lres7 = contact.and(lres_poly)
   lres7_l1 = cont_lres7.separation(sab, 0.22.um).polygons(0.001.um)
   lres7_l2 = cont_lres7.interacting(sab)
   lres7_l = lres7_l1.or(lres7_l2)
-  lres7_l.output('LRES.7', 'LRES.7 : Space from salicide block to contact on Poly2 resistor.')
+  lres7_l.output('LRES.7', 'LRES.7 : Minimum space from salicide block to contact on Poly2 resistor: 0.22.um')
   lres7_l.forget
   lres7_l1.forget
   lres7_l2.forget
@@ -94,14 +94,14 @@ if FEOL
 
   # Rule LRES.9b: If the size of single RES_MK mark layer is greater than 15000um2
   ## and both side (X and Y) are greater than 80um.
-  ## then the minimum spacing to adjacent RES_MK layer. is 20µm
+  ## then the minimum spacing to adjacent RES_MK layer is 20µm.
   logger.info('Executing rule LRES.9b')
   lres9b = res_mk.with_area(15_000.001.um, nil).edges.with_length(80.001.um, nil)
   lres9b_l1 = lres9b.separation(res_mk.edges, 20.um)
   lres9b_l1.output('LRES.9b',
                    'LRES.9b : If the size of single RES_MK mark layer is greater than 15000um2
                     and both side (X and Y) are greater than 80um.
-                    then the minimum spacing to adjacent RES_MK layer. : 20µm')
+                    then the minimum spacing to adjacent RES_MK layer: 20µm')
   lres9b_l1.forget
   lres9b.forget
   lres_poly.forget

From 81ec8f6456ccea6d2773ab25432ee4641d7d0600 Mon Sep 17 00:00:00 2001
From: FaragElsayed2 <farag_agoor@mabrains.com>
Date: Wed, 5 Apr 2023 15:56:29 +0200
Subject: [PATCH 3/3] Adding intermediate var for LRES table

---
 klayout/drc/rule_decks/lres.drc | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/klayout/drc/rule_decks/lres.drc b/klayout/drc/rule_decks/lres.drc
index 909386fa..79be7ce7 100644
--- a/klayout/drc/rule_decks/lres.drc
+++ b/klayout/drc/rule_decks/lres.drc
@@ -22,7 +22,9 @@ if FEOL
   #================================================
 
   logger.info('Starting LRES derivations')
-  lres_poly = poly2.and(nplus).interacting(sab).interacting(res_mk)
+
+  poly_nplus = poly2.and(nplus)
+  lres_poly = poly_nplus.interacting(sab).interacting(res_mk)
 
   # Rule LRES.1: Minimum width of Poly2 resistor is 0.8µm.
   logger.info('Executing rule LRES.1')
@@ -83,7 +85,7 @@ if FEOL
   ## RES_MK length shall be coincide with resistor length (Defined by SAB length)
   ## and width covering the width of Poly2.
   logger.info('Executing rule LRES.9a')
-  mk_lres9 = res_mk.edges.not(poly2.and(nplus).and(sab).edges).inside_part(poly2)
+  mk_lres9 = res_mk.edges.not(poly_nplus.and(sab).edges).inside_part(poly2)
   lres9a_l1 = res_mk.interacting(lres_poly).interacting(mk_lres9)
   lres9a_l1.output('LRES.9a',
                    'LRES.9a : Nplus Poly2 resistor shall be covered by RES_MK marking.
@@ -91,6 +93,7 @@ if FEOL
                     and width covering the width of Poly2. ')
   lres9a_l1.forget
   mk_lres9.forget
+  poly_nplus.forget
 
   # Rule LRES.9b: If the size of single RES_MK mark layer is greater than 15000um2
   ## and both side (X and Y) are greater than 80um.