From ba0746fd3c595de959122b5da30fa32af45df586 Mon Sep 17 00:00:00 2001 From: Gav <gavin@parity.io> Date: Sun, 4 Feb 2018 22:29:58 +0100 Subject: [PATCH] Make digest compilation work. --- substrate/client/src/genesis.rs | 10 ++++---- substrate/executor/src/native_executor.rs | 10 ++++---- substrate/executor/src/wasm_executor.rs | 6 ++--- substrate/wasm-runtime/polkadot/src/lib.rs | 10 ++++---- .../polkadot/src/primitives/digest.rs | 4 +-- .../polkadot/src/runtime/system.rs | 24 ++++++++++-------- .../polkadot/src/support/environment.rs | 2 -- .../release/runtime_polkadot.compact.wasm | Bin 69666 -> 71347 bytes .../release/runtime_polkadot.wasm | Bin 69716 -> 71397 bytes 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/substrate/client/src/genesis.rs b/substrate/client/src/genesis.rs index c774ff8601a..cb6f5a6df3a 100644 --- a/substrate/client/src/genesis.rs +++ b/substrate/client/src/genesis.rs @@ -71,7 +71,7 @@ mod tests { let transaction_root = ordered_trie_root(transactions.iter().map(Slicable::to_vec)).0; - let header = Header { + let mut header = Header { parent_hash, number, state_root, @@ -83,16 +83,16 @@ mod tests { let mut overlay = OverlayedChanges::default(); for tx in transactions.iter() { - let _ = execute( + header = Header::from_slice(&execute( backend, &mut overlay, &executor(), "execute_transaction", - &CallData(vec![].join(&number).join(tx)) - ).unwrap(); + &CallData(vec![].join(&header).join(tx)) + ).unwrap()).unwrap(); } - let header = Header::from_slice(&execute( + header = Header::from_slice(&execute( backend, &mut overlay, &executor(), diff --git a/substrate/executor/src/native_executor.rs b/substrate/executor/src/native_executor.rs index 78ae2576035..d45efd9031d 100644 --- a/substrate/executor/src/native_executor.rs +++ b/substrate/executor/src/native_executor.rs @@ -44,7 +44,7 @@ mod tests { use super::*; use runtime_std::TestExternalities; use native_runtime::codec::{KeyedVec, Joiner, Slicable}; - use native_runtime::support::{one, two, StaticHexInto, Hashable}; + use native_runtime::support::{one, two, Hashable}; use native_runtime::primitives::*; use native_runtime::runtime::staking::balance; use primitives::twox_128; @@ -71,7 +71,7 @@ mod tests { twox_128(&one.to_keyed_vec(b"sta:bal:")).to_vec() => vec![68u8, 0, 0, 0, 0, 0, 0, 0] ], }; - let r = NativeExecutor.call(&mut t, BLOATY_CODE, "execute_transaction", &CallData(vec![].join(&1u64).join(&tx()))); + let r = NativeExecutor.call(&mut t, BLOATY_CODE, "execute_transaction", &CallData(vec![].join(&Header::from_block_number(1u64)).join(&tx()))); assert!(r.is_err()); } @@ -82,7 +82,7 @@ mod tests { twox_128(&one.to_keyed_vec(b"sta:bal:")).to_vec() => vec![68u8, 0, 0, 0, 0, 0, 0, 0] ], }; - let r = NativeExecutor.call(&mut t, COMPACT_CODE, "execute_transaction", &CallData(vec![].join(&1u64).join(&tx()))); + let r = NativeExecutor.call(&mut t, COMPACT_CODE, "execute_transaction", &CallData(vec![].join(&Header::from_block_number(1u64)).join(&tx()))); assert!(r.is_err()); } @@ -95,7 +95,7 @@ mod tests { twox_128(&one.to_keyed_vec(b"sta:bal:")).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0] ], }; - let r = NativeExecutor.call(&mut t, COMPACT_CODE, "execute_transaction", &CallData(vec![].join(&1u64).join(&tx()))); + let r = NativeExecutor.call(&mut t, COMPACT_CODE, "execute_transaction", &CallData(vec![].join(&Header::from_block_number(1u64)).join(&tx()))); assert!(r.is_ok()); runtime_std::with_externalities(&mut t, || { @@ -113,7 +113,7 @@ mod tests { twox_128(&one.to_keyed_vec(b"sta:bal:")).to_vec() => vec![111u8, 0, 0, 0, 0, 0, 0, 0] ], }; - let r = NativeExecutor.call(&mut t, BLOATY_CODE, "execute_transaction", &CallData(vec![].join(&1u64).join(&tx()))); + let r = NativeExecutor.call(&mut t, BLOATY_CODE, "execute_transaction", &CallData(vec![].join(&Header::from_block_number(1u64)).join(&tx()))); assert!(r.is_ok()); runtime_std::with_externalities(&mut t, || { diff --git a/substrate/executor/src/wasm_executor.rs b/substrate/executor/src/wasm_executor.rs index a9e8a856476..5ab95c36485 100644 --- a/substrate/executor/src/wasm_executor.rs +++ b/substrate/executor/src/wasm_executor.rs @@ -293,7 +293,7 @@ mod tests { use primitives::{blake2_256, twox_128}; use runtime_std::{self, TestExternalities}; use native_runtime::support::{one, two}; - use native_runtime::primitives::{UncheckedTransaction, AccountID}; + use native_runtime::primitives::{UncheckedTransaction, AccountID, Header}; use native_runtime::codec::{Joiner, KeyedVec}; use native_runtime::runtime::staking::balance; @@ -436,7 +436,7 @@ mod tests { ], }; let foreign_code = include_bytes!("../../wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm"); - let r = WasmExecutor.call(&mut t, &foreign_code[..], "execute_transaction", &CallData(vec![].join(&1u64).join(&tx()))); + let r = WasmExecutor.call(&mut t, &foreign_code[..], "execute_transaction", &CallData(vec![].join(&Header::from_block_number(1u64)).join(&tx()))); assert!(r.is_err()); } @@ -450,7 +450,7 @@ mod tests { ], }; let foreign_code = include_bytes!("../../wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm"); - let r = WasmExecutor.call(&mut t, &foreign_code[..], "execute_transaction", &CallData(vec![].join(&1u64).join(&tx()))); + let r = WasmExecutor.call(&mut t, &foreign_code[..], "execute_transaction", &CallData(vec![].join(&Header::from_block_number(1u64)).join(&tx()))); assert!(r.is_ok()); runtime_std::with_externalities(&mut t, || { diff --git a/substrate/wasm-runtime/polkadot/src/lib.rs b/substrate/wasm-runtime/polkadot/src/lib.rs index 2585c013b00..eefa6e44a87 100644 --- a/substrate/wasm-runtime/polkadot/src/lib.rs +++ b/substrate/wasm-runtime/polkadot/src/lib.rs @@ -38,7 +38,7 @@ pub mod runtime; use runtime_std::prelude::*; use codec::{Slicable, Joiner}; use runtime_std::print; -use primitives::{Block, Header, BlockNumber, UncheckedTransaction}; +use primitives::{Block, Header, UncheckedTransaction}; /// Execute a block, with `input` being the canonical serialisation of the block. Returns the /// empty vector. @@ -49,10 +49,10 @@ pub fn execute_block(input: &[u8]) -> Vec<u8> { /// Execute a given, serialised, transaction. Returns the empty vector. pub fn execute_transaction(input: &[u8]) -> Vec<u8> { - let number = BlockNumber::from_slice(&input[0..8]).unwrap(); - let utx = UncheckedTransaction::from_slice(&input[8..]).unwrap(); - runtime::system::internal::execute_transaction(&utx, Header::from_block_number(number)); - Vec::new() + let header = Header::from_slice(input).unwrap(); + let utx = UncheckedTransaction::from_slice(&input[Header::size_of(input).unwrap()..]).unwrap(); + let header = runtime::system::internal::execute_transaction(&utx, header); + Vec::new().join(&header) } /// Execute a given, serialised, transaction. Returns the empty vector. diff --git a/substrate/wasm-runtime/polkadot/src/primitives/digest.rs b/substrate/wasm-runtime/polkadot/src/primitives/digest.rs index 18107460b07..5ce92774200 100644 --- a/substrate/wasm-runtime/polkadot/src/primitives/digest.rs +++ b/substrate/wasm-runtime/polkadot/src/primitives/digest.rs @@ -18,8 +18,8 @@ use runtime_std::prelude::*; -#[derive(Clone, Default)] -#[cfg_attr(feature = "with-std", derive(PartialEq, Debug))] +#[derive(Clone, Default, PartialEq)] +#[cfg_attr(feature = "with-std", derive(Debug))] /// The digest of a block, useful for light-clients. pub struct Digest { /// All logs that have happened in the block. diff --git a/substrate/wasm-runtime/polkadot/src/runtime/system.rs b/substrate/wasm-runtime/polkadot/src/runtime/system.rs index e6d93e94923..5daf530cb47 100644 --- a/substrate/wasm-runtime/polkadot/src/runtime/system.rs +++ b/substrate/wasm-runtime/polkadot/src/runtime/system.rs @@ -51,11 +51,8 @@ pub mod internal { use super::*; /// Deposits a log and ensures it matches the blocks log data. - pub fn deposit_log(log: &[u8]) { - with_env(|e| { - assert_eq!(log, &e.digest.logs[e.next_log_index][..]); - e.next_log_index += 1; - }); + pub fn deposit_log(log: Vec<u8>) { + with_env(|e| e.digest.logs.push(log)); } /// Actually execute all transitioning for `block`. @@ -63,8 +60,6 @@ pub mod internal { // populate environment from header. with_env(|e| { e.block_number = block.header.number; - mem::swap(&mut e.digest, &mut block.header.digest); - e.next_log_index = 0; }); let ref header = block.header; @@ -104,15 +99,19 @@ pub mod internal { /// Execute a transaction outside of the block execution function. /// This doesn't attempt to validate anything regarding the block. - pub fn execute_transaction(utx: &UncheckedTransaction, mut header: Header) { + pub fn execute_transaction(utx: &UncheckedTransaction, mut header: Header) -> Header { // populate environment from header. with_env(|e| { e.block_number = header.number; - mem::swap(&mut e.digest, &mut header.digest); - e.next_log_index = 0; + mem::swap(&mut header.digest, &mut e.digest); }); super::execute_transaction(utx); + + with_env(|e| { + mem::swap(&mut header.digest, &mut e.digest); + }); + header } /// Finalise the block - it is up the caller to ensure that all header fields are valid @@ -122,6 +121,9 @@ pub mod internal { session::internal::check_rotate_session(); header.state_root = storage_root(); + with_env(|e| { + mem::swap(&mut header.digest, &mut e.digest); + }); post_finalise(&header); @@ -160,7 +162,7 @@ fn execute_transaction(utx: &UncheckedTransaction) { fn final_checks(_block: &Block) { with_env(|e| { - assert_eq!(e.next_log_index, e.digest.logs.len()); + assert!(_block.header.digest == e.digest); }); } diff --git a/substrate/wasm-runtime/polkadot/src/support/environment.rs b/substrate/wasm-runtime/polkadot/src/support/environment.rs index 7670a4801f2..3f652530a2b 100644 --- a/substrate/wasm-runtime/polkadot/src/support/environment.rs +++ b/substrate/wasm-runtime/polkadot/src/support/environment.rs @@ -30,8 +30,6 @@ pub struct Environment { pub block_number: BlockNumber, /// The current block digest. pub digest: Digest, - /// The number of log items in this block that have been accounted for so far. - pub next_log_index: usize, } /// Do something with the environment and return its value. Keep the function short. diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm index e422068474f03a8d8b572bc08de121267e5ad904..c1b383b49ecabb9b591677c90db2cd2d68d63a4f 100644 GIT binary patch delta 18006 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 Z?r6*4?;;36PqqwNQC80TTgmw9{~yBHEN}n- delta 16496 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 diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm index a9e9ae312077b790126526019e7b826f071ab3a1..10c2c86ab173dbdce099090ace6b7f4a2a98ca8e 100644 GIT binary patch delta 18189 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 delta 16545 zcmbVz3w%}8neSd}pOc((_Bkh;B;@^Ad-FOW2?2xzLey*o<P|}yj?T~D6ogng1W1#h zIHD)@qC+jMv8y)RmMY_*pz?@DtIp+jZ)|OgN^h~nslS$~(V-nW)oEr1TiVf?`~TM3 z`<#Q?@!nfYzP-M+*0;Xb`qsA|=a)x9r}u}3{>(O5W}U(AUdJ<c8~BrX`g51E@X{qw z9+gkAnx;69M#JH7l=EmJ7UQ90h!^31j3r{>L^vGcu~;$|3bS4oi^+dw(=ufRTe`Pw z=)J=zS07t?jfz5Gwrsnt+o&W|fA@e<Rj_4!PtUduMs?_xzV2?LCegj4d&BmD?$6!~ z>}JC&3CaU~>$mo=-!QOg+g4+7@|I0o*Y|Ad51L&O?c2Wfvjg4z1O3L5sLc$|D7IqP zxOL9-+WKkBmd5V=Cv(Ze@*r<yt<NOdm^C{sgm=8wi`bWr&IsKcX7lC!(N5MTUyC}d zT)r3GfbXkgzsBE1RuBFjvTk9MWl_8m-wp9Pv{@ei68jj*3&JNkH!SZfxfzXrT~d$6 z(b6rECd2Yh*4Q)UAInd$OXPPe-f{>P5>dO+utWhM$|5Q_m4OG8->qB*-eOf<Aaz64 zPSGYpqELiV+;9uht=vGjc#7L@C@sRG&@Pwfs~$qr`>Vf!ztd_`82hT4d+_~wO%1;P zxn>aG+iLsU+tAY#1w^PY?Q$YjC?c9JNSStd6%|8HSTMo7NZK_~37*<yO&yV1Sm()B z_a;_1D&5~RzSog^rtTt8Jnbt0qmNE&;8gtKj2)~_E=zrjO_66)jcm%O-7r7Irpjf_ zPqAkCugy)Yd9;4kamK{xnU)7k)*yQ>`4(#!jm=B)NCPx+x&TTOtv_Y&$_uT3;HT>3 zzqKtO(7fPF{6wAn+XV{<oL?}HzfdP<E_}5vMXKiZOn~EDX_PR*rz~#o!zlN*F9yXE z?aT08wCFijCcn3+AKwc*mI9yYSd#Z$CdH+*z|)#b*E1JnMO?&`wPGSf)_Q=kP=<H% zPR~g3iAuS#cTu4*JfoFQm5=n65$gHg)adpXw?tUU=s&zPpU)>7r+izVAjJ~mT<{SR z1p$JoftYF`$3MI!qrFDelL=LIfhMq@F*D;~U|7zxH@l%$9ugt%yzq8adj<C8<T(+? zR1V~D)PTdd;2;z7;%N_MJEW`Qo*_)nTvhFuyp!68mL`Zf(^`nKDU2=@Ly%DszEry; zD1tuRMcDC+`hXbtk-vF%5T4WX+}s3B1j91a|DTip^6VUW=DB6ME~F;Ojo<!4esR+C z!ze!Syki}xRd!X4-gy2oVDEgvDW0gYXFz}Xl}BILh004_bTWQrcFgzUye`A;4)io` zY<BBOQT3!K6%{TQ^`t0Hz;NnN14Ri1j1B^ej80uztV_!@SWckbSgFA(Q3u`DXS|NI zodoKnk;X(4^$o@nSF~{hs3wKc1*+(viq)cC05s`(8$blMQ5*@VlPlZQz!qRp*`^M* zL9s?KGEKcVDGf{3d&TLDL!y<WF_r7R(zH_mFgfiM0+gkl2taw-i2_uloftr6+OYtt z(oP(pI_)F?YSIpgP@8s&0P4~Xu~naTCJE-$nWT(Rn$$ug7vQT^eZ>gZpg!SVesvOG z?F#3&Dhd$tA8#MXK-N4nkmv|LC1i(Ml2wpZ$Q(BTbU-g@cXB`(#e%e37L1N!EbW%( z)yC6qMP4zPb}RFEA<K4T(q2*8E!Jo*Fy_VPb4&HOV5$m|U1UhNn(PJ@{1>J?11He) zOo?+7Y+0*pS<9it6h~xScSm)(NQ*jug%Wwf%SZ2Mv^#{)UY%x7{^E|B`ak74n2De| zRo47vMJ7+L7rVD$+P#%N0|k8tocb2}K7DHAp2&T^N}pLvlJ;H;Fv{^SR-C9`O7@DR zKdQA)*O`FI?6}rXNPh5_mDhncXEFu^V@??$xN^z?!ID#<8F64*-!=2(CTA)pXDT7J z7=beh^y!e>?rhF<2;U{RK$D9_aH|xCXjFex3b*F}P7W1f)!;OZOO)wLe9;hMr>Pi= za*3!@^El@Qd2Gw;c9I)h%&B~E=bvx`Lj`2W8<Hn?PA?cYkUE6qy2DrVleMxoT`pfe zd>w!1M)~4hf?sHqKfminfYH{ww{q4t`q<#zOvmII_bj36E%#hW3;eh5S;Y86qx`r3 zwlN9?tJLRm`4_vsdr_%+^oo0j%+Pp~-8uTx-7_dr`0D*T*^1G-?k{6B{6k-Qo4}4e zFY+@2;4=C7FH8P%tt|M;FA2Q&l`Ggv$@XmLr>W36$r3HzIhGeBMt}dnbT(T3;FCPG zZwiKaMPA7>NMBmKQ%2fvoT7Y2_0wq2N9<)EX)&e{KnE=_6uJPd5luOQUMlT0iJ9KI zv^z6_oS@cY6c%d|EY9TvUw2rSeEREm@OOo58ve7<dxxJer-a1pgKndjS)B-b%xS{E zW|+E>mexi)>^3h=6pmi~&F&CumCrx&+ngdtkL+K@^NN3bw2sAzGh6HZQrUXot-Si0 z$097R*!Xz)N1CrYc=l>v64=g94qA}AFvk#p=NKeup)fnfge`zmD$s#TwHRY?UqiXC z0U6Ne-O(*i+`tyiL2DbTaP2Fhl{{<xsZm5zFpB)mV>9G`K4r5x(mp)5Dt|f0;-0sR z%Z=Sr`FN$gzk4cjwPW2C{7kKUrF&-R**d#HdYv7aswyxs#?wef#tbq(N+#(GxGZK6 zX|uxTFscpkS<G&w<v}xt!8dvVpKYTl=eN1;<D?Oy&@G>|?nVJMVDaO<kT2vqjb82j z$ox!^NG?mLwVp%G%~*qy-rQwyq5KN|2^G*qDD5DV^h{ODgKk{*FI`|32`-N=t!1-E zPcFTNBX_D_-h#htmaoF!Z!T}e-ybUsUqSe}E2bx*S28vP@#bOkam$KXn0OW(1Go?c znIa3a>D<(75Ji-$VrNsNa$8g=1o+n3ufVoLr^OmJ=<>HXH}lf9*_+)0Q0B-&X(GY- z=#!?9i76zPZ=YF5n;UFxDqL)2z(oZ%G$`6>%5=fz(Dtjb3wme!HI_~Z@8c|-kwvQ) z(w=GM0RDbs<+b(C{MW<E_U#KkeV{dSO}h>0GHssRF!W9vEyazI26wE*P|IrAQ=Y1f z)-FHTzMxQZc0t<P%cWSI0#7SeZ^PdgSHE(}7pr+9Pa%Wh&2Ca_ge44bqRug}@-a&! zy&*WSA((xY^nOs05y=$a%Scm6Z!ZQ^^>AdG9!YOM+*;wY82Fw-YlJ<^#a1(tVA%X5 z8_Y<XX^S{5h0M!Pwx^q-Yyd6NZWJPuwDAVB0!d@syP<~Ym8J=g_E8in(r&^pf+$SX zYE+1%C~7nJn<62wjZq|$G~j-dMnu%1&T(%lB_~8)#O2^kr51P-u0g`Z<s&yO$i$Jd zqPs$19DE`_rq;AI%7ANVOh8{EuJdLR$t_x|lyeAip=fbtr+pbQH4?&{0X!5!Y)pD* z5FCi_#RjE%x@@Q2SbjN@&bXG3AaEvxhG2XzC%DMir(mn`uwQ=EhX)jFHy-!lK~CmF zAD9bUh^&f%YB2V5w@9-9Gm|0WP#m#Dm6^S&7HTAQ@*zgkgm;1jHMRjs4nf(7CsqV5 zL4rj^qJjIeVOS5cB}D8Z6vm1PD?nj52-wDzaPT4`Vr4`$s3*@NDv>N<mZL|V_wqJQ zj4Ia9Ih3QVxy9jwi1_5<f(3-BFT4W6q3;XYEMXB+)fqAk;V^K4FoP}%1@<}I(if7b z46!!;0#0H?*vBSBf&Uc~Jip}&T2P$R_}D)oRVFJ|PMS{@BE=7fD0`r(3vW?!!CSsY z@}c~71s56L@ZmlM+l_~P_=pep17;{Q|7#!ds1N_fhX;K4m=7QK;XxlB^5GLceA0(c z`S7q0kNEJY503$o3`-L%V+l3kbPP&jGJ3);P<{rhP_sei;$#VuVI{@v^ez}ZX&a82 zf+ZZRRE~)#hGPhaliQ~FSjdff@gCRkth857E^B!4EiON@*u2jzS}b-SOhiP{K{r9G zLbOLDuo_@lh|#7vN@0KrYz`7cRG5xob_#}JvGFyqDk82#RA9pVL1?1DVgQ2)AE&Gi zPKWam@S9LM4QNEcU>L9f)Z_B)Yf3T&M;7yd5sMfxh><wd5O%{$6AADU{6`CdK!y}r z<|e?Hsh8!rXAZb=Z%5iQZ^K4Btat?5;F9<u4jsrqjft%tnD9ujJcccN%wrka(I*m! zkKheBK<3LyVbqCb2agK2S&;$SjjvIffp7`IRwO_|p!<Mp;lo-}?OG&6gcQgGoPJq? z3(F1*V5lgpu4=m+I*iyEQ$*cJg2$s4G#!Vg$&b<2jUcPVmxBtN4W&g4Ar~u7LJ6bR zix9Mm)>;@aj^^a>I-(ehm>({gA1;|6E?IuKR1S}LiH_~YAs;^B!zX?Cln)R4@Q4qO z`tX<!M|}9S51;Yjs1Kj@;d4IxHWwK+@berp;v^PqP{^igKO(}@8~6w!9R(&oBI2`w zAIih2AWl(D<ET0t9QC@Bi+(DABd0NRAj0adFj%xN3T+f1&rr6c=0HR*b_Fya!n7cw z6Y^4jHNXTVe-5UkUQUznJ4{ZR9m-;ur+W6-tKgHUP}tq_H`hh~e2u*}ND~U-q7WzQ zCkH4ABH_ZUA7C{^d8%534`CJ7q-lNofU-u!J^1;R<aQMH;Ou&hFZlmm-a&XDRx)@J zDgR;mY*n9+=CB8HpO4cgoonQr@L&$5)<jAmf;La&>YmJfK9&1CoclbI`#hTaJeK<; z>R1AefcVq7s%LVaqnX_Iv$@aba-ZMMeLkQ2B%e$`EZ-*)oPxD2=aSjwRiR))iqXUt zPHwVGW^Q>4R_&bE`D=C_ZJnRwT$lVhyKr}q`%w#8A1En|r0v!4LQXzvDj!u#0-gUP zX<I>Flu&6bf--y&&heicYvjcB#SWH<<LWRpNa~<V<#a>~mA3rh_4DWYNvOghKR^RN z1@xC9*C(z#T`?s8$Bpfn;JegHrTY!4Z*=s?PX@!Z+gZ%8-?7z6bccVw?VYbv=hb_v z3D}De<Mz}CpXf-6#nGr*agqcm)&UQNv?2`P>)qN`ehAr7#xq;_0m|o+9uibPI-ajY zGs>OFq#&eja;OOixAGCHc@{Mqts3pAvguakfa2ofEjG^My{U@bfc?KRdC1>tWGHbS zH#fUswb#(giSSib*oF1Mz?m3Mm%|hk)bfe=up^Cgs&KP$n9*jFqjCaEfNFwfv<`&5 zbJ&Y0e1Oq7RdNgjlrZf(u)tvBM0)@fD{!_Q_CmB>KuI73VKHts1V9beRhSefdpND2 z=n>BD6~YwCG>*Dqfks=bt?;Z693)IgwK>rDCWIpYGwfApk;%CnEv#X)6G-qt{zEQ7 z1gUixW}sU$Zvaz=PC(Es>&y5?))I8V!b|}f9%MkXSr0;-wLC19YBQX5oQ(C&1P|x! z`-VcB>Ee!JJI2Y|_i=3i5NM&XDb*qdxi<(!t4d$d+}n#ypTY+ilz>wuH`f7nvNH(o zsD=7=5LjgF)TO(1=^m!xE(P0-`+WFUKHTlYFZ%F)AAZS)dwlq1AAZG$5BP8><9|Hp z!>{^K`Vd(%*lIT(@*%QiRURe?k3`_pvLU<z)qwPx7GsUWE&-nn#_l{ELLV++8w^~T zQo9U&@4z<4Bzl;(pi_{IX&MDG;cVQ~C>22Uo&-cd0|eUm1$>b?=uRlR)zFxifeE%D z8iNRlpqx>AGDYD6(gUO*s@7huMeynAIi&>F_`t9*9KQg$7qd2Vf>eU?ZqT6eV8D%m zAl#-r2ACA;am!4KN%1{QZSoCFFZ4a6f*(yT18M-`Kpvu$5c~5GbnxQs%R|Ho0h8#I zK$Ah<qH${5u5rlAHIAZqMonBU3eZcj4&x{mAqcW#p@3q0kW-dHcA^%$AOylHl>k2g zj+&AI8q6KYnK1&U1?3>PyKe&_`osbp!6=ZANKk{qOdG`2$qJE2g)$)QTaY*Qg^R}i zfK#+oV*~E;#}3r3uHTi$)o~RKN}~CL!aH0w`eCNDk<qF@k*7zcdeS4j2uy3GDfN%# zwNmP*R`9HBD`kQg@>*r}-;ryi^grS^!j2lZ(n>d<s_;Ca^A(=cG`U$;(|JNe(^}}0 zT4*ivIbuQE-}kq(d7LYO$MX<M;4^s$CG4Ad2qo<4JcN?;R2Jcz8D~WF!a@O>|KtgD za1^)}%nMIY<^@#dMXfS#Hn5U^LHFb)b}5nAYa(Ugv<xEdqrBgA8BIFqg9c!37{?uI zu7(LQ!RT=Z9Q-l_Vctooed@GREjB2fXIO2>E^05TM^i~nkjAJSsUXOaI(S|hQ$Pz= z=!h_nEEf0eatc8oTU8iZuS(n-Qm4405P1zPMDou!i0bSCqc>RN#cdp_K|10P$BYkc zSW-Py<CQ4v5Uuq1uMirby}dUg&u^HIE2WtmTiG<dup#BJ;P7A{{p&1S&15P86|#l8 zq#AUBODgud6i3$ZAxD1x$Rh+EI67NyJyt5OKibAesQ4I1>(*mkp_OfBul(@XT)x|p zb4C`(l}9c4AIIiUt2rYJ%lA4s`ifhk%$tC9viDb`nUN+II@E}3q+?G{R}WZzI(i!S z5r>~$BH!x$8FgRZ*Hutx*~{Yv@>t*1bZfP~?-72MK$l$8e+|ct&-%U<F<e>3P0Mb# zm&@Pve}=BgfR$exm^67dod++V?G=uuQoO_A-q&Wzza3~)uR<dJad-d`=Ts&Tz`YKo zXiqbBD$YCYS@Oo09}6S1e575P-<yp?;(6cu1OCqX{_Xht`1gBSCJP%WG{dPE;21;D zUI2sPC>EZ_oFuFc{BfNm!16dOo>dHF5}sg_ZJD>vg+_M$;LA)7rb1C~9^D^!mw#SX zzOn@GqTcz@OvYv66t4H=)34OaYfnu#lekT|>r{0^a3Dvd5O3%_t|)sRr%{+2$f4y+ zr)uPlucqWnub0TRuZ85^S35dG*>gV}FJ!kL!2zW$>;_(eB^l|Tf9^-OAi-&$CR!qA zyjJEDEi5L}lC%PkA^<8JCfA%;Rm2e6Y!BCdIAx`7(YKoATd&#mDR`wx4daQ1_)H6J z-qh}*pNWjdPd>)Vj=N-#kJWwehc-{0(RJLb?@E;TO=y2dr^2KXA_tX(<cH8<NTyCT z%`meWgyM**bJA%PX-wXEs(wZwYF4*}+1w$kTfEYNZkK@iWl%)T>m8jqTlaMt&Yr{? z*+bVnt>$!@qpQi4$fsT}YYOrj)#U}`Nt7DS=t`7ghi3@f(A(r`a39>u%J*Kcs7Dsy zn))e$?LCY_k<Q0$?@<&A<@k^17sGSVPul{6VN)Tm`tgc3BBt-qD4r5UvddZoKY-<k zsWx<KR^T*EU8(ql3*}v>r^v}ash6!k@u~~qFu08%LtyP>-f6fsbr(*N{OV6uvLgBS zKUuM$h+4hL9GU~Dtf7bqH?TzUVz^heQ>?q=?iGxDgv2Ct&hn0p)_x|RIek-knJ7Wu zLa%UDwOcGE@5C#T;u{j>qto8FmbFY1$-v2`$7fiyTPTMfu{pv0YFDBH`bee>=3!wl zRwOFrp}+gNTZ!cYIyUU9iN$zgYJ3_xdf10m;=Yz@<mwY$uD8F@gU~)lflFuvW;QkR z-o8Y(yqPek#HY&3-@Ks+=X#S5Iyk$-wOm)CTt5EhuVybm4+xv5u|dQQ8hMAq?1f}# zQvPx@BMTd{?TxFNy|W^3Y~QA|5XLdATb%QMpdxb8&sr*?U>&3y%;iv4l$5oTh#K;r z-<V@UUg`ebBKg06R-3G+jhPl)#2xvEpKV?OjbYh<nq2JQRzqnx2f!8(=Z`#L(#Cd< zV;~%Z!-}*$PXX{k%O)&Ffgl`*W`Ev_konfnN2(`d_jo650Fo;bWiS9;;K2Z}RJnZe z%p%S$`KvQu&V0<D)ixBqsQei|NRMW0N{`*bpzt^f1^Rr)Chte|(z6=xj&R<MgD3C8 zCt1yf!pV@NLOhHl70OrszLP~|>=)IQZ6pPeLPo*d1mZiLVA&!eFZ;#ZXrdMIU6t<m zMa?zPG5LH#3r+{nicg<+pKG7rk8t`)3?@Yc0kb8OP;YcVTFn@hpTIfbp*VVkK5a8T z+46R&fao32KxD6e^%@tvh&(Vw9YY+~;Isxfaq};b4O$QpsC6fQp}Y)xW{o)S!eT`> zJ^I|GyAC!fdN8M2O7-okhp?(%PbL8y<@;~VWrj?R*D_Ns8=q!kpMbbok_?L?FO1DR zT~`WIJ}_R1W$uabRPy3kA>YD-glkSLFNULPLt!le4L!$pvM1&Ld|S-Dj9%5!%R+i< z>o9?H`c}R`L}(i}8>QLE3O&k>QI9gx1Uc!Q`)))Fdd)(n$1M^i4~3MQMzA;#4v&IW zQT3v#wK#@Gvw5`rxR#EjTX`t}YHZa>z1O7uj+}U>@p=pjB1qJ-MC?2wrL=z{A^`I= z5zVPSLm_6>$q8N(`}-I5l6bc4|A+rxJUfrjJVi*pU0)if6B;EZo~L31UnZ|TyD#H2 zU7E*q-gwB<lzx!7;Div;Q1DSB^&<F_9t~m(o{UaZYSpE74LS(48_++2%QfiKz*8V& zEY`&<G+3g+QVo`AaHR&zHCUm+N)1+Nuv&vI4X)B)4ZIc1!oEmxwJnhb0MlSBr$`9Y z6rBp-a;3rOBplrr8Vgh{ea&v;Yi04TW@py6ahrqn6d$0aNli2*@&Akb*llQblKwbu zRP#akFmgU!QsYt$*#@8&efWei`kh}zSUnE!${<$EOZDJF81JJht8lqfL#G4uSW5o- zA6I{Bn`_Ul`Ls5p-#J&$t1(zal+qyd?h2oI1AXvMCmht5f|&@IajQOwozY+ZW;4UP zm8;*I#mYwq-+PG)i+|gUzrDZxW(E2in!XduCq6o5;w~msts%;lsEP|5bmp-zI`%KC z%_(SAqxQHp-YJ~zs5fR%2Tl(ZS}CRFefmMbn)m0|p>+uqSS?D^{yUyZFVjyWsD_We z-+_j2y}zv-4J$QkBx8<L_wSavs4E4LpeNq5Dl=5(H9Psc+lhaiF%S`$3OceYkpxB1 zD6rLr-(OMLB}x&IO1;Tz5|iU)7P!NP6-V%0@_+sQ3F3k-8b4;`%!Nw=^`I8ywR+0( z)gym=;R|>f1Oj>d`9nhhClY6PDHiki8eD%@SeCahMT4mbu0EOiJe-1m>CfZTK!5H@ zVJO{JeP$a3ZO^7exnS2R66oinF>IOTfn-^ZB$`nx1n}TxQkhyW(5uvMbuy(^lEW!_ zK5nPvj6YtZ4P<E57<oz^`s4eoY4pB-A0=07|F98%Z~5@f>OB^ZXL$Dg`A}i-eusBT z`<CjJG0OTF&Y_H3y?60WD27DLO;9?M^hR(Pz#wgle^DMru4m$f3f_KsIMC27=px`< zI$Xz2t|p_m^hsI+&Y?NIt{DgP#=~@Dp!=!jxaLlJ6JeDUne<S`z$OV-F7V%^cOI?J zssnqpK`2&u9}`xO7CeJ)#Botfw~EB4YUpKxUKmeTWa%KxXf|{ch=`n1#5Us&9~!`8 zAA$GV1u3LDah$Wes;I81C*gLQuSyi-=wauYL<vTYff82I5nOmI#?z!jxKqa>i)RE~ z8K_c^GN0mxV$H*6p%-zYW+w*Wbngv7<6hpCz>5yAlTxu%7w)4H-Y^nz#ZU}02<KB) z%Gl(+2fN^x6Lf7JUy-2Oa<&SW{aSDwiQv`)*EA$?hIB#C<LHr<`lQXX(lu$e(EBcF z)tjr{ImGpoJjJgj5cDK#&BNU;WpyM4`l_CgGU>fp5NOgLhg^Yc%5*V&0muBRRY2`I zg+MFa21zuxI1ZPB;Wa^Y3p!|fqMP3#a0@gHn&j-OB*K8c{KRS=U)mU|4Tgl_@MOfq z3jpe1rtP^JVhth(RMm$}dOQ$_3911(%~ei}PvR<*bvw;g6mf>mqd?DRj11Y1tRW7! z0G2eJl>h?6OYyz}(~z>G1oW+3ki|n5sVqiIu%d|A8AW4<o1IFP{>_j)`f@yj&69G+ z-E?uRp2aGumnP`vUnWQ)tAYDQ=nI#lhfN0uFHRI;Q9r%#aij#TW?W?HNrQ_g^b^>a zwwcHU1g@^)Aciwg93ldNQy!7*P(t|~ybmyaZCdQ<(G6C5w4;GE2Vh-4rlh-7oU1ro z?ti%<L)$3~rOyR%Jz0o@YP{~mbXC7k^2VSVm7F)g_w_5!gi6w(E|p_LX)2VSqpV#w zh^YpMZdsV$F_!I!`Up~a9Lgd~zv|X1bEOmd>ZXPCApG%L)m!mJo4VMQ@{5~NE$wuh zW`Z5fpSN!&h3mH&=NU5_amVnB9~{(%?3HqS(;_+{tWDnt0=K7Y%a;=YdNk}47-=K| zPsyj!)oh{sL3$}YflqF}Iq!M(?VDGc^(WL0BhViGPzsOxK?Q16kKf0)UdH%fvlP9~ zl)ZX4GNQpb1!#|I9h`HJ;en488XN8Xk9XtOjaORs`kub-^&9UHH*f3f+je{RM%?sO zS|Nk}=bf*#DmoK}fq-K40>%Lc0hy}ZQ)OZQXBc%T{SE$M2=v)MToh+hGGkR%^ZNe& z?mqfSrMPANrk?JN?P6W3r~8%xap|R^Z`0>)9cWk=6M`_P!MIgcd|gvaS1HV3wZ%}e ztJ*4PU%!3e)^-EO#8$-!25rPx<A9R@*MOhNYVeV2t8oK<^4a}R1+H1ftB3#EWRo`! z)>!fEFF0q-nq_!HHCD;SZg96r{myfvP`?L7#Yl}+)t6t9_ruVB)Ss-eDteQ8*df3Y z4EriKjHnuZqGouclugbI)mkMzn{HOWJ#Fb*fBR=|>)tS{uiwCR_{Y1)(Y;c2KVEA^ z`Ulpx-@d5_lD=GP6;i3cw;SX7h3>xfhIiU8^mK19yfd|y-CIQcVIx3LD}))|t+kd9 zH*vN+V|dTv;Cn5qNLNq8N?~g2ovO1YfyoWq`np>n^7ftq#o|Pr#oGmJUkBUUhEapI z6X;A<UV(qw%6saq3LCXk^J+hntv!I+G4#RGYLo_@H)N~F>WAO4STn01w&5yF49|<R z27teaGm$wXwAfqwA@*6nK)>Pj-t`N&tw-U!u*{zBtq3s!O6%@#zimA!ZO}n)lvLI3 zpwNR3Lw;e?R=D_H2MmIJ@}ddAoEMQny%E3d)*cKn<~%fsweSf?Ia6krYgLS+)l4)T z10=mXh=0&KdhT<<%^m&iTeocmHwVym2yJGeDrmbm+x9qWdr?~t%<N(f2k@;me3~f1 z{5LB~XVA72ZKq}O8sCF&HB-Iwu4UV(c7a(4PNo22-b{g%AgrVW%t=YL`=<B<D8(H> z+aa`>fvSL+ZhUKIj-z%hYFmwYx$0Z9)u&NC0qS$|I&aF>PD~kgirM_o$W*I-_(wJ? z8}2P;7C$w0_^x8s&WENAzgWx~`PekA=V?mMd}#XcOJ!_o2nLuwe0>RSs3)cmf1!j; z;X^ZqmrrJM`PdBdAD55M7~Vgb&C2XaS@vM57XBbcM=C>N=3$QlF<W5|13Q7X7c1;| z9=1KJ#*-<89JHmGa0(FrH(o)=LG%IrvjKh5?t|!5tI&fD)|BDdC9KBk-`1yR)=0zf zy=BM)Pc;nJhgk)mXiyS18@QdZ!tEQjZG^|~n+ZcBm@NdAK|pejL-<#qsE*AXej~vy zGaK_X8SiMc3I{fAp&4L!hZ^;C*t%l?4mi@7qjt)twmD1fRF=%nB(pLTp!2zHx3#bD z?V}??UFhxGhFR4F=P1|CajMMM8pvqp+l$(DsBHiysJ$XvJA&HTsBO-xU6!pqfm#E# zm`%&Gohi&{(&J55M6=WjY0eQF7``o!R9Cj`V6(-rx(ziCUsA*t@l(yiy+v#~ADlJ3 fw}{Q+BeRB26tOvceAe*47qMnO)G|ENW)1%b#yM)8 -- GitLab