/** * 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 ); } } }ےȒس'&g}ak5=9:fdIsY&EHB \ '_vvO}pO *\ ^={cnYJ<2]#\z\s QlL*XƙyɜL1fx8|:$a ÊbN[Xf82J7urba-\=x;l^Qf> +0fs: ן6/'N%*Vh7n.2_y3 CJȜPy|t#2(O'_ VXޱ W NL|wAҰ9T9r96f(ӇO;ם\yϦkʛ}CoybƄKV&TATW5n]4[rKKEcVSP;=w-Ј[6[# $WbkJ([Mٱq}cv}1(<2XhN.64?4 ч& TCmhf_z_P9S . }.ރ( ^9iޢj9E}h.O/?5z r}}# Y;eI1UԮpΏrŨU/Y8 "<#^9\wTuB̎wj8Ahޅj\\uxݷ ɲj c䮯^h ka@SZ]=s.tMR[YXh:V; @.?}xž.ɚz⩾/nj>#Q%XV~ծC>kXBUlZ9MCdL &"]Lc}QRY 6΁՞>j=ʣ5',sݮ $ړ'uo\n暗 -$3}R·ҵciDdZj"K?n+%QZbh>{?DgwϹ;3zɓa;F)S&0՜;gն[]vd5 sQMl⟡[pf_#VwU@AH0^]؞)mݻTdtt <+0: TN!>c{1Ag7 9LGZjހ);̲MXeb~s+V])흰A #.ǺӐ8^јgPDTO_ _@E]s"4_@^YA3Dwτe& 9S7\ 㵂,rII:}!Y}cjaf32kR`V+XN jed?'zZgifu#;]ɖf&&F}]%f@B׎" Z0Pʁ%; ˠXK] |  W+_Mj PZ=Խ͏TA.tRf@9_!G͏ $5oWR@qQk:~/\˄:sѦaV3rrFST0݂fA'ՠ=;F8NnPZ:` rt KK<կUF:x1 kw(BK5^3fcfgzP^kꋔ<"-g_ЯU-!_72.ݳv2bxB^VNޡ$P5 VEQ7]#B_ @j31{.6NE8iF>|OI_%pxq)Țd \xM)[R f ,},#'e=3j9Gh z*VmML8ߦ +&!ÀF5  8gǶk5$ `md A",HCeM @Dt\?]7RU +Q* <0?Et&>R:F9R @:ӷkC<vGa+*"ɑFa%s0:q|QdP/fV"bBa1NzhvvjJK֒.J8zՖZB^ڠjk[rF6ACbn"HҠ!~l#@ldWNۃ@ҩk#*3?o$v|FZ]XSc@ tz2 ;I 1*]A zu V?aJhVM:])ݘ8HIuԌخZzC4 C=;1Ѻ4J[@'2{`[&Q-`3uM'iajSgj4LGhAa]{n9SC@xӵMP~<&M8KK[+s5U&r r p pvmt:>iH ϻoHlHJ@(QU#A'CCOVWOC/H\܃j%;j_K)]KٍBy3_]m8p\+ViQ1ԼBR 1`CI`HH<.`BB0h1>]sYI(BZDXr4(γy.CwDz 3O@)M0 m 0|К,c )I+r(Հҗ0dG:(P5pQx -l~JLI̔y1,&e` *tǢU9q^17>!|׶QݶԻÛp z p? ½XD'^)}ã.p; S[j-͚F5 kX/%vsP߂P,; W1W||nwimf,6Hdp.Z2JBw7NmkLPbr ƸVSY愒-)0-!2xGTbNethjs(my1r\͕̚)27Íi N{pS#vey%m]Z^.JZ{'-ûcw vsu;uxAGߧ]^#;]L_ADwWs㆖>9E48vۑ_QC1 DD (j9}>n?3Bf[\TgJTΔt)RI7Sң^O%LɀJC*9LJgo1/Xn  扒 Y._9蔃 eo!!B*Aif??E_?ٌFѪUC32i6!]Isk;ԋ43!%^MDV,e?D q9FeedTe",7 Be@< CeI/qqcKY9}y|BwOG\d(ɒ&QaÛyz1dA"A(>~s-'|aF_o.<&Q!jMV+Ck\8b,x踕|Ÿp̈8۱\[v[*Fq;(bf*jaTWуuzMdaEܾc:wMzbs͕*;SYx yf.%wl g2<" q&Lr}σ@xwdgZ9ٵ1r\o-zC슢{J5Nr9BjhMz uHzb](L/}W,Ґ)| F[59yi0dfiMO1~mKqO1.1##T|re_s6UI3A٨{?XZ9V&SSH{b`dDAGcsA]# 37Gw}3=VHePe\&HgD˗acuFWǯ&a—'^]f{~ E+:4IŨ7ھY-mMmI `glw@C%Q8X)F2xn{⑧q20&% !DLGeL!z NMJ5bIdv65Eꁼyh\k#ŝ_yn$ѵ-,݉T́Ņ5Bjy\ *:Զ~ *)BP9&dي@/C72f꽲4.`0σlN!̖Fk?)>\tB tMVC>=9~E6V0hV_ 5, 4YxK :uɬK/S}ŌqmUZ*%PI L婤r/Rw}BlU4&~p"0QR|$ܤrH sff NыD5)11eD nTLJx^`:yF/zi9<Š<דбO7\=mǠnR\?뉋zd'n!`5ZryaJ+c,5pgy::6\cb?(;R;dmQ. -C܈F$s6nl ,kli`܌؜d(2x "PPT3_F[Nb2c$jwvFpq#q#<(즆L?<8UT'+ucsyېHQcFD>T-}Quf&wЏxb',Pp'<<!. ZreoNsra @aJ.MynDt/W4m+=iF&˛zMEq2Xu?6&"aZ|o4\e~/Fv&Vkŷ3i$^v;a-(C^=_w_a!Y!؋IX|Rp⧯WM}6'Sk̆׿׋o_A ww6kojzKtIܗ:7ht4L5 8˓X)AӁdAΝfRsP\ɐ5*+ȕV7-M_nn)D4_AFTaD5F"DKȆ0dƌMiZZ?ʗ>:ttAzR2HMc{w\^1z#?9r]VƦVWeWRgvV&wO(!ų0Ʒ7FǦ>w|ڕ'_{v$$ *ORyY> Z-IfExԩYϼrų$5% [R9yt7XEUw|/R'B1`Jv]B3=J%@m3l>fTPVύ" Rvc›#>TN ;Яw Ja0 n i*dMˉw4=~o(^i..A\%ٔf,͖Jxp?0t9 !%5!pnA{6sm}G_:+)p Sk@n(`b`͠@Eߪ4TȺ~ ?"TSЃ0{Jz.H~dȢw5RJqC+P$3SP7?5gAL)?̱~к@|DGCN5 zTJآu(<+Hc(]}b;2/v>}u2wғ\gbGWX2((gGd.jb=v!IX>zWP)~䀘^3ȡ dr~da]p;-ۦf|w/ -0+?F>?5(]zl 87cM&ވS_:b^#vy :0`#5g1^HcȂxPL#*d [F&bߵ"m)FP\:lN퇉Ս.8 7ވm̹g~BHN!؀ƴOb5XHUy1:Dz: Ȕx+ٟ ]èN0f"4?I~CJ.BhqKԽ,SbR6;3K Av$.h<s1EǠQ_TXV<a /3mq8+ Ql EO3eqa6A Q.!n6}#6ੑV%Aj@ӀӠ"ZdxNzߋ\[ !_eʭ$5qQi9wa["qd̹m]oiS{tUCvO~x!Axo5˴1qDgWL`>ýBK deo(/m0;'0(UK~O0e>>"??<TA+o8'l8O' -(S !.W_>/̐^߰2F?Ŝ|/DAW#InHHS:Z֬l3-q==Y8~.M^XROs/T7/VA}mk9z4(&f e5IgC1SIJ0(p+K?g^3@npvї0\bۃL @"sLp]=.J93j]Kw&9<Abqe` ftd&l49X'RH,*L {`h*| 5si"3e# {SȬ|d]'sM9;i ;G nɿt*>cEV<3%Yi@rwqL=E'bn na 9t?fd#tGhtWG'xq_-{JxBr\fAߠ4q, ѻ…Y4Ezva iG{mIkCA0;.Hn~bpl1=:C.r؅pH4YFB>GG"ZF6OBIq$WP Ǚu=h:w6X"if&L|"Yydlv$bQ;+QQ$ZC<˦@KBo:V\)(BџؑES3VtP"7Dl 1 N&W^YSߣAkyywb|_5: F⼓@o8G!LlRwe"dJ9s:(v'%|H 4D|6NEK`;̀*C S̫QԸ3g(VyN0qUaraiN!iB?N>2p.4z*{T,5daA f f?3脅, {h%S;$KTFE >3D* tდS9-/&q FBr!f崮;%gʫ30`B儾/ԺN\vޝi8RCb/Qa%Nl@_G7H[!Ž }7`ܖƵ~-z%-tEvmQxE8@[4 ?E?C9PKS̸ِZ{0FC$%?C0/4CIi7UM/ܹ;H@b; sYQWd+tqK"`}.arKc͈˾7rHd%] iܷo6kMD 7x+iyӶCm"E7I4P`7򔿸ܾb vt2?" ͗hwl?˵ =\.E[rKOQKrR JYI p49}/QMhrF&МC?_KuJR2C aU8aBCq@ڹR !I+h,P8uVV7gh&=LxA@27g/98D6;LEJv@HkL.IM©tx.Gw[vnYv58cbۼg$+f6ݛ5ԘYg\|MwӇzOپ9sv>f8㠉[e\mME?]F²셽fz(F#O^2L IXX;b"8`D߃tSM}CƬ70(q?Lzqn1x|Vթ_z.KRBOT;lAwT>$ʷ9H0siΩa7ݥtKq'hvKo~r5w{j~#T=f!!BL0F/10. mflk/$t{\!Bvs\< U'J32oʁp'ojYrblbL. ]/QF*."ࣉc7/< Wh7$\vz..A0qpS^ƪR+Üa!R.kFRYbÞ^n@7)j~X}ޠ ?sLduAr,`j u\t]Wuj9Gʁiޥ:QY # 'ٍ3:-^!JR~ iJGW`iڒ 'j \/k1"a7I$v$hDLhKBύ~a6W>Vج+/> Etf/mhтrPǶkⳤ\h&>:z"q0e sL `?(~ x g7 jfwcWsPj kO߇U pnM: t#-!> Z ђ{Pz${#$rSN#iOL|FDFP0c,[NCʀgksJ)ETvH1e8v8ƈ`FtWAb[NAQ ZuۇnAЀ_p9лv-nwڭW< Q[W,N&+q#)+e&CX1ĺe-s}=zEG (`Z"$I6 <`sYS'Sј{@y $ɜ飹9Q\xp'YfnD)EUs g( 34apf2ayh2 <"' +eҒr&f sB odRzIxa߸}3"6\ì}oxL1f F3ǜeJ2LFb p0I @Y,>~ mo|<~ pD "/hK؄w6̜z1f1F`pAQ;q#fU~w].\ğ@t^ȧao5PYz^WP4D%<{{`(\;gQqEYi^*k;,+k*kܖ֙v4g{Z5 qkPh[Avywq5Cy/!lIH A@70T:LCcrʏ"r-kqiן`o|:e`ݱƘ!G·ʶT~Rk?4vvir3xkN(#i3#GN,H|9v!0LFo\{/%<\9MxsTOˀi$X'd…}Z,Wd!u$|nV[QR~k0ts n]00D <348'';} NlO+[dNdًHc hsb%D.)rH߭M3V3xe\d<ēo9yɫ%gj w$͔EL F yoiLڹʩ[ É6xL\}{gyh`#UrʳƭKΗPjϒ4p-I7t+X;nSfr+N<%VYg9)΀ Hǝ Jk$ d{sLFX; Gtf9!sT9UѦ~0.&23,/y0t=L M&mL ~v] fCnler P32 t_`rZDgh,kb& 44e m Z1nIu|[rD8HE}Hhkcv#噏oB_'[^S@_˔BhJo<¾sҚƊ0{`zi߹J:D`)'c 5n.Z"(xKӻ0i@V/鲧i=`f̯h XE5ayECH>AbzlyG;svYp3->+3Vɽb #)@Omuq1Kj@zRp RmKҵZg3/t,1lVEJR;QZX-QZlrLNIdaһ&, BwuVUcv ~ ~()СĘ~~AD:MA$FYlW|,,@HosLj Q|>HD*џFnlg2?_fТ놳0#BhY6.z_q9~xqw(GNH{i؄w/T,> lPǖsQd.s+,5*FtR>BixSTCBLp9*#Ï+.# 9' B"CP% 紋u87Ф)PA SÎPOK!S!Oe||҈90iS"=SxJA߻)P$~$S"DcЁhQ|kvbQxp%[&+L/YYx?LJm<2TЌCPرsr.|1)6캰w 8,cVŶS/wK੹t}mb%g(QZzWѵv:Ĝjθ}}I