fGJDataMonoid+3PreludeCByUHCBase!pF|.DataMonoidGB&d%=DataMonoidMonoid<}[Ri Bu/DataMonoidMonoid<]j*.Bu:dDataMonoidMonoidD<]j*.B 44* DataMonoid<]y0B  UHC.Base.==x$b&DataMonoidMonoidG<ZwB Data.Monoid.mappend.oDataMonoidMonoid<>GB Data.Monoid.memptyC=DataMonoid<'EBf ~ԟ4DataMonoid<]y0BL  #uDataMonoidMonoidoF<ZwB BO-DataMonoid^BL UHC.Base.compare<&xh!DataMonoidDataMonoid?x ?7JFeeDataMonoid;RnYFf}4*׹DataMonoidMonoid<ww1B R&apDataMonoid<q',Bi  .DataMonoidEndomAaDataMonoid@4 PyFPvDataMonoidGB CZXDataMonoidFirst7ʉDataMonoid:m23x@F[0@kk:DataMonoid<f,Bn "DDataMonoid<m)5B?{+iDataMonoidQDataMonoidIc,yID*L.uDataMonoidMonoid<7H7BϥJe1#DataMonoidMonoid<WX'B Data.Monoid.mappend75O/UDataMonoid<gZ?Bаhn/^}4DataMonoidMonoid_<TU B Data.Monoid.mappendZ6_$DataMonoidgetSumjUޑDataMonoidMonoid<g{p5B OѹjDataMonoidUzDataMonoid9(Tu8FyL*o+DataMonoid<u<BFw埜DataMonoid=L9*F5 DataMonoid<eR2E$B[q MWoNcDataMonoid<Oh63B2ruDataMonoid<'EB\D}DataMonoidMonoid~?<]j*.B mãDataMonoid<5>^BQ {\iDataMonoid<;~;Bw 磸g-DataMonoid<OrcL)B  ݳɆDataMonoid<5>^BiqfDataMonoid<gZ?B G 5DataMonoidMonoidGB ?b3*Z+DataMonoid> p>FJkDataMonoid<q',Bf d,nQDataMonoid<Oh63B BO~մDataMonoidMonoid<NSBlU?cx!DataMonoid<e8cB n5OKDataMonoid<?OB  UHC.Base.==ċyDataMonoid<;Bu M"`KDataMonoidMonoid<z4uYB = MR+iDataMonoid<gZ?B  UHC.Base.==>NDataMonoidMonoid<Am /BCrkpDataMonoid<-VWO&B 4 D]DataMonoidgetFirst. GCۂDataMonoid<61B-!G\BqLDataMonoidMonoid<g5$ BH!p|PbDataMonoid:(D:FV#:"DataMonoid<=IDF#~,9DataMonoidgetAll($<73DataMonoid_'Monoid')$L($DataMonoid<EyU4B&) YDataMonoidSum#*B0_R DataMonoidappEndo"*BHZ;DataMonoidMonoid<ww1B Data.Monoid.mappendQ*KDataMonoidMonoid,:DataMonoid<EyU4B %>kdwDataMonoid<utݻ*B@pꧨDataMonoidMonoidR<V=B Data.Monoid.mappendCs9]DataMonoid<ϛwX"+F CsB5TDataMonoid<ϟw^n+BE[+ꭏDataMonoid<e8cB  UHC.Base.==mFA%>DataMonoidMonoid<>GB Data.Monoid.mappendF-) DataMonoidMonoidsQ<V=B HwE|<DataMonoidMonoid<g{p5BPI¶vZqDataMonoidN D;JeDataMonoid;3c9FeLJ1/DataMonoidgetAny LtDataMonoidMonoid<Am /B Data.Monoid.mappend?N-oDataMonoid<m)5B O͙-?DataMonoid<%2BV Pe1>DataMonoidMonoid?^<TU B \QQLDataMonoid<‹l/F Q<݀DataMonoid<5>^BK R)"DataMonoidMonoid<NSB jRˈަDataMonoidMonoid<Am /B AT0^DataMonoid=X_zFTyAfMODataMonoid<OrcL)BUgxo~DataMonoid;75m/FdV}3JOmDataMonoid<U:B> V"Ou@DataMonoid<q',B UHC.Base.showsPrecWڃDataMonoidMonoidv<oI<B Xo[yDataMonoidMonoid<ww1BTXwvzDataMonoid@CZFXS%&DataMonoidDualY4 weDataMonoidMonoid<H= B6Y`DataMonoid? R[*sFZxQZMDataMonoid<;~;Bz Z^$zwDataMonoid<T`%B)[ Z@ˑ DataMonoid<ϟw^n+B2k [Ӷ" DataMonoidmconcat]+HyDataMonoidAll_9]DataMonoid<61B UHC.Base.compare)_PY"DataMonoidAnyasYDataMonoidMonoid@<]j*.B Data.Monoid.mappendd],m}DataMonoidDataMonoidx!D 5zDataMonoidmconcat lC Q{MDataMonoid_1lCIDataMonoid_3!XS%&DataMonoidDualKC UHCBaseidTC!'DataMonoid<OrcL)B  UHC.Base.==<-/% אDataMonoidx_1<5/{#DDataMonoidx_2aBkEs.DataMonoidFw\D/zUHCBase==磸g-DataMonoid<OrcL)B  o#KvDataMonoidFw\D sR_&DataMonoid<OrcL)B  _2H ?$DataMonoid<OrcL)B _2H ?$DataMonoid<OrcL)B 5EDataMonoid<OrcL)B  SA~"ADataMonoid<OrcL)B   G+^DataMonoidFw\D-oUHCBaseEq<>OXJ ¸UHCBaseEq<>OXJlBkDataMonoid_1lB"'DataMonoid_2}|yDataMonoidcok+G}|yDataMonoidcok+G[}DataMonoidcp2ӧFTyAfMODataMonoid<OrcL)BsFxYDataMonoidFw\De6ˣDataMonoid<OrcL)B e6ˣDataMonoid<OrcL)B LJ1/DataMonoidgetAnyKC UHCBaseid<1DataMonoid<ϟw^n+Bi UHC.Base.readsPrec($;7DataMonoidFD0Dg`ΊbDataMonoiddou\6@DataMonoidcoy"e)Fu\6@DataMonoidcoy"e)FUtUHCBase primGtInt г2~DataMonoidd]qa2Gг2~DataMonoidd]qa2G sUHCBase readParenCs9]DataMonoid<ϛwX"+FSDataMonoidrp)D:DataMonoidFD0Dg-qBegDataMonoidd pY1`F-qBegDataMonoidd pY1`F30v0UHCBaselex6"DataMonoiddgq"xG6"DataMonoiddgq"xG [Tù$UHCBase concatMapQQLDataMonoid<‹l/F X xfDataMonoid_'uv_1qNĂ8=DataMonoidFD0DgZDataMonoid_'xsM|“hDataMonoid_'v_1uGJ;)>DataMonoid_'u_1tb)APLDataMonoid_'l_1wM2DataMonoid_'l_1xh D/mDataMonoid_'l_2y:)7DataMonoid_'l_1zh5P-UHCBase primEqCharSEpDataMonoidco79Fͷ)_DataMonoid_'l_2{WbZqDataMonoid_'l_2|h N2DataMonoid_'l_3}tCDataMonoid_'l_2~h5P-UHCBase primEqCharuTr`DataMonoidd)pe@FNZ_vDataMonoid_'l_3 6DataMonoid_'l_4/뿾bDataMonoid_'l_3hyq~DataMonoid_'l_3h5P-UHCBase primEqCharm c<DataMonoidd(pSbGF   r_a7uUDataMonoid_'l_4  >DataMonoid_ >DataMonoid_  7&.DataMonoidd#pVJF   DataMonoidd3p}ZF DataMonoidd3p}ZFs.X_UHCBase readsPrec  9wojDataMonoidd$p3YsKF 9wojDataMonoidd$p3YsKF[Tù$UHCBase concatMap   *5* kDataMonoidd.p3qx]Fv9-DataMonoidd/pQs^F `QDataMonoidd0pw=__FBu D0DataMonoidDataMonoidd8p3WF2[DataMonoidd5pATFiaqDataMonoidd:p)QFWHyDataMonoid<ϟw^n+B/h :DataMonoidFD0D1g_ԣ :DataMonoid<ϟw^n+B0h \=DataMonoid<ϟw^n+Bk \=DataMonoid<ϟw^n+Bk Z@ˑ DataMonoid<ϟw^n+B2k sgADataMonoid<ϟw^n+B3h 7&`OPDataMonoidFD0D4gnkUHCBaseReadl<mt#*JNb"3`{UHCBaseRead<mt#*JoG}~DataMonoid_1moG[DataMonoid_2n]cDataMonoiddoqSKG]cDataMonoiddoqSKG 7@DataMonoiddpRa*fFCsB5TDataMonoid<ϟw^n+B0^`2(DataMonoidFD0Dg% ƋDataMonoid<ϟw^n+Bh % ƋDataMonoid<ϟw^n+Bh ͙ZDataMonoidU-EhD8K_'DataMonoidEqDiD9H H`ŶUHCBaseEq^ )UHCBaseEqc oOG&zDataMonoid_1_oG9DataMonoid_6doGK2=DataMonoid_4boGDataMonoid_7eoFWeDataMonoid_8foGSDataMonoid_2`oG9ۉDataMonoid_3azHI , !DataMonoid<utݻ*BN , !DataMonoid<utݻ*BN |x/DataMonoid<utݻ*BAN  hhJVDataMonoidEqDiDCHJZpـ DataMonoid<utݻ*BBI !OZDataMonoidJpJܻiDDLLf^2?UHCBaseOrdO<AuJJF>g~UHCBaseOrd<AuJoDGg DataMonoid_4SoHGqG|DataMonoid_2QoHGnDataMonoid_6UoJGqDataMonoid_1PoJGv}\"DataMonoid_3RoZG&zZDataMonoid_5ToZG?&d<2DataMonoid_7VolFИwpDataMonoid_8W7(vIDataMonoiddr}ŹiG7(vIDataMonoiddr}ŹiG9JDataMonoiddpl%b~F>kdwDataMonoid<utݻ*B̕ lTDataMonoidEqDiDH/띖?DataMonoidU-EhDK/띖?DataMonoidU-EhDK CGK:DataMonoidJpJܻiDL CGK:DataMonoidJpJܻiDL`|yL/DataMonoid<utݻ*BI `|yL/DataMonoid<utݻ*BI 44* DataMonoid<]y0B  UHC.Base.==Vc}DataMonoidC+ O3rD<.N'hDataMonoidx_2<.voDataMonoidx_1/zUHCBase==BO1DataMonoid<]y0BI v: XDataMonoidC+ O3rDJ7>٥`DataMonoid<]y0BK FKWDataMonoid<]y0B  FKWDataMonoid<]y0B  ԟ4DataMonoid<]y0BL  yDataMonoid<]y0BN |Ӷ.WDataMonoidC+ O3rDM_rykUHCBaseEq <>OXJ ¸UHCBaseEq<>OXJlCQt-DataMonoid_1 lCAeDataMonoid_2[v81DataMonoiddq`(G[v81DataMonoiddq`(Gu`e[DataMonoiddxq4(gF4hn.{1DataMonoid<]y0Bdžn#6DataMonoidC+ O3rDt(JDataMonoid<]y0B t(JDataMonoid<]y0B LuDataMonoid<;~;B UHC.Base.readsPrecI#7^DataMonoidd H(DQ<'DataMonoidbe~(e5dnD)+DataMonoiddEq!GF)+DataMonoiddEq!GFUtUHCBase primGtInt ŀ_DataMonoidessGŀ_DataMonoidessGsUHCBase readParenFw埜DataMonoid=L9*FHEwyDataMonoidbe~(e5dnDJDataMonoidr 5%SDataMonoiddqFF5%SDataMonoiddqFF30v0UHCBaselexv?qDataMonoidds\t~mGv?qDataMonoidds\t~mG[Tù$UHCBase concatMapT0^DataMonoid=X_zFrIWcDataMonoid_'uv_1 DdƤMDataMonoidbe~(e5dnDr]${rDataMonoid_'x>lDataMonoid_'v_1E3<2DataMonoid_'u_1z#b (DataMonoid_'l_1 pPDataMonoid_'l_2T9KhZDataMonoid_'l_1h-DataMonoid_'l_1h5P-UHCBase primEqCharFzd6CDataMonoiddUqH%FL;DataMonoid_'l_2 PdDataMonoid_'l_3̊ȋDataMonoid_'l_2hH]XDataMonoid_'l_2h5P-UHCBase primEqChariQ'izDataMonoiddTqESgFCRDataMonoid_'l_3 kDataMonoid_'l_4ϑ`DataMonoid_'l_3h>QsDataMonoid_'l_3h5P-UHCBase primEqCharr b◱DataMonoiddrWBF   -&DataMonoid_'l_4   ɳԌ^DataMonoid_'l_5! /PM+DataMonoid_'l_4 h  rCDataMonoid_'l_4"h 5P-UHCBase primEqChar s  nI @rDataMonoiddr:dF   8 9DataMonoid_'l_5#    ɿp3DataMonoid_'l_6% }(5;#DataMonoid_'l_5$h  :s[DataMonoid_'l_5&h 5P-UHCBase primEqChar t  (=yDataMonoiddrRʲF   {-JODataMonoid_'l_6'    DataMonoid_(  DataMonoid_( .tUj#"DataMonoiddrDXFPBI*uDataMonoiddq$ZeFPBI*uDataMonoiddq$ZeFs.X_UHCBase readsPrec Ɯ@cDataMonoiddrvB hFƜ@cDataMonoiddrvB hF[Tù$UHCBase concatMap kN,[EDataMonoiddqbMF   f|$,mPDataMonoiddqQQwF  ~?bjl_DataMonoiddq?FthuDataMonoiddq$B`FIg_uDataMonoiddqRDF#:"DataMonoid<=IDFrlDataMonoid_'uv_2*DataMonoid_'x,@|DataMonoid_'v_2.Eֈ3iDataMonoid_'u_2-MV@DataMonoiddqWFbwvBDataMonoiddq2SDF}C,DataMonoiddr`4=Fz]qDataMonoiddroNF{\iDataMonoid<;~;Bw 2NDataMonoidbe~(e5dnDx>گevDataMonoid<;~;By JVIP2DataMonoid<;~;B JVIP2DataMonoid<;~;B ZxQZMDataMonoid<;~;Bz (:`DataMonoidbe~(e5dnD{jp?:vjDataMonoid<;~;B| I/mUHCBaseRead<mt#*JNb"3`{UHCBaseRead<mt#*Jm>_۷DataMonoid_1 m>-t_DataMonoid_2 59&OԩDataMonoideftwpG59&OԩDataMonoideftwpGXLw8DataMonoiddr!4}qF1'V(|ԁDataMonoid<;~;B8j@8N;DataMonoidD#[vkD}ԜcvDataMonoidbe~(e5dnD}ԜcvDataMonoidbe~(e5dnD%!rUHCBase,:DataMonoid<EyU4B n:cDataMonoid<EyU4B UHC.Base.minBound4R DataMonoid<EyU4B Uc K,&DataMonoid<EyU4B UHC.Base.maxBound z5W'UHCBaseBounded<D ~JJB[aUHCBaseBounded<D ~JJlCK`KDataMonoid_1laCf^sDataMonoid_2)T"iNDataMonoiddsU?8F)$L($DataMonoid<EyU4BL! :`DataMonoidBGPqD[vZDataMonoiddq`)F[vZDataMonoiddq`)FGd'UHCBaseminBound lEDataMonoid<EyU4B UHC.Base.minBoundxɕbDataMonoiddsCQAFxɕbDataMonoiddsCQAF%nUHCBasemaxBoundv]7&wDataMonoid<EyU4B UHC.Base.maxBound%|DataMonoid<EyU4B %|DataMonoid<EyU4B $$<73DataMonoid_'Monoidb b"DataMonoidx2~b4JDataMonoidx3~hcDataMonoidx1#~,9DataMonoidgetAllKC UHCBaseid_9]DataMonoid<61B UHC.Base.comparevhByDataMonoidBs7D =R!<DataMonoidx_2=R]=!DataMonoidx_1ω.mUHCBasecompare5/>QDataMonoidIc,yID#9tIBDataMonoidBs7D{ ,OUHCBaseEq 1&qAUHCBaseEq m>cDataMonoid_8m ?q`DataMonoid_3m ?daDataMonoid_7m"?jDataMonoid_6m*?mr{DataMonoid_4m2?fDataMonoid_2m4?7DataMonoid_1g[!9 <DataMonoid<61B noDataMonoid<61B WUBDataMonoidF eVD~ZVMDataMonoidBs7D^zDataMonoid<61B ^zDataMonoid<61B ,Y:7ŚDataMonoid<61B  6QDDataMonoidF eVD'1:yDataMonoidBs7DZJ9DataMonoid<61B (J"\UHCBaseOrd<AuJJF>g~UHCBaseOrd<AuJm>/!GƭDataMonoid_8m??DataMonoid_1m7?1DataMonoid_3m7?6QDataMonoid_2m??DataMonoid_7m??qDataMonoid_6m?? DataMonoid_5m??DataMonoid_4*lDataMonoideu>EIG*lDataMonoideu>EIG)% yJDataMonoiddr{+F GCۂDataMonoid<61B[59DataMonoidBs7DB#eDataMonoidIc,yIDB#eDataMonoidIc,yID*p/DataMonoidF eVDp/DataMonoidF eVD^PDataMonoid<61B ^PDataMonoid<61B +D]DataMonoidgetFirstKC UHCBaseidkwwDataMonoidgetLastKC UHCBaseid}TDataMonoidDataMonoidDataMonoid+DataMonoid>,Ä 7D ˋ[ DataMonoid9D \ D5֜GDataMonoid:5(? 7D C= EDataMonoid-7 7D O*XQDataMonoid9D \ D׉HCA֎DataMonoidc1KysuDataMonoidb1SP(EDataMonoida1EgFJDataMonoid,Ä 7D_90DataMonoidb1y'DataMonoid-7 7DÞ~+-YDataMonoid9[ӂы5 D3^DataMonoida2yLl|DataMonoidc25J DataMonoidb2œuDataMonoideuzFœuDataMonoideuzF ;\%gDataMonoideOt[=F ;\%gDataMonoideOt[=F S XzDataMonoideTtkVJЋF S XzDataMonoideTtkVJЋF $?EqbDataMonoideXtwTF    -LSR)DataMonoidMonoid<g5$ B TTDataMonoidMonoid<g5$ B Data.Monoid.mempty xTƇ_[DataMonoid:5(? 7D0o.`ѮDataMonoid-7 7D@˦)DataMonoidMonoid<g5$ B ZjZ2DDataMonoid>,Ä 7D/sNDataMonoidMonoid<g5$ B /sNDataMonoidMonoid<g5$ B G*# ǮDataMonoidMonoid<g5$ B  a}11jDataMonoid>,Ä 7D#u!DataMonoid:5(? 7DaP7w lDataMonoid-7 7DoGǺDataMonoidMonoid<g5$ B p |֑DataMonoidMonoid<g5$ B Data.Monoid.mempty@KDataMonoidMonoid<H= B6k9DataMonoid_1k9$XDataMonoid_3k<9KDataMonoid_29m2DataMonoidblOJe@G9m2DataMonoidblOJe@GD!P 4DataMonoideu`g LF!G\BqLDataMonoidMonoid<g5$ B |}7͑!DataMonoid-7 7D.l-DataMonoid:5(? 7Dl9jDataMonoid>,Ä 7D(-?\DataMonoide>t&QF(-?\DataMonoide>t&QF51ؽeoDataMonoide=t"ݰF1ؽeoDataMonoide=t"ݰF5O~LDataMonoideDt8#)FO~LDataMonoideDt8#)F5ș^zDataMonoidMonoid<g5$ B Data.Monoid.memptyqsDataMonoidMonoid<g5$ B qsDataMonoidMonoid<g5$ B F:*Z*DataMonoidMonoid3DataMonoidx2 Y]DataMonoidx1:9*YNDataMonoid3JQo $DDataMonoid3s7$* )DG 5DataMonoidMonoiden SDNMO>sDataMonoid4Cf2 DVNuDataMonoid4@t*  D.-?lUHCBase*%(DataMonoidMonoid<g{p5B ԊH!DataMonoid>en SD2 o0XDataMonoidMonoid<g{p5B ^چce9"DataMonoidMonoid<g{p5B Data.Monoid.memptyi59hDataMonoidMonoid<g{p5B i59hDataMonoidMonoid<g{p5B OjUޑDataMonoidMonoid<g{p5B $ .DataMonoidMonoid <g{p5B Data.Monoid.mempty%u DataMonoidMonoid<g{p5B P Y UDataMonoid>en SD#K&DataMonoidMonoid<H= B6l)@Ӂ DataMonoid_1l1@J#DataMonoid_2l5@#DataMonoid_34;פ#DataMonoidc1mCXG4;פ#DataMonoidc1mCXGM2ĿDataMonoideuJdvFHwE|<DataMonoidMonoid<g{p5B,cDataMonoid>en SD;s,)nSDataMonoideu$ÁF;s,)nSDataMonoideu$ÁFsZ?tLUHCBasepackedStringToInteger14f b'FDataMonoidMonoid<g{p5B Data.Monoid.mempty4f b'FDataMonoidMonoid<g{p5B Data.Monoid.mempty{UHCBase fromInteger%@ ªRDataMonoidMonoid<g{p5B %@ ªRDataMonoidMonoid<g{p5B N*BHZ;DataMonoidMonoid<ww1B Data.Monoid.mappend \WY,DataMonoid;47 D^lDataMonoid7 :E XD z'/LezDataMonoid7rp MD}4*׹DataMonoidMonoid<ww1B eC@DataMonoidMonoid<ww1B 詥FDataMonoid;47 D<ϟDataMonoidMonoid<ww1B Data.Monoid.memptyУF)ZNDataMonoidMonoid<ww1B УF)ZNDataMonoidMonoid<ww1B Sq`2?DataMonoidMonoid<ww1B ;wlDataMonoid;47 DK>lDataMonoidMonoid<ww1B Data.Monoid.memptyvegzDataMonoidMonoid<ww1B R.JSDataMonoidMonoid<H= B6j:ϪY|wDataMonoid_3j:]DataMonoid_1j:[DataMonoid_2B4=DataMonoidcgn[ GB4=DataMonoidcgn[ GQ>/uQDataMonoidai;\FXo[yDataMonoidMonoid<ww1B217EDataMonoid;47 DKDataMonoidMonoid<ww1B Data.Monoid.memptyKDataMonoidMonoid<ww1B Data.Monoid.mempty55DDataMonoidMonoid<ww1B 5DDataMonoidMonoid<ww1B R[ʜDataMonoidMonoid'<am B Data.Monoid.mappend ֘qlٹDataMonoid7mk DAJSčTDataMonoid=VGm| D%` wlDataMonoid;C D$6@J1pDataMonoid7mk DB?_VDataMonoidb1Fg`.8yg|DataMonoida1EV!p|PbDataMonoid:(D:F `¢DataMonoidb1FLX?RDataMonoida1E^/'nDataMonoid8 DOLM2~-DataMonoid=VGm| D%~opDataMonoid;C D$d>牾7DataMonoid8 DP9*pDataMonoidb2Tq)DataMonoida2StDataMonoidaiC+U FtDataMonoidaiC+U Fvk'DataMonoidai-Fvk'DataMonoidai-F*ƒKI1DataMonoidai:F:ЅDataMonoidMonoid$&<am B I;CDataMonoidMonoid'(<am B Data.Monoid.mempty&DataMonoid=VGm| D&%5akĪDataMonoid;C D%$et<~DataMonoidMonoid(&<am B TQDƥDataMonoidMonoid9<am B TQDƥDataMonoidMonoid9<am B X 35M%DataMonoidMonoid)9<am B  )X1^DataMonoidMonoid,(<am B Data.Monoid.mempty4\&ϲDataMonoidMonoid-&<am B {H3s0DataMonoid=VGm| D+%5P]DataMonoid;C D*$$El=DataMonoidMonoid:<H= B6jc="DataMonoid_3=jc=1 DataMonoid_1;jk=!ӷJDataMonoid_2<\}pՆDataMonoidco71ѷG\}pՆDataMonoidco71ѷGUx]ږ+]DataMonoidai$+jP".Fk&[ߧDataMonoidMonoid<am B1.DataMonoid=VGm| D%.溳5DataMonoid;C D$q q`DataMonoidai)n(Fq q`DataMonoidai)n(F5RUm'nDataMonoidai@ 7'FRUm'nDataMonoidai@ 7'F5h{&DataMonoidMonoid(<am B Data.Monoid.mempty{[x*BDataMonoidMonoid&<am B {[x*BDataMonoidMonoid&<am B Wаhn/^}4DataMonoidMonoid_<TU B Data.Monoid.mappendXQeDataMonoid7̼/DZ ty&BDataMonoid7SnMD8S@DataMonoid/ /D\zlI+DataMonoid05q/D]|kD@DataMonoidDataMonoidMonoid?^<TU B TDPDataMonoid05q/DE]s ]DataMonoidMonoidD^<TU B ؿيtDataMonoid/ /DB\N̹pDataMonoid7̼/D@ZĐWDataMonoid}#0PDataMonoid7̼/DZC-DataMonoid05q/D]5$DataMonoid/ /D\,Gw@-DataMonoidb/jL^F,Gw@-DataMonoidb/jL^F5;L1uDataMonoidb.j.|]F;L1uDataMonoidb.j.|]F5m=GYD;DataMonoidb-j~ z2\Fm=GYD;DataMonoidb-j~ z2\F5IAnDataMonoidb4j~[FIAnDataMonoidb4j~[F5ֺԃDataMonoidMonoid`<TU B Data.Monoid.mempty  nDataMonoidMonoid^<TU B   nDataMonoidMonoid^<TU B \  g_|?DataMonoid<}CMB UHC.Base.showsPrec XDataMonoiddFm|DataMonoidbPj>F30v0UHCBaselex[Tù$UHCBase concatMapeJeDataMonoid;3c9F ; jDataMonoid_'uv_1(&)DataMonoid_'x8DataMonoid_'v_1DkuÅDataMonoid_'u_10U`DataMonoid_'l_1 < DataMonoid_'l_2x~'vDataMonoid_'l_1h ǵYqDataMonoid_'l_1h5P-UHCBase primEqCharA=bDataMonoidbqkT"FMDxDataMonoid_'l_2 )+DataMonoid_'l_3hq(uDataMonoid_'l_2h؅ EDataMonoid_'l_2h5P-UHCBase primEqCharl@ vDataMonoidbpkP <FT݋DataMonoid_'l_3 #8tDataMonoid_'l_49H3=DataMonoid_'l_3hh DataMonoid_'l_3h5P-UHCBase primEqCharlTܜcDataMonoidbGj\WFbfAaDataMonoid_'l_4PODataMonoid_PODataMonoid_ 7++DataMonoidbBj*YF   j DataMonoidbRj֚iF j DataMonoidbRj֚iFs.X_UHCBase readsPrec'lUÁUHCBase<My4J  }"Z!DataMonoidbCjL^F }"Z!DataMonoidbCjL^F[Tù$UHCBase concatMapf  U"ݡDataMonoidbMjLI@FB DataMonoidbNjFʌyζDataMonoidbOj aFeeDataMonoid;RnYF ДDataMonoid_'uv_2lth4NDataMonoid_'xDataMonoid_'v_2GFODataMonoid_'u_2^z#oDataMonoidbQj\\FI%|K_DataMonoidbWk<4F-oR DataMonoidb\kSF@GDataMonoidbYk FeNb@DataMonoid<W@By <# `DataMonoid<W@Bz |#6}DataMonoid<W@B |#6}DataMonoid<W@B hz DataMonoid<W@B{ t]DataMonoid<W@B| zkZ5UHCBaseRead<mt#*JNb"3`{UHCBaseRead<mt#*JlEm_DDataMonoid_2lErDataMonoid_1@w$DataMonoidbkFc>$/DataMonoidx_1>$ї ZDataMonoidx_2/zUHCBase==U?cx!DataMonoid<e8cB .6RQDataMonoidG#DUDataMonoid<e8cB ;NI. DataMonoid<e8cB ;NI. DataMonoid<e8cB oca/MDataMonoid<e8cB +-RDataMonoidG#DKbDataMonoid<e8cB p:UHCBaseEq<>OXJ ¸UHCBaseEq<>OXJnIMH,dDataMonoid_1n Il-DataMonoid_2^vDataMonoidh+-G^vDataMonoidh+-Gm5KDataMonoidbkcF푼S2DataMonoid<e8cB FDataMonoidG#Du lBDataMonoid<e8cB u lBDataMonoid<e8cB n JtDataMonoid<;B UHC.Base.compareJ*DataMonoidF`uD)>$(/rDataMonoidx_1>$+DataMonoidx_2ω.mUHCBasecompare(,DataMonoidRF8ytD,-xDataMonoidF`uD$*UHCBaseEq  @Kb,UHCBaseEq nIhTDataMonoid_7nI~^N[DataMonoid_4n IoU{DataMonoid_6nIxDataMonoid_1 nI~XDataMonoid_2nIvHDataMonoid_3n-HnDataMonoid_8 ] 'wMDataMonoid<;B [yNjDataMonoidId$uDqDataMonoid<;B =~UDataMonoidF`uD&WDataMonoid<;B &WDataMonoid<;B tӃN'̈DataMonoid<;B  Ā %DataMonoidF`uD^y xDataMonoid<;B  _DataMonoidId$uDDŽUHCBaseOrd<AuJJF>g~UHCBaseOrd<AuJnIaDataMonoid_4nI{?DataMonoid_5nI~ܬDataMonoid_3nI"pDataMonoid_6n"H@DataMonoid_8nhIkDataMonoid_7o*EՅbDataMonoid_2o,ECoDataMonoid_1x DataMonoidi NrceGx DataMonoidi NrceGq* DataMonoidbk-v.FċyDataMonoid<;Bg9B;DataMonoidF`uD%F:GDataMonoidRF8ytD%F:GDataMonoidRF8ytDr#qL;!DataMonoidId$uD#qL;!DataMonoidId$uDp}t@ZDataMonoid<;B }t@ZDataMonoid<;B sPvDataMonoidFxahDDataMonoid_'l_27o*MDataMonoid_'l_28hϾ+ڞDataMonoid_'l_39`#YDataMonoid_'l_2:h5P-UHCBase primEqChara/HDataMonoidbl]x$F4 DataMonoid_'l_3;k[BE~DataMonoid_'l_3<hʾ)DataMonoid_'l_4=j@̢HDataMonoid_'l_3>h5P-UHCBase primEqChars 2ݎi{JDataMonoidblY#{+F   ;WDataMonoid_'l_4?  E8DataMonoid_'l_5A  s DataMonoid_'l_4@h  .~cmDataMonoid_'l_4Bh 5P-UHCBase primEqChar t  `$K5DataMonoidbl^*)62F   tȨ<DataMonoid_'l_5C   "'DataMonoid_D "'DataMonoid_D  f:KDataMonoidbl 5F   Qꋊ뢄DataMonoidc&miz6F } GG5DataMonoidbl>iz6F[Tù$UHCBase concatMapy   4r?DataMonoidc!m~>HF  Fio`DataMonoidc"m`F9IFD?^ DataMonoidc#mܖJFVrMjDataMonoidc$m0 KF>UzDataMonoid9(Tu8FPqo`DataMonoid_'uv_2FfdHcDataMonoid_'xHQ!DataMonoid_'v_2JF9?`DataMonoid_'u_2I[Jl3DataMonoidc%m^DF0w~4 IDataMonoidc+m>jBF#Q]3[}DataMonoidbl@#?FvWۢtDataMonoidblvN}<F!pF|.DataMonoid:vFO'1DataMonoidcm_>:vFUy6 UHCBase showsPrec KY#%DataMonoidcm\ _euFKY#%DataMonoidcm\ _euFÏ ‚ UHCBasepackedStringToStringProduct T9sDataMonoidcmXHtFT9sDataMonoidcmXHtF"X_UHCBase showString1fDataMonoidcmk^rF1fDataMonoidcmk^rF.IHUHCBase.&\Œ*YNDataMonoidcmepF&\Œ*YNDataMonoidcmepFUtUHCBase primGtInt rL3,SUHCBase showParenvJ/DataMonoid<Oh63B 'lh^nDataMonoid<Oh63B RDataMonoidB.Dĝ1wDataMonoid<Oh63B ĝ1wDataMonoid<Oh63B d,nQDataMonoid<Oh63B SDataMonoid<Oh63B JCDataMonoidB.DYyBjUHCBaseShow<e,JDSUHCBaseShow<e,Jj?7DDataMonoid_2j?<DataMonoid_1j?.@:jDataMonoid_3d:cJDataMonoidf)w Z{@Gd:cJDataMonoidf)w Z{@G1Rф _DataMonoidcmF~FMWoNcDataMonoid<Oh63BQHdFDataMonoidB.DbXZ?DataMonoid<Oh63B bXZ?DataMonoid<Oh63B -2^7DataMonoid<u<B UHC.Base.showsPrec u;RDataMonoidd=SdhDataMonoidx_1C):fDataMonoid~eXpJD.aDataMonoidcun?ҨFaDataMonoidcun?ҨFUy6 UHCBase showsPrec * jgbDataMonoidc|nAF* jgbDataMonoidc|nAFÏ ‚ UHCBasepackedStringToStringFirst  -T9DataMonoidc{nF -T9DataMonoidc{nF"X_UHCBase showStringb7DataMonoidcynO4Fb7DataMonoidcynO4F.IHUHCBase.e@ k6DataMonoidc_nAq:Fe@ k6DataMonoidc_nAq:FUtUHCBase primGtInt rL3,SUHCBase showParentG׮"DataMonoid<u<B n  DataMonoid~eXpJDfDataMonoid<u<B n̎DataMonoid<u<B n̎DataMonoid<u<B ,DataMonoid<u<B $8DataMonoid_2n.FDataMonoid_1n.I .DataMonoid_3oS|9DataMonoidfv'+uGoS|9DataMonoidfv'+uG[7^DataMonoidcmnn`FL*o+DataMonoid<u<BCdDataMonoidD@#jGDRshGDataMonoid~eXpJDRshGDataMonoid~eXpJDS{PUHCBase%6XƏDataMonoidx_1tuDataMonoidcYn/bbFuDataMonoidcYn/bbFUy6 UHCBase showsPrec 6d87DataMonoidc@ma$zF6d87DataMonoidc@ma$zFÏ ‚ UHCBasepackedStringToStringSum .DataMonoidc?m/!F.DataMonoidc?m/!F"X_UHCBase showString~qOiDataMonoidc=m F~qOiDataMonoidc=m F.IHUHCBase.>ײ!DataMonoidcCmO+^F>ײ!DataMonoidcCmO+^FUtUHCBase primGtInt rL3,SUHCBase showParentjj Q?DataMonoid<f,Bk rǶn ?DataMonoid<f,Bk , %DataMonoidD- Dj-DataMonoid<f,Bn -DataMonoid<f,Bn 0@kk:DataMonoid<f,Bn ޼"B$DataMonoidD- Dj1de~DataMonoid<f,Bk 87j{QUHCBaseShowo<e,JDSUHCBaseShow<e,JnH'\DataMonoid_2qnH+DataMonoid_1pnHK+*DataMonoid_3r g頂DataMonoidfAwU[G g頂DataMonoidfAwU[Gf9yA:DataMonoidcQn_MFRzfDataMonoid<f,B@1&DataMonoidD- Dj=BՑ 1DataMonoid<f,Bk =BՑ 1DataMonoid<f,Bk  gLL(DataMonoid</@\9B  UHC.Base.==>$#l!cDataMonoidx_1>$/H:DataMonoidx_2PLDataMonoidf.&D0/zUHCBase==~!1رDataMonoid</@\9B  /T|W DataMonoidf.&D 5)gDataMonoid</@\9B  fxZDataMonoid</@\9B fxZDataMonoid</@\9B ewZP~ODataMonoid</@\9B  ukDataMonoidf.&DFQDataMonoid</@\9B yn-UHCBaseEq<>OXJ ¸UHCBaseEq<>OXJn:I=DataMonoid_2nK8DataMonoidDT >~#DH/{DataMonoidf.&DH/{DataMonoidf.&DLI)UHCBase %PxDataMonoidx_1?9+xDataMonoidx_2/zUHCBase==&8dUHCBase<U0JOΧj"4DataMonoid<Ea s"Bw `I(ZeDataMonoid<Ea s"Bw yM:cVDataMonoid<Ea s"B{ yM:cVDataMonoid<Ea s"B{  mOZDataMonoid<Ea s"B{ 6KDataMonoid<Ea s"Bw XvUHCBaseEq|<>OXJ ¸UHCBaseEq<>OXJnH?@DataMonoid_1}nH8DataMonoid_2~xs,6DataMonoidcoA:Fᮖ# DataMonoid<Ea s"Bi jSDataMonoid<Ea s"Bw i jSDataMonoid<Ea s"Bw  +eDataMonoid<7g(-B gcDataMonoid<7g(-B  *צKdDataMonoid<7g(-B! UHC.Base.minBound]4sDataMonoid<7g(-B" UHC.Base.maxBound.` b1DataMonoid<7g(-B .` b1DataMonoid<7g(-B 4w@ 6DataMonoid<7g(-B# |Xٙ<DataMonoid<7g(-B$ uUBDataMonoid<7g(-B& UHC.Base.maxBound4VG|`DataMonoid<7g(-B% UHC.Base.minBoundiUHCBaseBounded<D ~JJB[aUHCBaseBounded<D ~JJoG_5PDataMonoid_2oF>BDataMonoid_1eQDataMonoidcn`.vF_#DataMonoid<7g(-B ^nvXDataMonoidC 3Qa8_D*_<_DataMonoidcnłF*_<_DataMonoidcnłFGd'UHCBaseminBound2q3GDataMonoid<7g(-B UHC.Base.minBound+ 5c DataMonoidc}npF+ 5c DataMonoidc}npF%nUHCBasemaxBound'TADataMonoid<7g(-B UHC.Base.maxBoundkcDataMonoid<7g(-B kcDataMonoid<7g(-B -|ZDataMonoid<%2B UHC.Base.readsPrec-lD}dDataMonoidBn D1.5/DataMonoiddhVFDataMonoidcnFhVFDataMonoidcnFUtUHCBase primGtInt ÏBWDataMonoidgt{GÏBWDataMonoidgt{GsUHCBase readParen!S`FiDataMonoid:$Ld÷fF(H\DataMonoidrT,SDataMonoidBn D2V6Ha8DataMonoidh5}{Kl{TFV6Ha8DataMonoidh5}{Kl{TF30v0UHCBaselexCvtDataMonoidgv{"j6GCvtDataMonoidgv{"j6G[Tù$UHCBase concatMapw/hDataMonoid@4:Fz~DataMonoidBn D3pZDataMonoid_'uv_1ɫYוDataMonoid_'x^m=DataMonoid_'v_1BW%raIDataMonoid_'u_12DataMonoid_'l_15DataMonoid_'l_1h C?eDataMonoid_'l_2=zS9e4DataMonoid_'l_1h5P-UHCBase primEqCharP?H S<DataMonoidg|i\ FEۙ&|DataMonoid_'l_2 \VDataMonoid_'l_3QMBDataMonoid_'l_2hAdT`<DataMonoid_'l_2h5P-UHCBase primEqCharr#DataMonoidg|JΫ(FѩU*DataMonoid_'l_3 I˜/upDataMonoid_'l_43󞃹5DataMonoid_'l_3hEDataMonoid_'l_3h5P-UHCBase primEqCharo ȾZDataMonoidg|$+F   #i$is:DataMonoid_'l_4  LKT}UDataMonoid_'l_4h  B@/DataMonoid_'l_5  8G$VDataMonoid_'l_4h 5P-UHCBase primEqChar d  ٨'5:5DataMonoidg|. f"F   pʾ$}DataMonoid_'l_5    wD]DataMonoid_'l_6 ]W#DataMonoid_'l_5h  H-:PqDataMonoid_'l_5h 5P-UHCBase primEqChar u   @DataMonoidg|,Ok)F   ʡ"v DataMonoid_'l_6   9bDataMonoid_'l_6h  n%DataMonoid_'l_7 9GҠDataMonoid_'l_6h5P-UHCBase primEqChar c F֝ZWDataMonoidg|Z;0F 3_ 6qDataMonoid_'l_7  }@,56DataMonoid_'l_8(+xKDataMonoid_'l_7h8nDataMonoid_'l_7h5P-UHCBase primEqChart/:'9DataMonoidg|VG7FiӴDataMonoid_'l_8༉|DDataMonoid_༉|DDataMonoid_r?I*QDataMonoidg|G:zb:F[DqDataMonoidh#}C@JF[DqDataMonoidh#}C@JFs.X_UHCBase readsPrec K)"7DataMonoidg|J\| ;FK)"7DataMonoidg|J\| ;F[Tù$UHCBase concatMap/6DataMonoidh}3]4?MF+'dADataMonoidh}55NF HDataMonoidh }9-8qOOF   CK>RwDataMonoidh9}[w"tPF  G'DataMonoidh:}xQFB_pyDataMonoidh;}+{TRF%֎DataMonoidh<}M}3SFqt²DataMonoid@y=F%sZ2CDataMonoid_'uv_2Ou郿8DataMonoid_'x,9=DataMonoid_'v_2BmVDataMonoid_'u_2t%`DataMonoidh"}?m=S9IF?T DataMonoidh(}R]LDGFj#,3DataMonoidh%}IkEDFCfhDataMonoidh*}YQAFO͙-?DataMonoid<%2BV lFDataMonoidBn DXm7-xDataMonoid<%2BW @DataMonoid<%2B @DataMonoid<%2B KG{LDataMonoid<%2BY 2ȆDataMonoid<%2BZ ؋{*DataMonoidBn D[y!=UHCBaseRead<mt#*JNb"3`{UHCBaseRead<mt#*Jj?'fDataMonoid_1j?FDataMonoid_26a͐tADataMonoidg>zr ">G6a͐tADataMonoidg>zr ">G>xґDataMonoidh3}tgZF@DataMonoid<%2Bh03uPDataMonoidBn D3u;.DataMonoid<%2B 3u;.DataMonoid<%2B x$b&DataMonoidMonoidG<ZwB Data.Monoid.mappendC"kgvDataMonoid<:T1 D4AFkt8DataMonoid.kf D8Ee۷JDataMonoid2B { D6C=ў;GDataMonoid2*/2J D@LDataMonoid4\c>ձ D7Dl0Ig9%DataMonoid?5vU D5BjッɊDataMonoid2*/2J D?Sd]DataMonoida1?2DataMonoide1OSFFZYDataMonoidc1S.2fDataMonoidb1j$^DataMonoidd1 mAaDataMonoid@4 PyF  +DataMonoid<:T1 D9AC°$ DataMonoidb1A<9DataMonoid2U jC D F 3F!DataMonoid2B { D;CNDataMonoidd1B ~DataMonoid4\c>ձ D<D,|DataMonoid?5vU D:B#nMDataMonoide1?3#tDataMonoidc1@7zDataMonoida1>S]DataMonoid.kf D=E "ʦDataMonoid2U jC D    7}e7nDataMonoidd2 @"lDataMonoidb2 !9ע^r%DataMonoida2 KiqoDataMonoidc2 fn(oDataMonoide2   lKCFDataMonoidh`~-F  lKCFDataMonoidh`~-F  ϭL>DataMonoidh]};ϜPF ϭL>DataMonoidh]};ϜPF  %k1ׇ DataMonoidhb~ mܶF%k1ׇ DataMonoidhb~ mܶF fLzeDataMonoidhg~+ FfLzeDataMonoidhg~+ F _HiDataMonoidhl~(mF_HiDataMonoidhl~(mF Cf\@aLDataMonoidh} }F  #uDataMonoidMonoidoF<ZwB  >[DataMonoidMonoiduF<ZwB AŒ7DataMonoid4\c>ձ DsD^gǡDataMonoid.kf DvEff>DataMonoidMonoidtH<ZwB Data.Monoid.mempty{{ DataMonoid<:T1 DpA>Aq~DataMonoid2B { DrCE5(H4DataMonoid?5vU DqB0gڜɉDataMonoidMonoidw<ZwB 0gڜɉDataMonoidMonoidw<ZwB }kG&vDataMonoidMonoidww<ZwB  =FRDataMonoid2B { DzCoձ D{DP6-k DataMonoid?5vU DyB#{)rDataMonoid.kf D~E(XcDataMonoidMonoid|H<ZwB Data.Monoid.memptyU\˓DataMonoid<:T1 DxAoЮ9xDataMonoidMonoid}F<ZwB (o%fDataMonoidMonoidx<H= B6k8뭂DataMonoid_3{k8ֆDataMonoid_2zk8sIgDataMonoid_1yKF DataMonoidl,v@CGKF DataMonoidl,v@CG 8DataMonoidhx~N>gF  ׀kxDataMonoidMonoid<ZwB:%DataMonoid?5vU DBD&DataMonoid4\c>ձ DDjaDataMonoid<:T1 DA3R q#DataMonoid2B { DCt^cDataMonoid.kf DED,H;BDataMonoidh}- /DsFD,H;BDataMonoidh}- /DsF5@kDataMonoidh})k,rF@kDataMonoidh})k,rF53;DataMonoidh}&=)qF3;DataMonoidh}&=)qF5=a@=DataMonoidh}#' pF=a@=DataMonoidh}#' pF5 hZ9&DataMonoidh|l$/oF hZ9&DataMonoidh|l$/oF5 *c5DataMonoidMonoidH<ZwB Data.Monoid.mempty   ҥck1DataMonoidMonoidF<ZwB  ҥck1DataMonoidMonoidF<ZwB    5OKDataMonoid<?OB  UHC.Base.==?2*sN.yDataMonoidx_1?4*R#DataMonoidx_2/zUHCBase==&8dUHCBase<U0JRBoDataMonoid<?OB ׸hxZ$DataMonoid<?OB Cqo DataMonoid<?OB Cqo DataMonoid<?OB !MDataMonoid<?OB ^r3eDataMonoid<?OB Kr>_UHCBaseEq<>OXJ ¸UHCBaseEq<>OXJoG/ĘDataMonoid_2oG oDataMonoid_1@D S%DataMonoidhB}-YFFLDataMonoid<?OB:!9IDataMonoid<?OB :!9IDataMonoid<?OB oxG+DataMonoid<5>^BL UHC.Base.compare>%HDataMonoidx_1[>%`aDataMonoidx_2\ω.mUHCBasecompareQ UHCBase<w)1JQ<݀DataMonoid<5>^BK D%J&DataMonoid<5>^BK HpEDataMonoid<5>^BQ HpEDataMonoid<5>^BQ mãDataMonoid<5>^BQ   <)SRfDataMonoid<5>^BK !saUHCBaseOrdR<AuJJF>g~UHCBaseOrd<AuJnCH]DataMonoid_6XnKH5DataMonoid_7YnKH/iDataMonoid_1SnKHLzDataMonoid_3UnSHKDataMonoid_2Tn[HYDataMonoid_5Wn[HZIDataMonoid_4Vn{Iq;PDataMonoid_8ZقODataMonoidhS};nFݳɆDataMonoid<5>^B'CDataMonoid<5>^BK 'CDataMonoid<5>^BK rWnu=DataMonoid<oc&#B UHC.Base.compare?R+!DataMonoidx_2?X+DataMonoidx_1ω.mUHCBasecompareQ UHCBase<w)1J+RDataMonoid<oc&#B RP9DataMonoid<oc&#B &ZcDataMonoid<oc&#B &ZcDataMonoid<oc&#B Or{DataMonoid<oc&#B  :^DataMonoid<oc&#B (Rq1UHCBaseOrd<AuJJF>g~UHCBaseOrd<AuJoFkbfDataMonoid_1oFDataMonoid_3oF~DataMonoid_4oGtDataMonoid_8oFMv}DataMonoid_6oFrNDataMonoid_2oFKIb^DataMonoid_5oFzloNDataMonoid_7o#PʘDataMonoidhF^)DataMonoid<oc&#BD'Od'DataMonoid<oc&#B D'Od'DataMonoid<oc&#B DataMonoid_2ylB,$2DataMonoid_1xlB0OXJ ¸UHCBaseEq<>OXJoF*'WdDataMonoid_2oF3[DataMonoid_1 DataMonoidl~' G DataMonoidl~' G|{HfMDataMonoidh~L;rF5O/UDataMonoid<gZ?B2T|DataMonoidD+RDϚ ~DataMonoida$4DϚ ~DataMonoida$4DLI)UHCBaseg~UHCBaseOrd<AuJlD DataMonoid_8lEDataMonoid_4lE0S4DataMonoid_5lE{՜DataMonoid_3lEDataMonoid_6lE=;DataMonoid_7lEMe^DataMonoid_2lEScDataMonoid_1A;DataMonoidlȋ'h 'GA;DataMonoidlȋ'h 'GdP/DataMonoidh->TlF} DataMonoidDataMonoid_?vE@y1DataMonoid3DataMonoidx15&*DataMonoidm166_)&[DataMonoidx27IVDataMonoidm28?'!-WDataMonoidh0F?'!-WDataMonoidh0F-cfDataMonoidh1nżo/F-cfDataMonoidh1nżo/F)U$AUHCBaseJustd褎UHCBase undefinedd褎UHCBase undefined@`cTDataMonoidMonoid<7H7B SjSDataMonoidMonoid<7H7B IDataMonoid;Y8 ED#vDataMonoidMonoid <7H7B #vDataMonoidMonoid <7H7B eF:DataMonoidMonoid <7H7B 7V:/DataMonoid;Y8 EDDFBod?DataMonoidi!bMHHFBod?DataMonoidi!bMHHFUtUHCBase primGtInt sM+0 DataMonoidm  GsM+0 DataMonoidm  GsUHCBase readParen*G-R>DataMonoid?x ?7JF!ʌDataMonoidr!DataMonoidD? DGXWgHDataMonoidihB`fWFXWgHDataMonoidihB`fWF30v0UHCBaselex2I%DataMonoidmZ  G2I%DataMonoidmZ  G[Tù$UHCBase concatMapەνѿTDataMonoid?t AkNF% ɪ@DataMonoid_'uv_1s_ADataMonoidD? DHG*GBDataMonoid_'x8-"+DataMonoid_'v_1Gun([DataMonoid_'u_1+ޜDataMonoid_'l_1 a!r.DataMonoid_'l_27(@DataMonoid_'l_1hXגa(/DataMonoid_'l_1h5P-UHCBase primEqCharDotzDataMonoidi1-ݸ,XF :mDataMonoid_'l_29~DataMonoid_'l_2h ~ܧDataMonoid_'l_3mҍMk$DataMonoid_'l_2h5P-UHCBase primEqCharuO|GDataMonoidi0J__F'1ݵBDataMonoid_'l_3 2(aDataMonoid_'l_3h kC9DataMonoid_'l_469DataMonoid_'l_3h5P-UHCBase primEqChara UQ״DataMonoidimt*fF   ZחDataMonoid_'l_4  Af1DataMonoid_'l_4h  `<]DataMonoid_'l_5  bDataMonoid_'l_4h 5P-UHCBase primEqChar l  ]NKE DataMonoidh^ mF   >{u{DataMonoid_'l_5   R=)DataMonoid_ R=)DataMonoid_  5RxDataMonoidiItpF   TP|DataMonoidiiDgF TP|DataMonoidiiDgFs.X_UHCBase readsPrec   ;DataMonoidiL?qF  ;DataMonoidiL?qF[Tù$UHCBase concatMap   cV֓pDataMonoidilNpo$F  ]\MDataMonoidie8n]ؘFf/DDataMonoidif<a5FW}eDataMonoidig?.c FY`DataMonoid? R[*sF3h)DataMonoid_'uv_2(s7DataMonoid_'xE"1DataMonoid_'v_2FBDataMonoid_'u_2OhDataMonoidi-O?FH\OLDataMonoidi&}FB DataMonoidi6=zFBDataMonoidiEwF:[ٴTDataMonoid<m)5B ߅,)\)DataMonoid<m)5B b=EFDataMonoidD? Dn;\DataMonoid<m)5B n;\DataMonoid<m)5B N-oDataMonoid<m)5B ě3,!DataMonoid<m)5B ܨJKBhpDataMonoidD? DIYEUHCBaseRead<mt#*JNb"3`{UHCBaseRead<mt#*Jn"FRDataMonoid_2n$FŤpDataMonoid_1ww;eDataMonoidm}  Gww;eDataMonoidm}  GGL+DataMonoidi^"`LymF"DDataMonoid<m)5BZ*DataMonoidD? DӁpYDataMonoid<m)5B ӁpYDataMonoid<m)5B CZXDataMonoidFirstKC UHCBaseidC82UDataMonoid<-VWO&B/ :mzDataMonoid<-VWO&B/ h\ƕDataMonoid<-VWO&B1 UHC.Base.minBound)$&DataMonoid_27mt>`, DataMonoid_16wqW9vDataMonoidip[yF DataMonoid<-VWO&BeFC9DataMonoidivnpFeFC9DataMonoidivnpF%nUHCBasemaxBoundP"}UHCBaseBounded</;z7JVADataMonoid<-VWO&B0 UHC.Base.maxBoundZ+BRDataMonoidiraP} FZ+BRDataMonoidiraP} FGd'UHCBaseminBoundP"}UHCBaseBounded</;z7J(19HDataMonoid<-VWO&B1 UHC.Base.minBound`f/DataMonoid<-VWO&B/ `f/DataMonoid<-VWO&B/ I¶vZqDataMonoidN D;#xyDataMonoidE}%EqD83 _U<:UHCBaseEqN mG>ʓ`~)DataMonoid_7UmG>ݑqDataMonoid_4RmO>)c*9DataMonoid_2PmO>a9DataMonoid_3QmW>`QIDataMonoid_6Tm_>S}DataMonoid_1Omo?20mҵDataMonoid_8Vt>PUHCBaseEqS 6g9ՋDataMonoid<U:B: UHC.Base.compare,]ok .y\DataMonoid<U:B> V}3JOmDataMonoid<U:B>  ֲHDataMonoidG,Ĥ._D<DataMonoid(d CD=QzMDataMonoid<U:B9 Y'UHCBaseOrd?<AuJJF>g~UHCBaseOrd<AuJmT>\ܐDataMonoid_4CmX>l{DataMonoid_2AmXAaDataMonoid_6EmZ>jjDataMonoid_1@mZ>ҲDataMonoid_3Bm@lGDataMonoid_8GmABkDataMonoid_7FmAʯDataMonoid_5Dq吷.SDataMonoidj 1-A OGq吷.SDataMonoidj 1-A OGi^ DataMonoidiR/yiFĪB "DataMonoid<U:B󣇄L9DataMonoidE}%EqD8n} M$"DataMonoidN D;n} M$"DataMonoidN D;*b{UUX DataMonoidG,Ĥ._D<*b{UUX DataMonoidG,Ĥ._D<s/!DataMonoid(d CD=s/!DataMonoid(d CD=EVC4UHCBaseiFAGt:ʋDataMonoidi>iF.IHUHCBase.b5;ADataMonoidiA>Fb5;ADataMonoidiA>FUtUHCBase primGtInt rL3,SUHCBase showParen4;vDataMonoid<T`%B'W NqP1*DataMonoid<T`%B(W eǻV<DataMonoid<T`%B[ eǻV<DataMonoid<T`%B[ Z^$zwDataMonoid<T`%B)[ K tC;DataMonoid<T`%B*W ^3UHCBaseShow\<e,JDSUHCBaseShow<e,JmA>pDataMonoid_1]mI>f DataMonoid_2^mM>~ DataMonoid_3_TD HoDataMonoidi(/Fȳʘ DataMonoid<T`%BBߍX`DataMonoid<T`%BW BߍX`DataMonoid<T`%BW |,tDataMonoid<tM/z?B2e ȅ;cDataMonoid<tM/z?B5g UHC.Base.minBound_xUDataMonoid<tM/z?B3e Id7DataMonoid<tM/z?B4f UHC.Base.maxBoundBa3DataMonoid<tM/z?Bi Ba3DataMonoid<tM/z?Bi rzM%"DataMonoid<tM/z?B6i EDataMonoid<tM/z?B9g UHC.Base.minBoundWjH'{9DataMonoid<tM/z?B7e s DataMonoid<tM/z?B8f UHC.Base.maxBound8PkUHCBaseBoundedj<D ~JJB[aUHCBaseBounded<D ~JJmAS·DataMonoid_1kmA_-DataMonoid_2lf[=DataMonoidi}RpFYDataMonoid<tM/z?Bg)DataMonoidE;U4DdԺ8)0DataMonoidiFԺ8)0DataMonoidiF%nUHCBasemaxBoundǠ DataMonoid<tM/z?Bf UHC.Base.maxBoundߟVEDataMonoidinFߟVEDataMonoidinFGd'UHCBaseminBoundXTDataMonoid<tM/z?Bg UHC.Base.minBoundH1DataMonoid<tM/z?Be H1DataMonoid<tM/z?Be -2t 2DataMonoid<eR2E$Bn UHC.Base.readsPrec DDataMonoidduSsKTDataMonoidi0 FSsKTDataMonoidi0 FUtUHCBase primGtInt sUHCBase readParenXwvzDataMonoid@CZFXDataMonoidrvf\QkDataMonoideuO0,Ff\QkDataMonoideuO0,F30v0UHCBaselex[Tù$UHCBase concatMapl.DataMonoid@)=F B 7vjDataMonoid_'uv_1w=;ݳXDataMonoid_'xyG錱)DataMonoid_'v_1{Eּ_DataMonoid_'u_1z?^B[jDataMonoid_'l_1}Ai_FDataMonoid_'l_1~h >-1DataMonoid_'l_26˘DataMonoid_'l_1h5P-UHCBase primEqCharAq`(fDataMonoidev7FVK1DADataMonoid_'l_2 1˶?gL>DataMonoid_'l_3A{6 ܰODataMonoid_'l_2h"#X.RDataMonoid_'l_2h5P-UHCBase primEqCharn=|: |KDataMonoidev5 FY/@PDataMonoid_'l_3 L˅lDataMonoid_'l_4r5EKs_DataMonoid_'l_3hGXDataMonoid_'l_3h5P-UHCBase primEqCharyƼaDataMonoidev|G%sF5ymzDataMonoid_'l_4s%c$DataMonoid_s%c$DataMonoid_ DataMonoidevlF   OK\DataMonoideuegj&F OK\DataMonoideuegj&Fs.X_UHCBase readsPrec'lUÁUHCBase<My4J  y~DataMonoidevo7~F y~DataMonoidevo7~F[Tù$UHCBase concatMap  S @DataMonoideu'Z)F6DataMonoideuU] *F xJDataMonoideu`^{+F?b3*Z+DataMonoid> p>Fjp`^DataMonoid_'uv_2q%G,DataMonoid_'xkc>DataMonoid_'v_2B8$s*DataMonoid_'u_2]\ddDataMonoideuGeY%FhЋ,UDataMonoideu't1#F3DataMonoideu5k FsDataMonoidevP7yFb p ]DataMonoid<eR2E$BYm vqhDataMonoid<eR2E$BZm *A]DataMonoid<eR2E$Bq *A]DataMonoid<eR2E$Bq 5 DataMonoid<eR2E$B[q wjv~xDataMonoid<eR2E$B\m }x<UHCBaseReadr<mt#*JNb"3`{UHCBaseRead<mt#*JmA:IDataMonoid_1smA6cuDataMonoid_2tjf7DataMonoideved62Fӳ!xtDataMonoid<eR2E$B KfDataMonoid<eR2E$Bm  KfDataMonoid<eR2E$Bm V"Ou@DataMonoid<q',B UHC.Base.showsPrec څmMDataMonoidd:%QsHDataMonoidx_1oyǹDataMonoidB^ʞ1DJZ5ׄDataMonoidf&wRwuEFZ5ׄDataMonoidf&wRwuEFUy6 UHCBase showsPrec D;R-3DataMonoidf%vfPDFD;R-3DataMonoidf%vfPDFÏ ‚ UHCBasepackedStringToStringDual ;DataMonoidf,whb#CF;DataMonoidf,whb#CF"X_UHCBase showString GahDataMonoidf*w ]AF GahDataMonoidf*w ]AF.IHUHCBase.|grDataMonoideuG}^?F|grDataMonoideuG}^?FUtUHCBase primGtInt rL3,SUHCBase showParenJkDataMonoid<q',Bf zDataMonoidB^ʞ1DgY79DataMonoid<q',Bh Y@VDataMonoid<q',B Y@VDataMonoid<q',B &apDataMonoid<q',Bi Ճ'bDataMonoidB^ʞ1Dj VR,-8DataMonoid<q',Bk Uj䔪7UHCBaseShow<e,JDSUHCBaseShow<e,Jj AQDI(A{KDDataMonoid@1x4%|DK>+baln&,DataMonoid> ;g\DM..}6FUHCBase+\D}DataMonoidMonoid~?<]j*.B } ;d5DataMonoidMonoid?<]j*.B 'qw49`DataMonoid@1x4%|D>rwqqDataMonoidMonoidA<]j*.B Data.Monoid.memptysTDataMonoidMonoidD<]j*.B sTDataMonoidMonoidD<]j*.B u:dDataMonoidMonoidD<]j*.B DataMonoid@1x4%|D>5DataMonoidMonoidA<]j*.B Data.Monoid.memptyT)K DataMonoidMonoid?<]j*.B ScDataMonoidMonoidE<H= B6lPB hDataMonoid_3HlB V5vDataMonoid_2GlB%>DataMonoid_1Fq#&nODataMonoidkltcL Gq#&nODataMonoidkltcL GDPQ0DataMonoidfv کyFu/DataMonoidMonoid<]j*.Bi|"GDataMonoid@1x4%|D>'lj4BDataMonoidfv:rsF'lj4BDataMonoidfv:rsFsZ?tLUHCBasepackedStringToInteger0\}DataMonoidMonoidA<]j*.B Data.Monoid.mempty\}DataMonoidMonoidA<]j*.B Data.Monoid.mempty{UHCBase fromInteger2lsEDataMonoidMonoid?<]j*.B 2lsEDataMonoidMonoid?<]j*.B yi8DataMonoidMonoid/<}[Ri B Data.Monoid.mappendU\QCDataMonoid@OVsD6)`z:&DataMonoid@qppD:`mMUHCBase&&ZRL(kODataMonoidMonoid.<}[Ri B TqLϠ0DataMonoidMonoid.<}[Ri B iR DataMonoidMonoid1<}[Ri B iR DataMonoidMonoid1<}[Ri B vkt@DataMonoidMonoid1<}[Ri B 6iݟDataMonoidMonoid.<}[Ri B E:~M;\DataMonoidMonoid2<H= B6lkC| DataMonoid_13lkCDataMonoid_35lsC-DataMonoid_24wJ IDataMonoidfcw~F‹\@?UHCBaseTrue&d%=DataMonoidMonoid<}[Ri BnƸ.#DataMonoidMonoid.<}[Ri B nƸ.#DataMonoidMonoid.<}[Ri B FA%>DataMonoidMonoid<>GB Data.Monoid.mappend Ke뾌DataMonoidf _DataMonoidx ṀޞDataMonoidg FfdDataMonoid?[@ DLQbtB?DataMonoidfmw:`FQbtB?DataMonoidfmw:`FzDataMonoidftwFzDataMonoidftwF.oDataMonoidMonoid<>GB Data.Monoid.memptyښ<~DataMonoid?[@ DMDataMonoid4!_aޘ D5˂<XVDataMonoidMonoid<>GB ̾B{ DataMonoid?[@ DC[DataMonoidMonoid<>GB _wVDataMonoidMonoid<>GB _wVDataMonoidMonoid<>GB wM~DataMonoidMonoid<>GB ~QJnDataMonoid?[@ D\DataMonoidMonoid<>GB Su+)RDataMonoidMonoid<H= B6k9ɲ:tDataMonoid_2 k9,DataMonoid_3 k9<DataMonoid_1vjߔDataMonoidk5'% GvjߔDataMonoidk5'% Gc+1>DataMonoidk%; Gc+1>DataMonoidk%; GRo܂DataMonoidfGwhfFOŏ"DataMonoidMonoid<>GB2r}:DataMonoid?[@ Dh';CDataMonoidMonoid<>GB h';CDataMonoidMonoid<>GB