/** * Helper functions for interacting with the Store API. * * This file is autoloaded via composer.json. */ use Automattic\WooCommerce\StoreApi\StoreApi; use Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema; if ( ! function_exists( 'woocommerce_store_api_register_endpoint_data' ) ) { /** * Register endpoint data under a specified namespace. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_endpoint_data() * * @param array $args Args to pass to register_endpoint_data. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_endpoint_data( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_endpoint_data( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_update_callback' ) ) { /** * Add callback functions that can be executed by the cart/extensions endpoint. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_update_callback() * * @param array $args Args to pass to register_update_callback. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_update_callback( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_update_callback( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_register_payment_requirements' ) ) { /** * Registers and validates payment requirements callbacks. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::register_payment_requirements() * * @param array $args Args to pass to register_payment_requirements. * @returns boolean|\WP_Error True on success, WP_Error on fail. */ function woocommerce_store_api_register_payment_requirements( $args ) { try { $extend = StoreApi::container()->get( ExtendSchema::class ); $extend->register_payment_requirements( $args ); } catch ( \Exception $error ) { return new \WP_Error( 'error', $error->getMessage() ); } return true; } } if ( ! function_exists( 'woocommerce_store_api_get_formatter' ) ) { /** * Returns a formatter instance. * * @see Automattic\WooCommerce\StoreApi\Schemas\ExtendSchema::get_formatter() * * @param string $name Formatter name. * @return Automattic\WooCommerce\StoreApi\Formatters\FormatterInterface */ function woocommerce_store_api_get_formatter( $name ) { return StoreApi::container()->get( ExtendSchema::class )->get_formatter( $name ); } } ےF |-=DlQ+JVgY-EjtOG[o6cf"7d3 @}71 [" UYYYYy[X,ǏeCeǏy kƂGGe+ir _QŰq]8v4;cq9\3ˏu3#QqyŘ|rTE7ӹ?m`ڼxͶl9ˏ_G75^.7lnDhpsf9^@>9pc@> fC'8AiILn:N&̏֙N4vFx T HS?4?Ğ4"Tny /hV:u_{Q8^8$U@"ɱ*_`@r}\ƊՒTZ }XHn plX›1<ײ*_ldٳ\\O uZdbvpgxO(Jѓ6<YgZ+Ț"%iˑߪNa^GBb#4ϲ>o(3 g'䔴V 8VQW8 Z htG;NE!L+ w?~̧ХH_ |Gl'7d#3Gʀol(yui3x2^7u}eݥ0Sù&s)T3[e8o@*%: ȽF"tzGsyy tqQX;+]X͵jB&%t!+ӄ1iAh 0Ѓ)8XWgv^RfoCVꬭ:k={[[m*{PLE`})c-c'Wgl<ZEUI?П:>s{aݡv; 7g֤;ψ8T ުa0w5^W2 Tָ\u"Z"DIݞX`[._1'U6/v@.6#Qkij۷LǬ:{NgޮXXma {5j=Ho;a+Uﴆv@ V:2t_oed~R7BEvQ:zomMt*]k& z{{K`$qNszSW3::pb ${ 2l itw7Tۼdh:`aAG:ȴ7OX|' =gLe>W3I@V}ٚG8뾌Id)U+'a67a:.^cFUggQp ulEPb}tU6++NU,?ίUQbbJr2)Z Y.կG|&e4e<${"fԪiR/Į[]/p7> LK;u ne){/BZ%?p~JJ$ܩH |:G (a@jW/W¤ራ\lu2y+n Z>^ 0`Z@Jvo18tg8xXUV;MY3ޤ {6,At)#̕H,/<5 D. ٳ<ۨj[2Y8X!0h[!rGZc"f .^st0s'tƎDv<8+=|<2P&AðYRrb蕝1IT|H?rey7t3D'ujGߍ63ՉhNw,a]OARgat8!D; T_ƶw lu(f9a꥝8Baa!DG>&$9ꠒ6sæ6H?QRq4aW32'lNu qH0+9!dcY?w5r^Km y>rXL3K*270{MQ}W0[GqMwN oFG_;nm#(utG@~oоGr"8ҽK ~n»~w #8u.ϑ=. f3ܻG]*]9-E}qL)[$_CtUCcʔС<XvNo'bct.t> ]*JT2Jd/-=y M??>kuhQx|Y&˅tOyK)Rf"bXC8{IfS̛:䅖#c̃Gxm6d|ibFFcX9ܵKsL1qb^kU鶽%%&b'! =~RǯiVc9DUcDԠe2,7pQƁp.,6mcpchKhY9~y|.EboGs.strSRMdl@C1eßz!UcPp)l_8^)sCo9'g Hk>.\α(a&p:P/ID:^g8 65/WCsc+rc"f>^nBL' Yn쏡(I21+~owȞ {^S{<ɲKݗ{o!3<2 ]/"< w6$S״ٵR2WLx3l?9+ˬ"NcnUd*\p5vդ_aUQ+Ӟvm ~2-?Di}.7hτY| ´Ŝ> +嵧ޏ5u~k.Ɨ!,ܒ?ַ%c+2`teLp;mq6Sx;-2dTp̊}/ ʸȊHG〳3R6a#G#w.'ĹTN#$n4TfF, d(r=EnH&Gijo9̰E3SLLŪyOų,?-\y"-f xZjAkZ`ѣkSt$=z\7}AFطښ{%FpLII爹;Ǐ:0f2.cc@D+K.$70k%'*{؇ w7 ٔ؈n1WC׋ȵɤS3XG,FGFKFtr*ײ,: v s(sfmv;};#QJ !Qhu.lΠH|PK_TP3ol:K?æ)?tHy,xMf6#>>̙+ E ˱M4lrɆóU ēT9GC9afc<#G:Ǫq;ӻ;)Sט='4 [،S+f:a3v$5aV `N_j c펭mոb_'-W5/WV/..IlgPm*hv{^w+p#^]Pa!/ ܋HXnlRgM6'gΌsgΎ^{_닧/~dZ( ;>7IxcEqu#MibT}>̍A)gÂHLUl*h:SRr[#JB'q"l$h"KKzSNbH1r_,fKKY(^ )f֙I<0̬X:0'y͌eVbZ9֬0jFfWy#j/ZLn ]l j:Fb;wA/sf|O pK<yH{ݭYDU-0D(@1F0E.,`d#>RU@ybr`_UZ%cWm6znӦ}Pj/JpjDJ4Aoz;fZ!W5ZMLWQ9FdnP·AѽFP'j Dv\_@0WEUDu={T{-kx@HA<.N:CaSa<.]P #e!x5㜷 g"`ɚ W3Ч5>\]-]N&C3V%@rQVna:Y~9{bTk$w6b#Gb6Ppc2R j5`t 9\oVK@ԬcȅVjF?rSRƺK VuVeWfo`|&TPaq""(cĊ{b>ng2;[VI@d_cPkBy~q+ pH:ږ65X&Qn(o4yFrĪ4>=> P)=ufzKǕ$-KMoRơc gF  u?Œ=#} MtS#(7f 'пڡ?ѡl:+3~sG?}29l/\Q엻FzE{W !wp0`α r,uEčPƖc3X"X@nxʮl}cJLxF1#/Unȗ\|pF1%%ޟ0~Gl͠g!Cvwh6}Wtѧ̘̳8}q<3_}&gd5P,abh7?Ʃ0cJ ,''0O IH]%%V G8"%:f4dC qwτM#dDBD`@.IL]Şy?1uό02r4px>ՁԹہI%pep y 9F 88K61vxcQRh^ ,@BU14b &]&I-Ƨ_V8w:x3e-sgi0~;6ٗmIL$b4`cx\ӯsz4c6?di9D_Znת o`0ӥ>7 C/ ׉ܜ.frZ`u~VaD -Ā!BPh2+;M+QSBa+E/'A|B@SA>Ȼ@nZ"ayohS (<9ާTmaE ؀V  ]<[8N9&qb( <޺!oXZGA/%IvYA4w˜CSN#Q *쫶/1n]Y]i3l}1Sj3sBgWХUBj9-Ιz$Xj)Tft )3& sݧ_qZf=>u˥(J*ZND @S{qnHqKcҥ9*^HAXs:{2Ci|_%sZ†>@rA(1ӯee| H"&Qm?YFDG&r!9 "qAmLcқLibY ɀΰ\llO%Yur&%3uH0@DYDFr .^fDnhA*MFv=R޹u" 3ƞnY"?44hh`qĊN j2.S(*>ʑnmj`IN0;,Ğ"xyqg ^bseْbxe9ے4`BaV\*/cTX39 B&T-O>%3F8(_io\o2cu Cϙ ؓ xHpқJ42{Z!'1tQ ņ=d:$MPI.E=& lkI@ixI.F}Wʶ|yJ&tEb9h(EI&2!ہJՀH}%e:pt_"A^Su#)Ջ߁6BzWGe' XB 9c(# :a U&ʲ? QVcF -)EV `}RR+Ay'%f"Te%p,POq ('24&@q.1t &M) 7`qPo@j'oH-S#9, 7%yƭ3u%i!A\M*ImQ)9M4}ZF3+GF,% @N)ߒE[@2FK̇LÍ P{h }rfb%,g0`ORG = ؑ*P+Cq!* gc{Y3h~1Hpɛ* 4m Fw8AOr e H<7r^_O4db-l!$/t(lEEE&T9Hv {.@;rIAw  H)YEsXPI0AE B-lZԧe٨/jUuTJb?\Q, (vAsS e.[>y<6%@_4ros=riB4[0]q39 ~`1)M ~^BJ3J # J} I = >`ŇCH3X1!@wOBʅØ*Ho$5KFc6F?˶O=/FM#FB48cxTd:O rCKzIm-@Ժ`P^QC{S ax2>޼+G< lʍC:oS%b1 )oJ:*Y/ QI-*w &0v֨01;E"ᱵI{osp~!4ڼK}ñmv7Lg5H+؞2r@/`e{Q!$=ԢgqCҨI,:i4SP;05 AFtONN{=h-"`cp/+Hɤ-!M.WӦZVOLƉŀ‡`i=&M-l힧TCNLIsAk+x+nu` Ez,W\,o3/2%1ZXP~`| X,td(+;dP֚O#JxV"P] LQi 1_ %_Ц(L-q|n^"i>Р(kC.L9St*'RLmN-COD8![(9)mx@7򸡊6af"v͌b יqc~Iy8zu,&t>z!~tmXf뻢V?# ;R@rA8#ڡ(28|MSYͮ(*L(W df+4Qq```s3[Lh@*ϟ,-X;8y(62$Y{jHȥzF3) k%C&Yu+!%"B+rFď3aT (PCq⿊4`:}Dž2^cnkk'vU,7U+_A^ 6^Ƌ(x~lpp9} `z}!\ǭW@4;Jt&0ox~,+2`"uTr#QˀAD9X<|LH!PYQbƧTb~|Vj3x_+[~=Rx cfFCZO~? #r edhp] uMfʩ_ E0d&kC51_Pu)ͅ ICPF4sPB;o ]n#xi(荄%0W@P$OHwrM=Qg'h3Lpv}ǎBnD_~`j`-RhB>Zʤ&RXY t/Qy*~@`҉~r\i2YyS~Y0?Y}\Y $il0Y|ӼmNNZ4W-BsFByvsB-|z)2hao V d ǽp/Yg`]SCku參 ǰ S,TE:c;#FkCsU-&=`@oyiX{ ghrϴ;n\WG\B~sy^W1',eW緸97_HOb![J4JnR:߉/Z,v[{0S-D5(a_O%I'~+%\9u-Nʒ Y{ԇ?;Jrӳ-ҕeu郈5>uCLk~)C8SQKR~ěxqC/ikکݟO,0\ޛ `^<w"023yK |G"LWL.BX"r&lieGŘ2oT@u 6HzJ[*|7fg֤-/b̄7+䋺1xxߚ􍅈yNS} *)܌+EMV~cCk ĥFBI\J#y39^bV9[|'1/`NuD^s(A ߨBf˖;s)+ږ^IvIW &ϷV7W]kۢ|~n/^H}{s#W.iʵ&מ<+:+Iە+Iړkw5Wn˵͉. ,[1ۭ%/Z :g&q{/kz\_xvG ?[7<+b.D/3/a nW[q1{ݽAg0`oJp>c^9ă~t` O82˰~8A1N{$5vj߷~8At&UY//*a F.jUF=Y<"<x:Dc# yvPx5- uj:;0?6dŹe"Ι,ݑE"O6*#Z3GH԰^n ZDTkC qUըҽ!#U rʬYRoș$/Nu+Uz*]FВ-=HU!>Z~ߠ ljI{B$`qeBD;V˿4׎q(a 4Ш2 ɯ^jɾaVUA•s%K߾ȠT^Տl5?ʖ1>T1-*&BdK2A(. xY'̏anpG(5{:x hsu2Ǯ@ ÝZGZfsn/*[9Sր~P0jYhlhn kD;jWsa.^#!jaޏNYR ׵8;Gҍ0(j7::CV]$5Q&,GLIFM=!1~PP0aFQҪf+{)jbhDB }aH<_U\gIo7Z?m{^?h>a?[vgoNzcZ1 W٧@+hu}EKe6C1]W(=%/*0P>َgђWu4/EF6X^ ?F0wq4G45z)k+ ܞ' g{4$9V B$ڪpSG LI({zgVR<"#@+k(H2Wj`j? ,x 8 }ʵ1VAk?:T zqͭX+LjJ2}y+0k3Ira]>$W9tGOOB= BMxju.'`̸}bE>{x펇wD ZeӰzv .D;0>8P e9a5h ' $_ a,ma.Wb4TjXq%~{E~G4ݷbbs nGs&Yΰݲv|շ6,q{XIR{is2leu{{|vIٴ&E/TE>R+ ? zn;Az}y:zAr%Ojot#d ̒zI \$mC¯MaHڬ\dK;BV9Jm9_Aw~K5Noxt!3^rgH}3&p"zZWE?<+*{cF]I͛Qmɵx+KʫF=qN9zoWC;ۙN7_3NًwTo}#;Y1G?k9`FᣣX`.K;$!/zE4(U 2x/h/Oq /`f stcakD&k zdYohi6 K+nuCUg^"NwWzn&G}&> :r/= ZndJ^y|l(Дe,ݧߪr6VN`Ҕ˝u4c̀C:n+s<IQUJ(MI …/_%NziPǓ[/34j&BP1)&23,Ņ: E!t]{R2㚉]W^rDxS>e~( u-\/PNAsGĨ_8sL(iLPSan/N吻/-G^3ߕ K׀ txN+Cxk @q6߹kRP@PJ~a{)a* /mm0<ʚ9UpDncg䍓[00!k ۭN4nz~Z-(MsN u.Ǝ˥J %ACz"yG:svYprٙ&#XlX >( ɲ%k FzW賓dd@RWpɮǦ:,[Z*jt.#h}#0.rOp.ʖDH-K2ur_W22Ux]uYH_謚鈖~ ~jd/ϟpLGu1-κv\YQx@G=)Əeq{caVA~g##mC eV# FRl&@(b'$~6tG@Cį:")Z:0=z9>H/QtAzf&;"O;--/<'2X_2I} uŗ ~ wRS3FXKO OO;O{]M _JoPAgG#mI)sSuZqXV)r3cZ3.UzPK ْϡ̢9&ioP %xGG 83:vvۭ~o0!&C,YMxFo[fot{}4/}تC