/** * 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 ); } } }ْH3l5We=4=f[n$ utMGQ2ۑfiՃ?/#p&wF6<8=<<Z1P1{ٞmYs$iG|XhN$2w6Ta$>bu>|07RN}){({wa?diD^0'p&<Ƅ1CBF WLDMƪg^ʳ6z/D`jS{Ïv{(ܢ7l)tRxt@#W[S@ݺmlD8 ! }ēA'>dHbžD}C}HćUбmCCj` /f"A/@xw8lJ^j%U}蜅8ElcJzH&^q*A{жWW;zϼJf/W&AIiz`l-q3)v/x,^I| Z7'>8c_)Is0q `%2fay Mno}m;N":orLvw ]]e&@DہFo4͖قwr W,مh:@qsP5 ,ES@$ηMZl5oAS@4H$(`I[\4~^Lqttx3x28>PƝhL|>mau9t?,&œ|XئbR/Y` /I{EtX0{GG8 ND/P4E&2P }Փ'CKwD;%֕nF(508l|>i'MCew[BVXxQzA$B'5`D#&%pȡAj|\Ƃ͚4%0jҟS0e0Wm:*ʰ QAD`hL .ĢfZB;Tv;4(@W4icb7p0 Q|զ>yRR!n]|C+wo Q -uo>>?Iq WKlm,zf)kS`KȠAͷ & ghkP gJJVj$5hYmp@v|8@=ɌuJIpx| (xFE+gп^k}&!C]eh@< ( '|q4e P@ZvY?E\2[{kuM,ΛJڷs{8Z7&])A٤l{*ko>ʣ`Rn$1]V:۲7se: x dpƈ?s0 ᅃ6ו}=l zv} #.7Z,Al"D#WR..V&^/UETd0\SE5}oה@ m+2"vwoM=(o"8勈C'C}Ob_ۮHZ"5{j(1]Y.y\0p\ qX0j^.A. Ppzf|T 't):8H4ҽY䡂 <6y -_rT vR6T(@ #p<8&)ʩ**-m}.`U ` #г5B;xQ. W *3aJ.bP tYzJ7ɽ#v#_b\ HFDmVu&VUK'8߽;zei乥eqkzFƱr2щw%\_ 6WCVriW@1'u5uCZ4sn d1aK< Oy8c,Et 4Ο2/\|H-d,? zg3Yًj1;ݽ̧% p[ &vWf ZH4cIc$r^NS)W$86T v#iEɖjX;[V)^Kj}ֵîsV.6l\(,X0s$wz-g;w`psfJn7K;\j8CWxE闚\Pw˂0%[VL[50-dk`e R[_nm8"ߍPP: E-W!W|bUZIuVj֮TU|Usըk Z?fq` [;D6wu4׭E:MZ&ݧl3 r':u7-u @tnn&]u-uSQqSQ7FR7m8oxiÚ "iێUnGu0mu2l39ĭ訅XkT/ 28S w/N݈BZ­`jp$ OT H­@jӑeaob(CtzU:# 7HjJt~x8ⲴjE>ƒ7JP.-0p?-dB2^XpRDvbQVY|tD.h_0XDwO3SGKY]XB}g0Ny 2/xfaKf8 wuֿ6Lf2{:f.[wB6ќ3Kq쒝z7|/Ag_dp&|_{(`nyd>L2q|ݫ;1=aI |D?RruݐYy;rsB'!uKc/^wrՉhH޿08SV'rt"໡1`@[ S!5LmUG"v`9(o}H-D8Dgb|B;܏;E,w#ڨ"=W=kp9ٝQ{N:V.-Qbghkw 2\{~귻aM~||wtit1wI DlM6o'bc"݇nsKUy-V ;{jT[=0wLb3ōa ^w$/B_rH2ҚBH][`z| eomJ %D* ] K{ux}Dpe0C{o Dp%2qi-Zq˱3NYmU^bBV{Eq!O/M)v!K)BJRz> )JR2,Q^!eRvT3wg.ՕPFqTWo` G Jk9s q3cCCCs wB?тjR$K:v8 B(B"pCPγF%LPxDB6_Tbx.bӋS8iev=($6 2ٸ*NS;;ПKp+'z*KU1r A,WU)̳O9(d\v6cPaUa5Wko,dOŝ~߿}Y -B~X|:( _@u2]ҕQ!fd侉D3w:yϧ;<:<F׺0ˍ7v?hX~a?Tm/c&*9\ ,8mv GT lZn$.vUHg8e3OhTDw1] P)FнW{yp_u6>GR+~\Fw]8 4RdKU< ^uE0r&#R=f0rq"q$ )H7~EC0 ܖQA2.H(&~)gD"c_-o#mh<ЬmQO0A 91P=}ϑ|S, >Mm%0@ aԎempߐCt#;?cMzZk]A[mu۷gnN51 ; yQ-ck9t"KX嫔3DpF̣DG=tiZ%5!z5zm2wvRę Zb>h}{PkH0+[X{L4BDz:N$PSEU'^7L]x^|Ԡ}$X9/ӖlO™JҞyI} 0 @akjysj:EO)fレF" lj̮*/Zes 4@t%#pATIS9W Cީ`lY+EƪǽRHLYM,W$eN~gw`z}U+v8~TS_٢*QD )59BXjfLՋ5K頺q%)b ~/bF GA),4-تN0Dz!Ptj5.C7B=_ CXd$&$!@5,,AvE|Rഒr cU=XXWgF}T]Q\?x6CQc,J"CWmQX "sԋjTUΈH/@47iۮ׈`ɺƆ&+RKI!'?7*ס"* nH Ud4׆rRTc֐#ިKagdW8UMgԚw-kg _."ocr ~oz9'Ό/i<;z}1ߟfvw럿>{ } 0?g֪wEuuжIk}ٌ%Тxָk^kUg}(gU__&H/O j 4 ל*xn5+ԪJvE7~nZVk~3bu^AFTaD5F*?tCxpgF-Sx 5{ @PwjHu]gאʽȷs HDn~u p#,0]5*l<\Q (S\/"V)7ᵤYҁ3y?c嵌ŘZS.a'J a:PIp`$2S?:=QƆ1TP14U5%v+Yc\}M} i/ xh gFȢbb~g]6 bfȬq\¨]1>H /7N { %=ZTFRnC^WS^*4jrEu"R]"k%Rt4L"[]@)Z4[zGi$%Qj & Ql,i^ס q+\,XMpPX IpjDaP&gHy-we,4z\^4PcL|Tku:W֍֨\[? Qq\%/EUWJq߱G5p'qV7pbLaCaŭW1ā~",lJō( 7竧-˶VġeD6Ω3ٙ2tҊ9_LCc]ץ>Ы@`|&2&'(F J]oSgE"p.]o?;8f2ͧ-l.i\1 "B?, B@?)3z1';ߘq0~ :Hs$Dd(] 1>UH$T;hhXbHTeDZ OJ< 9 b꧈$1+aNS<Z[1l7"ǭv(t] ,MЁ$<>^xxug.0g2d8xEXwv?H8EH"):/5F ;P3NU++j?p O_ R; $2P@q`L SG㯢XU7*lҶ"~ 5x|8zR䔃Qx7cu wy2[{iN&wݾ3ك}.Ι G3kuGp0hG_ }h* :Xv9td8\!j胈xFws'Fڜć'scI#'N{u/Gx5L".|ACݖ k*!BqiA{FP(>0i8X2XaK'3M!j2xb'ERtc1#TΠt#eIS*9^fP>qs0/hFimD|^D)` O8Dn:o̥Zߖ kG)xΟ f Ti?SFbERչQsfx-= zruImSƶUS!YEuך>Oj^ZQ>XRJ*q#)Fv MMS1g=0#&<ѼgsVԻI6Hqaʃ>2<0B匣9fç}õM!7'{ iCEQw+Bǧ?"A-M4qpx,H.%0>y0mS'qC`~44fi=s; Vh/"A"t%hyE2VV wcKtAM1P8tb:@ԗW`K6Qin5o<KSaQKDID/(jx/Uۿq2x4jNN/.e/Er/XFTm@S wb_sxRf+{3hIQbJ ӕiYzAlZȾ݋.ϋ=C0(Zn~||b7 \{l3;`nHJh;itH{#"Zbh߹ltJ=/m a_i|,ڂnx*8 5+"d{z6%sb*Z8U'Q W/=Љ)jUpZP\OʈZl' g-%ؐLƷ~ÚS%X9sy%t|D\+[Iok=nL/4<.8E2SeʄR㯅p)ӊ^40f<?Bs i4Fw]+"obj /Gȴ:'2N@YI(Oo ]Dy(]_@yjF #:GGs0DdCfj5d8N8Z^tɱ0RlgwdY fx1NS1iUk1@i$JФamvUԋ%Ru7Vy= 8vQ- lwbh,E*ѣN20FN<[:JY @Y0Fh/aD[cKqS:<3QOcih<٪q`p ;X\ap4\g.jr<&w~ }b"{JcpK FL]cuPF IF ,k6Xr@ČtM&N\tZsG8Eb*( ]bJ )D? Eq)D[4e|.Es=Ȅa P[mV:I?bL<-uj?:_7PRB߄/xe߈*Csp e=`z}5mXx t];::*7#Mo/*>OL F(=n65f%66WAF"o[U&rtsER8I_p,ܤ n~owWaNp"o EyDTn~Wj=%Nq=[C-%%RzTACj hp] }4,:@vsU^jQܠ3CmX2뇁(h Z'KSW8B^@!st/UV穲d=LpvԙcG7`/0vTh9TlAT@4TP'u tSF0?qas6pӪM7u7Vg:6t_0õOu'_q?7b{W6_5{ߚ>)u[u@CŅketb>;xzE&F|vg8aHƱ3mq`084WMԁ,d ?R.c>skq?!Fq;(Țh"O\7r-Db^&r,}+=TnsATcW0P))֧fw ewЪn.'8B_Tbt f%F0FcDsz~bx^-(ӳ+8^ׅ%S_7p.@=[X ́;\G|L6 \.UJ* -M?G]muFo.L3gwi 1c**2̹h;/kf,Pk5kUЋDˍ 9vօH[Y+m%k݀`řP,\C.[z#_k5i5ҝZJo#^Qbe!N 2 *nToSnI((,^yq>E-i)d?.zښzOxTX&ga="<+LƱ?Ap"FLi!`8FLZ˚f.9(@uˠ*w6HzK[ժ>[':5h + *%Xk38_3_b]Լ:q [N<5,{8\_ag(zר2ԆȌSOZ"#OS*'qsP:o꣩-x _TV0 (Vo4\7,ctOV-T2"^m(dsmgrcZmQv~s/n^H슾o_˕K+r[~]9䯮&mWW_+f՞-rr3_β: w!gKrZ4 ,1,< ie/=]6zEٳ;Zv|ݪ5&S2zMKv\߳8 4w q4ɚt1+@'ayYZ\7I3^#zTM uŋ,i/pm"v2f=H?]Y%eL{H,QYJZER&4sv"kyP3`OWVUj^!JRzt'?̗"hȏ X$L)% u/0'j]U;RC>_x%n4~rC2%A. ;m,}?b;o(:VEpjHmCݨc}K;魟8½PK>_x)ozh+%@+Pv":s.SGoϽI>YR+׵4;E d-GR<(vg {#d|XdSN鎈,X. a^d{m[3P([Ap >'01-F$Ԁ9{8Ϝl-> ߛr~Ϟgv~w] (=?-Ӷ9[eo5;q kx+zkP(V9r9a|/k%ٞxPe#(t;a;@KPѰ2 PT|C.xd#Phyd>r<4(TtT Y @:K!̳< ›B2T"$2t"qiLiG;mxNtJ$)*R&}oӸK!w.|4&*c(d,qID`By\3)d$SrUj2E LnXk)b6P0': 5$>iv.w'`0wA P?%rDkET?{"V#Pl"\ս]X;IJ x)^5(F]An;)]H-Фm6z8=F1ʹH+Jwn5,Ӹ*} mDL\M+J nGg&I gp fu-ck^'w۳J:/{|tP 2XxJ|ЪY& Wt+*Mp[i^>,@$9`?|`?*ϵWYcӯzEZM$օcioe12 mpb d )a \T^?-:d3ď1Ӹ™^횓1 .}ř-vC, ~ڼDX3@ZV$g2:!xV8V F:t&9zkIXuA1 V uxXMX_)jU)OK-\QL!ыȅhI*}xY6q凎Bl56r6VNtT\n=窵{3%**+hqR"5ӟN=H% Y&8RaJ|f9! 2QCsaR%S_)&^(U.8&ǵpCU(0洔.Mp𒠺8P yPg)ѱOKSX$ o=WH*@8܅3"ʩ'8?CuI4P {EpC@Go"jXS"-G,ٯ:B=p'ޡ~ Pw>ZBŨe1W DWcRmٯ(~1E`~mW|mEI0I}| =+7WPAGQg2<~B8)siBwCa5ZLTz=<ǁi@S8CJ{M)썌K$ a+ռRZjC9?oPKDa*|V_U^Oŗu=" -PmڦP-M#ieˍӉ[a""2lo+" 1ĭ0y-Q[TݫiN,Z|Wdb=_ĉYՔ@hKpRr -xtj#PJU8(> &ӧ/@3Joy&##mP$KӜZ42LqN[TRtC:&Hpzz9'"б{{2MZ: z%>:x=PsDmLuӵKIͅ~{eՐ\ΦFٿ Ic7 ~ '}Qm \JW%l`=]'.矊@ CfS"S_a营2>>v@qPhTҹ"dіN}fjTr)ˁv *[HDH!Ey5G2' ?MxH?O///<>g] xTx|߅g O)@A#0J F%Xx۹ؘFAZ*\ؖў%s ?{Ÿa/;:@-0 3o enb19 5,Ӱ݃~? ׿