Coverage for fastapi/utils.py: 100%

91 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-05-06 08:24 +0000

1import re 1abcdef

2import warnings 1abcdef

3from dataclasses import is_dataclass 1abcdef

4from typing import ( 1abcdef

5 TYPE_CHECKING, 

6 Any, 

7 Dict, 

8 MutableMapping, 

9 Optional, 

10 Set, 

11 Type, 

12 Union, 

13 cast, 

14) 

15from weakref import WeakKeyDictionary 1abcdef

16 

17import fastapi 1abcdef

18from fastapi._compat import ( 1abcdef

19 PYDANTIC_V2, 

20 BaseConfig, 

21 ModelField, 

22 PydanticSchemaGenerationError, 

23 Undefined, 

24 UndefinedType, 

25 Validator, 

26 lenient_issubclass, 

27) 

28from fastapi.datastructures import DefaultPlaceholder, DefaultType 1abcdef

29from pydantic import BaseModel, create_model 1abcdef

30from pydantic.fields import FieldInfo 1abcdef

31from typing_extensions import Literal 1abcdef

32 

33if TYPE_CHECKING: # pragma: nocover 1abcdef

34 from .routing import APIRoute 

35 

36# Cache for `create_cloned_field` 

37_CLONED_TYPES_CACHE: MutableMapping[Type[BaseModel], Type[BaseModel]] = ( 1abcdef

38 WeakKeyDictionary() 

39) 

40 

41 

42def is_body_allowed_for_status_code(status_code: Union[int, str, None]) -> bool: 1abcdef

43 if status_code is None: 2a %h'h(h)h*hrZ+hsZtZ,huZ`g{gvZ|g-h.h/h:h}g;h=h?h@h=b[h?b@bwZ]h^hzh_h[b`h-g{h|h}hxZyZ~hai]bE VbbicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSizZTiUiViWiXiYiZicedeeefege0i1i2i3i4iAhBh5iAZ6iBZ7i8iCZ9i!i#iDZ$i%iEZ'iFZ(i)i*i+i,iGZ-iF G H I J m g {d.iHZ/iIZ:i;i=i~g?i@i[i]i^i_i`i{i|i}iJZ)e*eKZ~iLZajbjMZcjdjejNZfjahgjbho K L JbKbM hjOZijjjkjPZljmjnjojpjQZqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4jRZ5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:jWbN ;j=jSZ?jTZ@j[jUZ]j^j_jVZ`j{j|j}j~jakbkckdkekchfk+gUcgkhkikjkkklkmknkokpkWZqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkXbVcYbWcdhUkVkWkXk+ , - Ykxbyb^b/cXZZk0kYZ1k2kZZ3k4k0Z5k6k1Z7k8k2Z9k!k3Z#k$k4Z%k'k5Z(k)k6Z*k+k7Z,k-k8Z.k/k9Z:k;k=k?k!Z@k[k]k^k#Z_k`k{k|k$Z}k~kal%Zblcldl'Zelflgl(Zhliljl)Zklllml*Znlolpl+Zqlrlsltlulvl,Zwlxlyl-Zzl.ZAlBlClDl/ZElFlGlHlIlJl:ZKlLlMl;ZNl=ZOlPlQl?ZRlSlTl@ZUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l[Z?l@l[l]l^l]Z_l`l^Z{l|leh}l.g~l/gam:gbmcmdmemfmgmhmimjm_Zkm`Zlm{Zmm|ZnmompmqmrmsmtmfhumvmwmxmymzmAmBmCmDmEmFm}ZGmHmImJmKmLm~Za0MmNmOmb0Pmc0QmRmd0e0Smpf+e,eTmUmVmWmXmYmf0Zm0mg01mh02m3m4m5m6m7m8m9m!m#mi0j0k0$ml0m0%m'm(m)mn0*m+mo0,mp0q0-m.mr0/ms0:m;m=mt0?m@m[m]m^m_m`m{m|m}m~manbnu0cnv0dnw0enx0fny0gnz0hninA0jnB0knC0lnD0mnE0nnonpnqnF0rnsnG0tnH0unI0J0vnwnxnK0ynznAnL0BnCnM0DnEnFnN0GnO0HnP0InQ0JnR0KnS0T0LnMnU0NnV0OnW0PnX0QnY0Z0RnSnghhhTnihUnVnWnjhXnYnZn0n1n0010202n303n4n405n6n7n8n50609n!n#n70$n%n'n80(n90!0)n*n+n,n#0-n.n/n$0:n%0;n=n?n'0@n[n]n(0)0^n_n`n*0{n|n}n~n+0aobo,0codo-0eofo.0go/0ho:0io;0jo=0kolomono?0oo@0po[0]0Xcqo^0ro_0`0soto{0uovo|0wo}0xo~0yoa1zoAoBob1CoDoEoFoGoHoIoJoc1KoLoMoNoOoPoQod1RoSoToUoVoWoXoYoZoe10o1o2o3o4of15o6og17oCh-e.e8oh19oi1!oj1k1#o$ol1%o'om1(o_b)oheiejekeleme*on1+o,oo1-o.o/o:oy Zbp1b ;o=o?o@o[oq1]or1s1^ot1khlhu1mh_o`o{o|onh}o~oapbp`bcp{b|bv1dpepDhfp}bgp;ghpipjpw1x1kplp~bO 0bmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3py14p5p6p7p8p9p!pneoepeqere#p$p%p'p(pEhFh)pz1*pA1+p,pB1-p.p/pC1:p;pD1=pE1?p@p[p]p^pF1_pP Q R S T n h |d`pG1{pH1|p}p~pohaqbqcqdqeqfqgqhqiqjqI1/e:eJ1kqK1lqmqL1nqoqpqM1qqphrqqhp U V LbMbW sqN1tquqvqO1wqxqyqzqAqP1BqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q#q$q%q'q(qQ1)q*q+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q|q1bX }q~qR1arS1brcrT1drerfrU1grhrirjrkrlrmrnrorprrhqr,gYcrrsrtrurvrwrxryrzrArV1BrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r2bZc3b0csh5r6r7r8r. / : 9rzbAbac:cW1!r#rX1$r%rY1'r(rZ1)r*r01+r,r11-r.r21/r:r31;r=r41?r@r51[r]r61^r_r71`r{r81|r}r~ras91bscsdses!1fsgshsis#1jsksls$1msnsos%1psqsrs'1sstsus(1vswsxs)1yszsAs*1BsCsDsEsFsGs+1HsIsJs,1Ks-1LsMsNsOs.1PsQsRsSsTsUs/1VsWsXs:1Ys;1Zs0s1s=12s3s4s?15s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~s@1atbtctdtet[1ftgt]1htitthjt=gkt?glt@gmtntotptqtrtstttut^1vt_1wt`1xt{1ytztAtBtCtDtEtuhFtGtHtItJtKtLtMtNtOtPtQt|1RtStTtUtVtWt}1~1XtYtZta20tb21t2tc2d23tqf;e=e4t5t6t7t8t9te2!t#tf2$tg2%t't(t)t*t+t,t-t.t/th2i2j2:tk2l2;t=t?t@tm2[t]tn2^to2p2_t`tq2{tr2|t}t~ts2aubucudueufuguhuiujukulumut2nuu2ouv2puw2qux2ruy2sutuz2uuA2vuB2wuC2xuD2yuzuAuBuE2CuDuF2EuG2FuH2I2GuHuIuJ2JuKuLuK2MuNuL2OuPuQuM2RuN2SuO2TuP2UuQ2VuR2S2WuXuT2YuU2ZuV20uW21uX2Y22u3uvhwh4uxh5u6u7uyh8u9u!u#u$uZ20212%u22'u(u32)u*u+u,u4252-u.u/u62:u;u=u72?u8292@u[u]u^u!2_u`u{u#2|u$2}u~uav%2bvcvdv'2(2evfvgv)2hvivjvkv*2lvmv+2nvov,2pvqv-2rv.2sv/2tv:2uv;2vvwvxvyv=2zv?2Av@2[21cBv]2Cv^2_2DvEv`2FvGv{2Hv|2Iv}2Jv~2KvLvMva3NvOvPvQvRvSvTvUvb3VvWvXvYvZv0v1vc32v3v4v5v6v7v8v9v!vd3#v$v%v'v(ve3)v*vf3+vGh?e@e,vg3-vh3.vi3j3/v:vk3;v=vl3?vbc@vseteuevewexe[vm3]v^vn3_v`v{v|vz 4bo3c }v~vawbwcwp3dwq3r3ews3fwgwt3hwiwjwkwlwmwnwowpwqwccrwdcecu3swtwHhuwfcvwIhwwxwywv3w3zwAwgcY 5bBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+wx3,w-w.w/w:w;w=wyezeAeBeCe?w@w[w]w^wJhKh_wy3`wz3{w|wA3}w~waxB3bxcxC3dxD3exfxgxhxixE3jx; = ? @ [ u i }dkxF3lxG3mxnxoxpxqxrxsxtxuxvxwxxxyxzxH3[e]eI3AxJ3BxCxK3DxExFxL3GxHxIxJxq Z 0 NbOb1 KxM3LxMxNxN3OxPxQxRxSxO3TxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{xP3|x}x~xaybycydyeyfygyhyiyjykylymynyoypy6b2 hc;cic=cjckcqyryQ3syR3tyuyS3vywyxyT3yyzyAyByCyDyEyFyGyHyIyJy[g2cKyLyMyNyOyPyQyRySyTyU3UyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y7b3c8b4c;y=y?y@y[y] ^ _ ]yBbCblc?cV3^y_yW3`y{yX3|y}yY3~yazZ3bzcz03dzez13fzgz23hziz33jzkz43lzmz53nzoz63pzqz73rzsztzuz83vzwzxzyz93zzAzBzCz!3DzEzFz#3GzHzIz$3JzKzLz%3MzNzOz'3PzQzRz(3SzTzUz)3VzWzXzYzZz0z*31z2z3z+34z,35z6z7z8z-39z!z#z$z%z'z.3(z)z*z/3+z:3,z-z.z;3/z:z;z=3=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtA?3uAvAwAxAyA@3zAAA[3BACADAEALhFAMhGANhHAIAJAKALAMANAOAPA]3QA^3RA_3SA`3TAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A{3%A'A(A)A*A+A|3}3,A-A.A~3/Aa4:A;Ab4c4=Arf^e_e?A@A[A]A^A_Ad4`A{Ae4|Af4}A~AaBbBcBdBeBfBgBhBg4h4i4iBj4k4jBkBlBmBl4nBoBm4pBn4o4qBrBp4sBq4tBuBvBr4wBxByBzBABBBCBDBEBFBGBHBIBs4JBt4KBu4LBv4MBw4NBx4OBPBy4QBz4RBA4SBB4TBC4UBVBWBXBD4YBZBE40BF41BG4H42B3B4BI45B6B7BJ48B9BK4!B#B$BL4%BM4'BN4(BO4)BP4*BQ4R4+B,BS4-BT4.BU4/BV4:BW4X4;B=B?B@B[B]B^B_B`B{B|B}B~BaCbCY4Z404cC14dCeC24fCgChCiC3444jCkClC54mCnCoC64pC7484qCrCsCtC94uCvCwC!4xC#4yCzCAC$4BCCCDC%4'4ECFCGC(4HCICJCKC)4LCMC*4NCOC+4PCQC,4RC-4SC.4TC/4UC:4VCWCXCYC;4ZC=40C?4@45c6c1C[4]42C3C^4_44C5C`46C7C{48C|49C}4!C~4#C$C%Ca5'C(C)C*C+C,C-C.Cb5/C:C;C=C?C@C[Cc5]C^C_C`C{C|C}C~CaDd5bDcDdDeDfDe5gDhDf5iDOh`e{ejDg5kDh5lDi5j5mDnDk5oDpDl5qDmcrDDeEeFeGeHeIesD` m5tDuDn5vDwDxDyDA 9bo5d zDADBDCDDDp5EDq5r5FDs5GDHDt5IDJDKDLDMDNDODPDQDRDncSDocpcu5TDUDPhVDqcWDQhXDYDZDv5w50D1Drc3 !b2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEx5jEkElEmEnEoEpEJeKeLeMeNeqErEsEtEuERhShvEy5wEz5xEyEA5zEAEBEB5CEDEC5EED5FEGEHEIEJEE5KE{ | } ~ abv j ~dLEF5MEG5NEOEPEQERESETEUEVEWEXEYEZE0EH5|e}eI51EJ52E3EK54E5E6EL57E8E9E!Er 4 5 PbQb6 #EM5$E%E'EN5(E)E*E+E,EO5-E.E/E:E;E=E?E@E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFP5yFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQF#b7 sc@ctc[cucvcRFSFQ5TFR5UFVFS5WFXFYFT5ZF0F1F2F3F4F5F6F7F8F9F!F]g7c#F$F%F'F(F)F*F+F,F-FU5.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnG$b8c%b9coGpGqGrGsGbbcbdbtGDbEbwc]cV5uGvGW5wGxGX5yGzGY5AGBGZ5CGDG05EGFG15GGHG25IGJG35KGLG45MGNG55OGPG65QGRG75SGTGUGVG85WGXGYGZG950G1G2G3G!54G5G6G#57G8G9G$5!G#G$G%5%G'G(G'5)G*G+G(5,G-G.G)5/G:G;G=G?G@G*5[G]G^G+5_G,5`G{G|G}G-5~GaHbHcHdHeH.5fHgHhH/5iH:5jHkHlH;5mHnHoH=5pHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUH?5VHWHXHYHZH@50H1H[52H3H4H5HTh6HUh7HVh8H9H!H#H$H%H'H(H)H]5*H^5+H_5,H`5-H.H/H:H;H=H?H@H[H]H^H_H`H{H|H}H~HaIbIcI{5dIeIfIgIhIiI|5}5jIkIlI~5mIa6nIoIb6c6pIsf~eafqIrIsItIuIvId6wIxIe6yIf6zIAIBICIDIEIFIGIHIIIg6h6i6JIj6k6KILIMINIl6OIPIm6QIn6o6RISIp6TIq6UIVIWIr6XIYIZI0I1I2I3I4I5I6I7I8I9Is6!It6#Iu6$Iv6%Iw6'Ix6(I)Iy6*Iz6+IA6,IB6-IC6.I/I:I;ID6=I?IE6@IF6[IG6H6]I^I_II6`I{I|IJ6}I~IK6aJbJcJL6dJM6eJN6fJO6gJP6hJQ6R6iJjJS6kJT6lJU6mJV6nJW6X6oJpJqJrJsJtJuJvJwJxJyJzJAJBJCJY6Z606DJ16EJFJ26GJHJIJJJ3646KJLJMJ56NJOJPJ66QJ7686RJSJTJUJ96VJWJXJ!6YJ#6ZJ0J1J$62J3J4J%6'65J6J7J(68J9J!J#J)6$J%J*6'J(J+6)J*J,6+J-6,J.6-J/6.J:6/J:J;J=J;6?J=6@J?6@6!c#c[J[6]6]J^J^6_6_J`J`6{J|J{6}J|6~J}6aK~6bKcKdKa7eKfKgKhKiKjKkKlKb7mKnKoKpKqKrKsKc7tKuKvKwKxKyKzKAKBKd7CKDKEKFKGKe7HKIKf7JKWhbfcfKKg7LKh7MKi7j7NKOKk7PKQKl7RKxcSKOePeQeReSeTeTKebm7UKVKn7WKXKYKZKB 'bo7e 0K1K2K3K4Kp75Kq7r76Ks77K8Kt79K!K#K$K%K'K(K)K*K+Kyc,KzcAcu7-K.KXh/KBc:KYh;K=K?Kv7w7@K[KCc8 (b]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJLx7KLLLMLNLOLPLQLUeVeWeXeYeRLSLTLULVLZh0hWLy7XLz7YLZLA70L1L2LB73L4LC75LD76L7L8L9L!LE7#Lfbgbhbibjbw k ae$LF7%LG7'L(L)L*L+L,L-L.L/L:L;L=L?L@LH7dfefI7[LJ7]L^LK7_L`L{LL7|L}L~LaMs 9 ! RbSb# bMM7cMdMeMN7fMgMhMiMjMO7kMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMP7ZM0M1M2M3M4M5M6M7M8M9M!M#M$M%M'M(M)M*M)b$ Dc^cEc_cFcGc+M,MQ7-MR7.M/MS7:M;M=MT7?M@M[M]M^M_M`M{M|M}M~MaN^g$cbNcNdNeNfNgNhNiNjNkNU7lNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNON*b%c+b'cPNQNRNSNTNkblbmbUNFbGbHc`cV7VNWNW7XNYNX7ZN0NY71N2NZ73N4N075N6N177N8N279N!N37#N$N47%N'N57(N)N67*N+N77,N-N.N/N87:N;N=N?N97@N[N]N^N!7_N`N{N#7|N}N~N$7aObOcO%7dOeOfO'7gOhOiO(7jOkOlO)7mOnOoOpOqOrO*7sOtOuO+7vO,7wOxOyOzO-7AOBOCODOEOFO.7GOHOIO/7JO:7KOLOMO;7NOOOPO=7QOROSOTOUOVOWOXOYOZO0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O*O+O,O-O.O?7/O:O;O=O?O@7@O[O[7]O^O_O`O1h{O2h|O3h}O~OaPbPcPdPePfPgP]7hP^7iP_7jP`7kPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDP{7EPFPGPHPIPJP|7}7KPLPMP~7NPa8OPPPb8c8QPtfffgfRPSPTPUPVPWPd8XPYPe8ZPf80P1P2P3P4P5P6P7P8P9Pg8h8i8!Pj8k8#P$P%P'Pl8(P)Pm8*Pn8o8+P,Pp8-Pq8.P/P:Pr8;P=P?P@P[P]P^P_P`P{P|P}P~Ps8aQt8bQu8cQv8dQw8eQx8fQgQy8hQz8iQA8jQB8kQC8lQmQnQoQD8pQqQE8rQF8sQG8H8tQuQvQI8wQxQyQJ8zQAQK8BQCQDQL8EQM8FQN8GQO8HQP8IQQ8R8JQKQS8LQT8MQU8NQV8OQW8X8PQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3QY8Z8084Q185Q6Q287Q8Q9Q!Q3848#Q$Q%Q58'Q(Q)Q68*Q7888+Q,Q-Q.Q98/Q:Q;Q!8=Q#8?Q@Q[Q$8]Q^Q_Q%8'8`Q{Q|Q(8}Q~QaRbR)8cRdR*8eRfR+8gRhR,8iR-8jR.8kR/8lR:8mRnRoRpR;8qR=8rR?8@8(c)csR[8]8tRuR^8_8vRwR`8xRyR{8zR|8AR}8BR~8CRDRERa9FRGRHRIRJRKRLRMRb9NRORPRQRRRSRTRc9URVRWRXRYRZR0R1R2Rd93R4R5R6R7Re98R9Rf9!R4hhfif#Rg9$Rh9%Ri9j9'R(Rk9)R*Rl9+RIc,RZe0e1e2e3e4e-Rnbm9.R/Rn9:R;R=R?RC ,bo9f @R[R]R^R_Rp9`Rq9r9{Rs9|R}Rt9~RaSbScSdSeSfSgShSiSJcjSKcLcu9kSlS5hmSMcnS6hoSpSqSv9w9rSsSNc% -btSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!Sx9#S$S%S'S(S)S*S5e6e7e8e9e+S,S-S.S/S7h8h:Sy9;Sz9=S?SA9@S[S]SB9^S_SC9`SD9{S|S}S~SaTE9bTobpbqbrbsbx l becTF9dTG9eTfTgThTiTjTkTlTmTnToTpTqTrTH9jfkfI9sTJ9tTuTK9vTwTxTL9yTzTATBTt ' ( TbUb) CTM9DTETFTN9GTHTITJTKTO9LTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=TP9?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhU.b* Oc{cPc|cQcRciUjUQ9kUR9lUmUS9nUoUpUT9qUrUsUtUuUvUwUxUyUzUAUBU_g*cCUDUEUFUGUHUIUJUKULUU9MUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U/b+c:b,c)U*U+U,U-Utbubvb.UHbIbSc}cV9/U:UW9;U=UX9?U@UY9[U]UZ9^U_U09`U{U19|U}U29~UaV39bVcV49dVeV59fVgV69hViV79jVkVlVmV89nVoVpVqV99rVsVtVuV!9vVwVxV#9yVzVAV$9BVCVDV%9EVFVGV'9HVIVJV(9KVLVMV)9NVOVPVQVRVSV*9TVUVVV+9WV,9XVYVZV0V-91V2V3V4V5V6V.97V8V9V/9!V:9#V$V%V;9'V(V)V=9*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlW?9mWnWoWpWqW@9rWsW[9tWuWvWwW9hxW!hyW#hzWAWBWCWDWEWFWGWHW]9IW^9JW_9KW`9LWMWNWOWPWQWRWSWTWUWVWWWXWYWZW0W1W2W3W4W{95W6W7W8W9W!W|9}9#W$W%W~9'Wa!(W)Wb!c!*Wuflfmf+W,W-W.W/W:Wd!;W=We!?Wf!@W[W]W^W_W`W{W|W}W~Wg!h!i!aXj!k!bXcXdXeXl!fXgXm!hXn!o!iXjXp!kXq!lXmXnXr!oXpXqXrXsXtXuXvXwXxXyXzXAXs!BXt!CXu!DXv!EXw!FXx!GXHXy!IXz!JXA!KXB!LXC!MXNXOXPXD!QXRXE!SXF!TXG!H!UXVXWXI!XXYXZXJ!0X1XK!2X3X4XL!5XM!6XN!7XO!8XP!9XQ!R!!X#XS!$XT!%XU!'XV!(XW!X!)X*X+X,X-X.X/X:X;X=X?X@X[X]X^XY!Z!0!_X1!`X{X2!|X}X~XaY3!4!bYcYdY5!eYfYgY6!hY7!8!iYjYkYlY9!mYnYoY!!pY#!qYrYsY$!tYuYvY%!'!wYxYyY(!zYAYBYCY)!DYEY*!FYGY+!HYIY,!JY-!KY.!LY/!MY:!NYOYPYQY;!RY=!SY?!@!-c.cTY[!]!UYVY^!_!WYXY`!YYZY{!0Y|!1Y}!2Y~!3Y4Y5Ya#6Y7Y8Y9Y!Y#Y$Y%Yb#'Y(Y)Y*Y+Y,Y-Yc#.Y/Y:Y;Y=Y?Y@Y[Y]Yd#^Y_Y`Y{Y|Ye#}Y~Yf#aZ$hnfofbZg#cZh#dZi#j#eZfZk#gZhZl#iZTcjZ!e#e$e%e'e(ekZwbm#lZmZn#nZoZpZqZD ;bo#

44 return True 2a rZsZtZuZ`g{gvZ|g}gwZzh-gxZyZE VbzZAZBZCZDZEZFZGZF G H I J m g {dHZIZ~gJZKZLZMZNZahbho K L JbKbM OZPZQZRZWbN SZTZUZVZch+gUcWZVcWcdh+ , - xbyb/cXZYZZZ0Z1Z2Z3Z4Z5Z6Z7Z8Z9Z!Z#Z$Z%Z'Z(Z)Z*Z+Z,Z-Z.Z/Z:Z;Z=Z?Z@Z[Z]Z^Zeh.g/g:g_Z`Z{Z|Zfh}Z~Za0b0c0d0e0pff0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0ghhhihjh00102030405060708090!0#0$0%0'0(0)0*0+0,0-0.0/0:0;0=0?0@0[0]0Xc^0_0`0{0|0}0~0a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1y Zbp1b q1r1s1t1khlhu1mhnhv1Dh;gw1x1O 0by1z1A1B1C1D1E1F1P Q R S T n h |dG1H1ohI1J1K1L1M1phqhp U V LbMbW N1O1P1Q11bX R1S1T1U1rh,gYcV1Zc0csh. / : zbAb:cW1X1Y1Z101112131415161718191!1#1$1%1'1(1)1*1+1,1-1.1/1:1;1=1?1@1[1]1th=g?g@g^1_1`1{1uh|1}1~1a2b2c2d2qfe2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2vhwhxhyhZ202122232425262728292!2#2$2%2'2(2)2*2+2,2-2.2/2:2;2=2?2@2[21c]2^2_2`2{2|2}2~2a3b3c3d3e3f3g3h3i3j3k3l3m3n3z 4bo3c p3q3r3s3fwgwt3hwmwu3HhIhv3w3Y 5bx3y3z3A3B3C3D3E3; = ? @ [ u i }dF3G3pxH3I3J3K3L3HxJxq Z 0 NbOb1 M3N3O3P36b2 ;c=cQ3R3S3T3Iy[g2cU33c4c;y] ^ _ BbCb?cV3W3X3Y3Z303132333435363738393!3#3$3%3'3(3)3*3+3,3-3.3/3:3;3=3?3@3[3DALhMhNh]3^3_3`30A{3|3}3~3a4b4c4rfd4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4?B@B]B{BY4Z404142434445464748494!4#4$4%4'4(4)4*4+4,4-4.4/4:4;4=4?4@45c6c[4]4^4_4`4{4|4}4~4a5b5c5d5e5f5g5h5i5j5k5l5` m5n5A 9bo5d p5q5r5s5GDHDt5IDNDu5PhQhv5w53 !bx5y5z5A5B5C5D5E5{ | } ~ abv j ~dF5G5QEH5I5J5K5L58E!Er 4 5 PbQb6 M5N5O5P5#b7 @c[cQ5R5S5T59F]g7cU58c9coGbbcbdbDbEb]cV5W5X5Y5Z505152535455565758595!5#5$5%5'5(5)5*5+5,5-5.5/5:5;5=5?5@5[54HThUhVh]5^5_5`5@H{5|5}5~5a6b6c6sfd6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6qJrJtJxJY6Z606162636465666768696!6#6$6%6'6(6)6*6+6,6-6.6/6:6;6=6?6@6!c#c[6]6^6_6`6{6|6}6~6a7b7c7d7e7f7g7h7i7j7k7l7ebm7n7B 'bo7e p7q7r7s77K8Kt79K'Ku7XhYhv7w78 (bx7y7z7A7B7C7D7E7fbgbhbibjbw k aeF7G7*LH7I7J7K7L7}LaMs 9 ! RbSb# M7N7O7P7)b$ ^c_cQ7R7S7T7~M^g$cU7%c'cPNkblbmbFbGb`cV7W7X7Y7Z707172737475767778797!7#7$7%7'7(7)7*7+7,7-7.7/7:7;7=7?7@7[7_O1h2h3h]7^7_7`7rP{7|7}7~7a8b8c8tfd8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8RQSQUQYQY8Z808182838485868788898!8#8$8%8'8(8)8*8+8,8-8.8/8:8;8=8?8@8(c)c[8]8^8_8`8{8|8}8~8a9b9c9d9e9f9g9h9i9j9k9l9nbm9n9C ,bo9f p9q9r9s9|R}Rt9~ReSu95h6hv9w9% -bx9y9z9A9B9C9D9E9obpbqbrbsbx l beF9G9hTH9I9J9K9L9zTBTt ' ( TbUb) M9N9O9P9.b* {c|cQ9R9S9T9AU_g*cU9+c,c)UtbubvbHbIb}cV9W9X9Y9Z909192939495969798999!9#9$9%9'9(9)9*9+9,9-9.9/9:9;9=9?9@9[9vW9h!h#h]9^9_9`9SW{9|9}9~9a!b!c!ufd!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!+X,X.X=XY!Z!0!1!2!3!4!5!6!7!8!9!!!#!$!%!'!(!)!*!+!,!-!.!/!:!;!=!?!@!-c.c[!]!^!_!`!{!|!}!~!a#b#c#d#e#f#g#h#i#j#k#l#wbm#n#D ;bo#

45 # Ref: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#patterned-fields-1 

46 if status_code in { 2a %h'h(h)h*h+h,h-h.h/h:h;h=h?h@h=b[h?b@b]h^hzh_h[b`h{h|h}h~hai]bE VbbicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZicedeeefege0i1i2i3i4iAhBh5i6i7i8i9i!i#i$i%i'i(i)i*i+i,i-iF G H I J m g .i/i:i;i=i?i@i[i]i^i_i`i{i|i}i)e*e~iajbjcjdjejfjgjo K L JbKbM hjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:jWbN ;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfk+ggkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkXbYbUkVkWkXk+ , - Ykxbyb^bZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSm+e,eTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7oCh-e.e8o9o!o#o$o%o'o(o_b)oheiejekeleme*o+o,o-o.o/o:oy Zbb ;o=o?o@o[o]o^o_o`o{o|o}o~oapbp`bcp{b|bdpepDhfp}bgphpipjpkplp~bO 0bmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!pneoepeqere#p$p%p'p(pEhFh)p*p+p,p-p.p/p:p;p=p?p@p[p]p^p_pP Q R S T n h `p{p|p}p~paqbqcqdqeqfqgqhqiqjq/e:ekqlqmqnqoqpqqqrqp U V LbMbW sqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q|q1bX }q~qarbrcrdrerfrgrhrirjrkrlrmrnrorprqr,grrsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r2b3b5r6r7r8r. / : 9rzbAbac!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t;e=e4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbvcvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+vGh?e@e,v-v.v/v:v;v=v?vbc@vseteuevewexe[v]v^v_v`v{v|vz 4bc }v~vawbwcwdwewiwjwkwlwnwowpwqwccrwdcecswtwHhuwfcvwwwxwywzwAwgcY 5bBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=wyezeAeBeCe?w@w[w]w^wJhKh_w`w{w|w}w~waxbxcxdxexfxgxhxixjx; = ? @ [ u i kxlxmxnxoxqxrxsxtxuxvxwxxxyxzx[e]eAxBxCxDxExFxGxIxq Z 0 NbOb1 KxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypy6b2 hcicjckcqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyJy[gKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y7b8b=y?y@y[y] ^ _ ]yBbCblc^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!z#z$z%z'z(z)z*z+z,z-z.z/z:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A^e_e?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B8B9B!B#B$B%B'B(B)B*B+B,B-B.B/B:B;B=B[B^B_B`B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDOh`e{ejDkDlDmDnDoDpDqDmcrDDeEeFeGeHeIesD` tDuDvDwDxDyDA 9bd zDADBDCDDDEDFDJDKDLDMDODPDQDRDncSDocpcTDUDPhVDqcWDXDYDZD0D1Drc3 !b2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEJeKeLeMeNeqErEsEtEuERhShvEwExEyEzEAEBECEDEEEFEGEHEIEJEKE{ | } ~ abv j LEMENEOEPERESETEUEVEWEXEYEZE0E|e}e1E2E3E4E5E6E7E9Er 4 5 PbQb6 #E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E@E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQF#b7 sctcucvcRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F!F]g#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnG$b%bpGqGrGsGbbcbdbtGDbEbwcuGvGwGxGyGzGAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;H=H?H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpI~eafqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJsJuJvJwJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKWhbfcfKKLKMKNKOKPKQKRKxcSKOePeQeReSeTeTKebUKVKWKXKYKZKB 'be 0K1K2K3K4K5K6K!K#K$K%K(K)K*K+Kyc,KzcAc-K.KXh/KBc:K;K=K?K@K[KCc8 (b]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLUeVeWeXeYeRLSLTLULVLZh0hWLXLYLZL0L1L2L3L4L5L6L7L8L9L!L#Lfbgbhbibjbw k $L%L'L(L)L+L,L-L.L/L:L;L=L?L@Ldfef[L]L^L_L`L{L|L~Ls 9 ! RbSb# bMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1M2M3M4M5M6M7M8M9M!M#M$M%M'M(M)M*M)b$ DcEcFcGc+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}MaN^gbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNON*b+bQNRNSNTNkblbmbUNFbGbHcVNWNXNYNZN0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O*O+O,O-O.O/O:O;O=O?O@O[O]O^O`O{O|O}O~OaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPffgfRPSPTPUPVPWPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQTQVQWQXQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q/Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R4hhfif#R$R%R'R(R)R*R+RIc,RZe0e1e2e3e4e-Rnb.R/R:R;R=R?RC ,bf @R[R]R^R_R`R{RaSbScSdSfSgShSiSJcjSKcLckSlS5hmSMcnSoSpSqSrSsSNc% -btSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S5e6e7e8e9e+S,S-S.S/S7h8h:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTobpbqbrbsbx l cTdTeTfTgTiTjTkTlTmTnToTpTqTrTjfkfsTtTuTvTwTxTyTATt ' ( TbUb) CTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhU.b* OcPcQcRciUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUBU_gCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U/b:b*U+U,U-Utbubvb.UHbIbSc/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWTWUWVWWWXWYWZW0W1W2W3W4W5W6W7W8W9W!W#W$W%W'W(W)W*Wlfmf+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X$X%X'X(X)X*X-X/X:X;X?X@X[X]X^X_X`X{X|X}X~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y!Y#Y$Y%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y]Y^Y_Y`Y{Y|Y}Y~YaZ$hnfofbZcZdZeZfZgZhZiZTcjZ!e#e$e%e'e(ekZwblZmZnZoZpZqZD ;b

47 "default", 

48 "1XX", 

49 "2XX", 

50 "3XX", 

51 "4XX", 

52 "5XX", 

53 }: 

54 return True 1abcdef

55 current_status_code = int(status_code) 2a %h'h(h)h*h+h,h-h.h/h:h;h=h?h@h=b[h?b@b]h^hzh_h[b`h{h|h}h~hai]bE VbbicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZicedeeefege0i1i2i3i4iAhBh5i6i7i8i9i!i#i$i%i'i(i)i*i+i,i-iF G H I J m g .i/i:i;i=i?i@i[i]i^i_i`i{i|i}i)e*e~iajbjcjdjejfjgjo K L JbKbM hjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:jWbN ;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfk+ggkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkXbYbUkVkWkXk+ , - Ykxbyb^bZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSm+e,eTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7oCh-e.e8o9o!o#o$o%o'o(o_b)oheiejekeleme*o+o,o-o.o/o:oy Zbb ;o=o?o@o[o]o^o_o`o{o|o}o~oapbp`bcp{b|bdpepDhfp}bgphpipjpkplp~bO 0bmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!pneoepeqere#p$p%p'p(pEhFh)p*p+p,p-p.p/p:p;p=p?p@p[p]p^p_pP Q R S T n h `p{p|p}p~paqbqcqdqeqfqgqhqiqjq/e:ekqlqmqnqoqpqqqrqp U V LbMbW sqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q|q1bX }q~qarbrcrdrerfrgrhrirjrkrlrmrnrorprqr,grrsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r2b3b5r6r7r8r. / : 9rzbAbac!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t;e=e4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbvcvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+vGh?e@e,v-v.v/v:v;v=v?vbc@vseteuevewexe[v]v^v_v`v{v|vz 4bc }v~vawbwcwdwewiwjwkwlwnwowpwqwccrwdcecswtwHhuwfcvwwwxwywzwAwgcY 5bBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=wyezeAeBeCe?w@w[w]w^wJhKh_w`w{w|w}w~waxbxcxdxexfxgxhxixjx; = ? @ [ u i kxlxmxnxoxqxrxsxtxuxvxwxxxyxzx[e]eAxBxCxDxExFxGxIxq Z 0 NbOb1 KxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypy6b2 hcicjckcqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyJy[gKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y7b8b=y?y@y[y] ^ _ ]yBbCblc^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!z#z$z%z'z(z)z*z+z,z-z.z/z:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A^e_e?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B8B9B!B#B$B%B'B(B)B*B+B,B-B.B/B:B;B=B[B^B_B`B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDOh`e{ejDkDlDmDnDoDpDqDmcrDDeEeFeGeHeIesD` tDuDvDwDxDyDA 9bd zDADBDCDDDEDFDJDKDLDMDODPDQDRDncSDocpcTDUDPhVDqcWDXDYDZD0D1Drc3 !b2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEJeKeLeMeNeqErEsEtEuERhShvEwExEyEzEAEBECEDEEEFEGEHEIEJEKE{ | } ~ abv j LEMENEOEPERESETEUEVEWEXEYEZE0E|e}e1E2E3E4E5E6E7E9Er 4 5 PbQb6 #E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E@E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQF#b7 sctcucvcRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F!F]g#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnG$b%bpGqGrGsGbbcbdbtGDbEbwcuGvGwGxGyGzGAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;H=H?H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpI~eafqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJsJuJvJwJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKWhbfcfKKLKMKNKOKPKQKRKxcSKOePeQeReSeTeTKebUKVKWKXKYKZKB 'be 0K1K2K3K4K5K6K!K#K$K%K(K)K*K+Kyc,KzcAc-K.KXh/KBc:K;K=K?K@K[KCc8 (b]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLUeVeWeXeYeRLSLTLULVLZh0hWLXLYLZL0L1L2L3L4L5L6L7L8L9L!L#Lfbgbhbibjbw k $L%L'L(L)L+L,L-L.L/L:L;L=L?L@Ldfef[L]L^L_L`L{L|L~Ls 9 ! RbSb# bMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1M2M3M4M5M6M7M8M9M!M#M$M%M'M(M)M*M)b$ DcEcFcGc+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}MaN^gbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNON*b+bQNRNSNTNkblbmbUNFbGbHcVNWNXNYNZN0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O*O+O,O-O.O/O:O;O=O?O@O[O]O^O`O{O|O}O~OaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPffgfRPSPTPUPVPWPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQTQVQWQXQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q/Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R4hhfif#R$R%R'R(R)R*R+RIc,RZe0e1e2e3e4e-Rnb.R/R:R;R=R?RC ,bf @R[R]R^R_R`R{RaSbScSdSfSgShSiSJcjSKcLckSlS5hmSMcnSoSpSqSrSsSNc% -btSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S5e6e7e8e9e+S,S-S.S/S7h8h:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTobpbqbrbsbx l cTdTeTfTgTiTjTkTlTmTnToTpTqTrTjfkfsTtTuTvTwTxTyTATt ' ( TbUb) CTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhU.b* OcPcQcRciUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUBU_gCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U/b:b*U+U,U-Utbubvb.UHbIbSc/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWTWUWVWWWXWYWZW0W1W2W3W4W5W6W7W8W9W!W#W$W%W'W(W)W*Wlfmf+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X$X%X'X(X)X*X-X/X:X;X?X@X[X]X^X_X`X{X|X}X~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y!Y#Y$Y%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y]Y^Y_Y`Y{Y|Y}Y~YaZ$hnfofbZcZdZeZfZgZhZiZTcjZ!e#e$e%e'e(ekZwblZmZnZoZpZqZD ;b

56 return not (current_status_code < 200 or current_status_code in {204, 205, 304}) 2a %h'h(h)h*h+h,h-h.h/h:h;h=h?h@h=b[h?b@b]h^hzh_h[b`h{h|h}h~hai]bE VbbicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZicedeeefege0i1i2i3i4iAhBh5i6i7i8i9i!i#i$i%i'i(i)i*i+i,i-iF G H I J m g .i/i:i;i=i?i@i[i]i^i_i`i{i|i}i)e*e~iajbjcjdjejfjgjo K L JbKbM hjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j7j8j9j!j#j$j%j'j(j)j*j+j,j-j.j/j:jWbN ;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfk+ggkhkikjkkklkmknkokpkqkrksktkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkXbYbUkVkWkXk+ , - Ykxbyb^bZk0k1k2k3k4k5k6k7k8k9k!k#k$k%k'k(k)k*k+k,k-k.k/k:k;k=k?k@k[k]k^k_k`k{k|k}k~kalblcldlelflglhliljlklllmlnlolplqlrlsltlulvlwlxlylzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l8l9l!l#l$l%l'l(l)l*l+l,l-l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSm+e,eTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m9m!m#m$m%m'm(m)m*m+m,m-m.m/m:m;m=m?m@m[m]m^m_m`m{m|m}m~manbncndnenfngnhninjnknlnmnnnonpnqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnRnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!n#n$n%n'n(n)n*n+n,n-n.n/n:n;n=n?n@n[n]n^n_n`n{n|n}n~naobocodoeofogohoiojokolomonooopoqorosotouovowoxoyozoAoBoCoDoEoFoGoHoIoJoKoLoMoNoOoPoQoRoSoToUoVoWoXoYoZo0o1o2o3o4o5o6o7oCh-e.e8o9o!o#o$o%o'o(o_b)oheiejekeleme*o+o,o-o.o/o:oy Zbb ;o=o?o@o[o]o^o_o`o{o|o}o~oapbp`bcp{b|bdpepDhfp}bgphpipjpkplp~bO 0bmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!pneoepeqere#p$p%p'p(pEhFh)p*p+p,p-p.p/p:p;p=p?p@p[p]p^p_pP Q R S T n h `p{p|p}p~paqbqcqdqeqfqgqhqiqjq/e:ekqlqmqnqoqpqqqrqp U V LbMbW sqtquqvqwqxqyqzqAqBqCqDqEqFqGqHqIqJqKqLqMqNqOqPqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q#q$q%q'q(q)q*q+q,q-q.q/q:q;q=q?q@q[q]q^q_q`q{q|q1bX }q~qarbrcrdrerfrgrhrirjrkrlrmrnrorprqr,grrsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrPrQrRrSrTrUrVrWrXrYrZr0r1r2r3r4r2b3b5r6r7r8r. / : 9rzbAbac!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8s9s!s#s$s%s's(s)s*s+s,s-s.s/s:s;s=s?s@s[s]s^s_s`s{s|s}s~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t;e=e4t5t6t7t8t9t!t#t$t%t't(t)t*t+t,t-t.t/t:t;t=t?t@t[t]t^t_t`t{t|t}t~taubucudueufuguhuiujukulumunuoupuqurusutuuuvuwuxuyuzuAuBuCuDuEuFuGuHuIuJuKuLuMuNuOuPuQuRuSuTuUuVuWuXuYuZu0u1u2u3u4u5u6u7u8u9u!u#u$u%u'u(u)u*u+u,u-u.u/u:u;u=u?u@u[u]u^u_u`u{u|u}u~uavbvcvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvSvTvUvVvWvXvYvZv0v1v2v3v4v5v6v7v8v9v!v#v$v%v'v(v)v*v+vGh?e@e,v-v.v/v:v;v=v?vbc@vseteuevewexe[v]v^v_v`v{v|vz 4bc }v~vawbwcwdwewiwjwkwlwnwowpwqwccrwdcecswtwHhuwfcvwwwxwywzwAwgcY 5bBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=wyezeAeBeCe?w@w[w]w^wJhKh_w`w{w|w}w~waxbxcxdxexfxgxhxixjx; = ? @ [ u i kxlxmxnxoxqxrxsxtxuxvxwxxxyxzx[e]eAxBxCxDxExFxGxIxq Z 0 NbOb1 KxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!x#x$x%x'x(x)x*x+x,x-x.x/x:x;x=x?x@x[x]x^x_x`x{x|x}x~xaybycydyeyfygyhyiyjykylymynyoypy6b2 hcicjckcqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyJy[gKyLyMyNyOyPyQyRySyTyUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!y#y$y%y'y(y)y*y+y,y-y.y/y:y7b8b=y?y@y[y] ^ _ ]yBbCblc^y_y`y{y|y}y~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzuzvzwzxzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!z#z$z%z'z(z)z*z+z,z-z.z/z:z;z=z?z@z[z]z^z_z`z{z|z}z~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A^e_e?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB0B1B2B3B4B5B6B7B8B9B!B#B$B%B'B(B)B*B+B,B-B.B/B:B;B=B[B^B_B`B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+C,C-C.C/C:C;C=C?C@C[C]C^C_C`C{C|C}C~CaDbDcDdDeDfDgDhDiDOh`e{ejDkDlDmDnDoDpDqDmcrDDeEeFeGeHeIesD` tDuDvDwDxDyDA 9bd zDADBDCDDDEDFDJDKDLDMDODPDQDRDncSDocpcTDUDPhVDqcWDXDYDZD0D1Drc3 !b2D3D4D5D6D7D8D9D!D#D$D%D'D(D)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEJeKeLeMeNeqErEsEtEuERhShvEwExEyEzEAEBECEDEEEFEGEHEIEJEKE{ | } ~ abv j LEMENEOEPERESETEUEVEWEXEYEZE0E|e}e1E2E3E4E5E6E7E9Er 4 5 PbQb6 #E$E%E'E(E)E*E+E,E-E.E/E:E;E=E?E@E[E]E^E_E`E{E|E}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQF#b7 sctcucvcRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F!F]g#F$F%F'F(F)F*F+F,F-F.F/F:F;F=F?F@F[F]F^F_F`F{F|F}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnG$b%bpGqGrGsGbbcbdbtGDbEbwcuGvGwGxGyGzGAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G/G:G;G=G?G@G[G]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H5H6H7H8H9H!H#H$H%H'H(H)H*H+H,H-H.H/H:H;H=H?H[H]H^H_H`H{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpI~eafqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I^I_I`I{I|I}I~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJsJuJvJwJyJzJAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(J)J*J+J,J-J.J/J:J;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKWhbfcfKKLKMKNKOKPKQKRKxcSKOePeQeReSeTeTKebUKVKWKXKYKZKB 'be 0K1K2K3K4K5K6K!K#K$K%K(K)K*K+Kyc,KzcAc-K.KXh/KBc:K;K=K?K@K[KCc8 (b]K^K_K`K{K|K}K~KaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzLALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLUeVeWeXeYeRLSLTLULVLZh0hWLXLYLZL0L1L2L3L4L5L6L7L8L9L!L#Lfbgbhbibjbw k $L%L'L(L)L+L,L-L.L/L:L;L=L?L@Ldfef[L]L^L_L`L{L|L~Ls 9 ! RbSb# bMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM0M1M2M3M4M5M6M7M8M9M!M#M$M%M'M(M)M*M)b$ DcEcFcGc+M,M-M.M/M:M;M=M?M@M[M]M^M_M`M{M|M}MaN^gbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKNLNMNNNON*b+bQNRNSNTNkblbmbUNFbGbHcVNWNXNYNZN0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N?N@N[N]N^N_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O(O)O*O+O,O-O.O/O:O;O=O?O@O[O]O^O`O{O|O}O~OaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPffgfRPSPTPUPVPWPXPYPZP0P1P2P3P4P5P6P7P8P9P!P#P$P%P'P(P)P*P+P,P-P.P/P:P;P=P?P@P[P]P^P_P`P{P|P}P~PaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQTQVQWQXQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Q-Q.Q/Q:Q;Q=Q?Q@Q[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R4hhfif#R$R%R'R(R)R*R+RIc,RZe0e1e2e3e4e-Rnb.R/R:R;R=R?RC ,bf @R[R]R^R_R`R{RaSbScSdSfSgShSiSJcjSKcLckSlS5hmSMcnSoSpSqSrSsSNc% -btSuSvSwSxSySzSASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S6S7S8S9S!S#S$S%S'S(S)S*S5e6e7e8e9e+S,S-S.S/S7h8h:S;S=S?S@S[S]S^S_S`S{S|S}S~SaTbTobpbqbrbsbx l cTdTeTfTgTiTjTkTlTmTnToTpTqTrTjfkfsTtTuTvTwTxTyTATt ' ( TbUb) CTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,T-T.T/T:T;T=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgUhU.b* OcPcQcRciUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUBU_gCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8U9U!U#U$U%U'U(U/b:b*U+U,U-Utbubvb.UHbIbSc/U:U;U=U?U@U[U]U^U_U`U{U|U}U~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V3V4V5V6V7V8V9V!V#V$V%V'V(V)V*V+V,V-V.V/V:V;V=V?V@V[V]V^V_V`V{V|V}V~VaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWwWxWyWzWAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWTWUWVWWWXWYWZW0W1W2W3W4W5W6W7W8W9W!W#W$W%W'W(W)W*Wlfmf+W,W-W.W/W:W;W=W?W@W[W]W^W_W`W{W|W}W~WaXbXcXdXeXfXgXhXiXjXkXlXmXnXoXpXqXrXsXtXuXvXwXxXyXzXAXBXCXDXEXFXGXHXIXJXKXLXMXNXOXPXQXRXSXTXUXVXWXXXYXZX0X1X2X3X4X5X6X7X8X9X!X#X$X%X'X(X)X*X-X/X:X;X?X@X[X]X^X_X`X{X|X}X~XaYbYcYdYeYfYgYhYiYjYkYlYmYnYoYpYqYrYsYtYuYvYwYxYyYzYAYBYCYDYEYFYGYHYIYJYKYLYMYNYOYPYQYRYSYTYUYVYWYXYYYZY0Y1Y2Y3Y4Y5Y6Y7Y8Y9Y!Y#Y$Y%Y'Y(Y)Y*Y+Y,Y-Y.Y/Y:Y;Y=Y?Y@Y[Y]Y^Y_Y`Y{Y|Y}Y~YaZ$hnfofbZcZdZeZfZgZhZiZTcjZ!e#e$e%e'e(ekZwblZmZnZoZpZqZD ;b

57 

58 

59def get_path_param_names(path: str) -> Set[str]: 1abcdef

60 return set(re.findall("{(.*?)}", path)) 2a =b}f?b@b[b]bE VbcevfwfdexfyfeezffeAfBfgeCfAhBhF G H I J m g {d)e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN + , - xbyb^b/cpf+e,eChjg-e.e~c_bheiejekelemey ZbDfEfFfp#b `bkg{b|b}b~bO 0bneGfHfoeIfJfpeKfqeLfMfreNfEhFhP Q R S T n h |d/e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX . / : zbAbac:cqf;e=eGhvg?e@eadbcseteuevewexez 4bOfPfQfq#c ccwgdcecfcgcY 5byeRfSfzeTfUfAeVfBeWfXfCeYfJhKh; = ? @ [ u i }d[e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc] ^ _ BbCblc?crf^e_eOhHg`e{ebdmcDeEeFeGeHeIe` A 9bZf0f1fr#d ncIgocpcqcrc3 !bJe2f3fKe4f5fLe6fMe7f8fNe9fRhSh{ | } ~ abv j ~d|e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvcbbcbdbDbEbwc]csf~eafWhTgbfcfcdxcOePeQeReSeTeebB 'b!f#f$fs#e ycUgzcAcBcCc8 (bUe%f'fVe(f)fWe*fXe+f,fYe-fZh0hfbgbhbibjbw k aedfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGckblbmbFbGbHc`ctfffgf4h5ghfifddIcZe0e1e2e3e4enbC ,b.f/f:ft#f Jc6gKcLcMcNc% -b5e;f=f6e?f@f7e[f8e]f^f9e_f7h8hobpbqbrbsbx l bejfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRctbubvbHbIbSc}cuflfmf$h*gnfofedTc!e#e$e%e'e(ewbD ;b`f{f|fu#

61 

62 

63def create_model_field( 1abcdef

64 name: str, 

65 type_: Any, 

66 class_validators: Optional[Dict[str, Validator]] = None, 

67 default: Optional[Any] = Undefined, 

68 required: Union[bool, UndefinedType] = Undefined, 

69 model_config: Type[BaseConfig] = BaseConfig, 

70 field_info: Optional[FieldInfo] = None, 

71 alias: Optional[str] = None, 

72 mode: Literal["validation", "serialization"] = "validation", 

73) -> ModelField: 

74 class_validators = class_validators or {} 2a =b?b@b[b]bE VbcevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemey ZbDfEfFfb `b{b|b}b~bO 0bneGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexez 4bOfPfQfc ccdcecfcgcY 5byeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` A 9bZf0f1fd ncocpcqcrc3 !bJe2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeebB 'b!f#f$fe yczcAcBcCc8 (bUe%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enbC ,b.f/f:ff JcKcLcMcNc% -b5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewbD ;b`f{f|f

75 if PYDANTIC_V2: 2a =b?b@b[b]bE VbcevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemey ZbDfEfFfb `b{b|b}b~bO 0bneGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexez 4bOfPfQfc ccdcecfcgcY 5byeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` A 9bZf0f1fd ncocpcqcrc3 !bJe2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeebB 'b!f#f$fe yczcAcBcCc8 (bUe%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enbC ,b.f/f:ff JcKcLcMcNc% -b5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewbD ;b`f{f|f

76 field_info = field_info or FieldInfo( 2a =b?b@b[b]bVbcevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L JbKbM WbUcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemeZbDfEfFfb `b{b|b}b~b0bneGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V LbMbW 1bYc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexe4bOfPfQfc ccdcecfcgc5byeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 NbOb1 6bhc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` 9bZf0f1fd ncocpcqcrc!bJe2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 PbQb6 #bsc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeeb'b!f#f$fe yczcAcBcCc(bUe%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! RbSb# )bDc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enb,b.f/f:ff JcKcLcMcNc-b5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( TbUb) .bOc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewb;b`f{f|f

77 annotation=type_, default=default, alias=alias 

78 ) 

79 else: 

80 field_info = field_info or FieldInfo() 2a =b?b@b[b]bE cevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L M N UcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemey DfEfFfb `b{b|b}b~bO neGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V W X Yc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexez OfPfQfc ccdcecfcgcY yeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 1 2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` A Zf0f1fd ncocpcqcrc3 Je2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 6 7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeebB !f#f$fe yczcAcBcCc8 Ue%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! # $ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enbC .f/f:ff JcKcLcMcNc% 5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( ) * Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewbD `f{f|f

81 kwargs = {"name": name, "field_info": field_info} 2a =b?b@b[b]bE VbcevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemey ZbDfEfFfb `b{b|b}b~bO 0bneGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexez 4bOfPfQfc ccdcecfcgcY 5byeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` A 9bZf0f1fd ncocpcqcrc3 !bJe2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeebB 'b!f#f$fe yczcAcBcCc8 (bUe%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enbC ,b.f/f:ff JcKcLcMcNc% -b5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewbD ;b`f{f|f

82 if PYDANTIC_V2: 2a =b?b@b[b]bE VbcevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemey ZbDfEfFfb `b{b|b}b~bO 0bneGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexez 4bOfPfQfc ccdcecfcgcY 5byeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` A 9bZf0f1fd ncocpcqcrc3 !bJe2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeebB 'b!f#f$fe yczcAcBcCc8 (bUe%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enbC ,b.f/f:ff JcKcLcMcNc% -b5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewbD ;b`f{f|f

83 kwargs.update({"mode": mode}) 2a =b?b@b[b]bVbcevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L JbKbM WbUcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemeZbDfEfFfb `b{b|b}b~b0bneGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V LbMbW 1bYc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexe4bOfPfQfc ccdcecfcgc5byeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 NbOb1 6bhc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` 9bZf0f1fd ncocpcqcrc!bJe2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 PbQb6 #bsc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeeb'b!f#f$fe yczcAcBcCc(bUe%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! RbSb# )bDc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enb,b.f/f:ff JcKcLcMcNc-b5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( TbUb) .bOc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewb;b`f{f|f

84 else: 

85 kwargs.update( 2a =b?b@b[b]bE cevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L M N UcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemey DfEfFfb `b{b|b}b~bO neGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V W X Yc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexez OfPfQfc ccdcecfcgcY yeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 1 2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` A Zf0f1fd ncocpcqcrc3 Je2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 6 7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeebB !f#f$fe yczcAcBcCc8 Ue%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! # $ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enbC .f/f:ff JcKcLcMcNc% 5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( ) * Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewbD `f{f|f

86 { 

87 "type_": type_, 

88 "class_validators": class_validators, 

89 "default": default, 

90 "required": required, 

91 "model_config": model_config, 

92 "alias": alias, 

93 } 

94 ) 

95 try: 2a =b?b@b[b]bE VbcevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemey ZbDfEfFfb `b{b|b}b~bO 0bneGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexez 4bOfPfQfc ccdcecfcgcY 5byeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` A 9bZf0f1fd ncocpcqcrc3 !bJe2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeebB 'b!f#f$fe yczcAcBcCc8 (bUe%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enbC ,b.f/f:ff JcKcLcMcNc% -b5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewbD ;b`f{f|f

96 return ModelField(**kwargs) # type: ignore[arg-type] 2a =b?b@b[b]bE VbcevfwfdexfyfeezffeAfBfgeCfF G H I J m g {dfdgdhdidjdkdldmdndodpdqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cXc~c_bheiejekelemey ZbDfEfFfb `b{b|b}b~bO 0bneGfHfoeIfJfpeKfqeLfMfreNfP Q R S T n h |drdsdtdudvdwdxdydzdAdBdCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:c1cadbcseteuevewexez 4bOfPfQfc ccdcecfcgcY 5byeRfSfzeTfUfAeVfBeWfXfCeYf; = ? @ [ u i }dDdEdFdGdHdIdJdKdLdMdNdOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?c5c6cbdmcDeEeFeGeHeIe` A 9bZf0f1fd ncocpcqcrc3 !bJe2f3fKe4f5fLe6fMe7f8fNe9f{ | } ~ abv j ~dRdSdTdUdVdWdXdYdZd0d1d2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]c!c#ccdxcOePeQeReSeTeebB 'b!f#f$fe yczcAcBcCc8 (bUe%f'fVe(f)fWe*fXe+f,fYe-ffbgbhbibjbw k ae5d6d7d8d9d!d#d$d%d'd(d)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`c(c)cddIcZe0e1e2e3e4enbC ,b.f/f:ff JcKcLcMcNc% -b5e;f=f6e?f@f7e[f8e]f^f9e_fobpbqbrbsbx l be,d-d.d/d:d;d=d?d@d[d]d^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}c-c.cedTc!e#e$e%e'e(ewbD ;b`f{f|f

97 except (RuntimeError, PydanticSchemaGenerationError): 2UcXbVcYbWcXcYc2bZc3b0c1c2c7b3c8b4c5c6c7c$b8c%b9c!c#c$c*b%c+b'c(c)c*c/b+c:b,c-c.c

98 raise fastapi.exceptions.FastAPIError( 2UcXbVcYbWcXcYc2bZc3b0c1c2c7b3c8b4c5c6c7c$b8c%b9c!c#c$c*b%c+b'c(c)c*c/b+c:b,c-c.c

99 "Invalid args for response field! Hint: " 

100 f"check that {type_} is a valid Pydantic field type. " 

101 "If you are using a return type annotation that is not a valid Pydantic " 

102 "field (e.g. Union[Response, dict, None]) you can disable generating the " 

103 "response model from the type annotation with the path operation decorator " 

104 "parameter response_model=None. Read more: " 

105 "https://fastapi.tiangolo.com/tutorial/response-model/" 

106 ) from None 

107 

108 

109def create_cloned_field( 1abcdef

110 field: ModelField, 

111 *, 

112 cloned_types: Optional[MutableMapping[Type[BaseModel], Type[BaseModel]]] = None, 

113) -> ModelField: 

114 if PYDANTIC_V2: 2a E VbF G H I J m g o K L JbKbM WbN + , - xbyby Zbb O 0bP Q R S T n h p U V LbMbW 1bX . / : zbAbz 4bc Y 5b; = ? @ [ u i q Z 0 NbOb1 6b2 ] ^ _ BbCb` A 9bd 3 !b{ | } ~ abv j r 4 5 PbQb6 #b7 bbcbdbDbEbebB 'be 8 (bfbgbhbibjbw k s 9 ! RbSb# )b$ kblbmbFbGbnbC ,bf % -bobpbqbrbsbx l t ' ( TbUb) .b* tbubvbHbIbwbD ;b

115 return field 2a VbF G H I J m g o K L JbKbM Wb+ , - xbybZbb 0bP Q R S T n h p U V LbMbW 1b. / : zbAb4bc 5b; = ? @ [ u i q Z 0 NbOb1 6b] ^ _ BbCb` 9bd !b{ | } ~ abv j r 4 5 PbQb6 #bbbcbdbDbEbeb'be (bfbgbhbibjbw k s 9 ! RbSb# )bkblbmbFbGbnb,bf -bobpbqbrbsbx l t ' ( TbUb) .btbubvbHbIbwb;b

116 # cloned_types caches already cloned types to support recursive models and improve 

117 # performance by avoiding unnecessary cloning 

118 if cloned_types is None: 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

119 cloned_types = _CLONED_TYPES_CACHE 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

120 

121 original_type = field.type_ 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

122 if is_dataclass(original_type) and hasattr(original_type, "__pydantic_model__"): 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

123 original_type = original_type.__pydantic_model__ 1abcdef

124 use_type = original_type 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

125 if lenient_issubclass(original_type, BaseModel): 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

126 original_type = cast(Type[BaseModel], original_type) 2a E F G H I J m g o K L M N y b O P Q R S T n h p U V W X z c Y ; = ? @ [ u i q Z 0 1 2 A d 3 { | } ~ abv j r 4 5 6 7 B e 8 fbgbhbibjbw k s 9 ! # $ C f % obpbqbrbsbx l t ' ( ) * D

127 use_type = cloned_types.get(original_type) 2a E F G H I J m g o K L M N y b O P Q R S T n h p U V W X z c Y ; = ? @ [ u i q Z 0 1 2 A d 3 { | } ~ abv j r 4 5 6 7 B e 8 fbgbhbibjbw k s 9 ! # $ C f % obpbqbrbsbx l t ' ( ) * D

128 if use_type is None: 2a E F G H I J m g o K L M N y b O P Q R S T n h p U V W X z c Y ; = ? @ [ u i q Z 0 1 2 A d 3 { | } ~ abv j r 4 5 6 7 B e 8 fbgbhbibjbw k s 9 ! # $ C f % obpbqbrbsbx l t ' ( ) * D

129 use_type = create_model(original_type.__name__, __base__=original_type) 1aEgoNybOhpXzcYiq2Ad3jr7Be8ks$Cf%lt*D

130 cloned_types[original_type] = use_type 1aEgoNybOhpXzcYiq2Ad3jr7Be8ks$Cf%lt*D

131 for f in original_type.__fields__.values(): 1aEgoNybOhpXzcYiq2Ad3jr7Be8ks$Cf%lt*D

132 use_type.__fields__[f.name] = create_cloned_field( 1aEgoNybOhpXzcYiq2Ad3jr7Be8ks$Cf%lt*D

133 f, cloned_types=cloned_types 

134 ) 

135 new_field = create_model_field(name=field.name, type_=use_type) 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

136 new_field.has_alias = field.has_alias # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

137 new_field.alias = field.alias # type: ignore[misc] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

138 new_field.class_validators = field.class_validators # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

139 new_field.default = field.default # type: ignore[misc] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

140 new_field.required = field.required # type: ignore[misc] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

141 new_field.model_config = field.model_config # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

142 new_field.field_info = field.field_info 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

143 new_field.allow_none = field.allow_none # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

144 new_field.validate_always = field.validate_always # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

145 if field.sub_fields: # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

146 new_field.sub_fields = [ # type: ignore[attr-defined] 2a F G H I J m g o K L M + , - y b P Q R S T n h p U V W . / : z c ; = ? @ [ u i q Z 0 1 ] ^ _ ` A d { | } ~ abv j r 4 5 6 bbcbdbebB e fbgbhbibjbw k s 9 ! # kblbmbnbC f obpbqbrbsbx l t ' ( ) tbubvbwbD

147 create_cloned_field(sub_field, cloned_types=cloned_types) 

148 for sub_field in field.sub_fields # type: ignore[attr-defined] 

149 ] 

150 if field.key_field: # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

151 new_field.key_field = create_cloned_field( # type: ignore[attr-defined] 2a + , - b . / : c ] ^ _ ` d bbcbdbebe kblbmbnbf tbubvbwb

152 field.key_field, # type: ignore[attr-defined] 

153 cloned_types=cloned_types, 

154 ) 

155 new_field.validators = field.validators # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

156 new_field.pre_validators = field.pre_validators # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

157 new_field.post_validators = field.post_validators # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

158 new_field.parse_json = field.parse_json # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

159 new_field.shape = field.shape # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

160 new_field.populate_validators() # type: ignore[attr-defined] 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

161 return new_field 2a E F G H I J m g o K L M N + , - xbyby b O P Q R S T n h p U V W X . / : zbAbz c Y ; = ? @ [ u i q Z 0 1 2 ] ^ _ BbCb` A d 3 { | } ~ abv j r 4 5 6 7 bbcbdbDbEbebB e 8 fbgbhbibjbw k s 9 ! # $ kblbmbFbGbnbC f % obpbqbrbsbx l t ' ( ) * tbubvbHbIbwbD

162 

163 

164def generate_operation_id_for_path( 1abcdef

165 *, name: str, path: str, method: str 1abcdef

166) -> str: # pragma: nocover 1abcdef

167 warnings.warn( 

168 "fastapi.utils.generate_operation_id_for_path() was deprecated, " 

169 "it is not used internally, and will be removed soon", 

170 DeprecationWarning, 

171 stacklevel=2, 

172 ) 

173 operation_id = f"{name}{path}" 

174 operation_id = re.sub(r"\W", "_", operation_id) 

175 operation_id = f"{operation_id}_{method.lower()}" 

176 return operation_id 

177 

178 

179def generate_unique_id(route: "APIRoute") -> str: 1abcdef

180 operation_id = f"{route.name}{route.path_format}" 2a =b}f?b@b[b]bE Vbm g )e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bn h /e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5bu i [e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !bv j |e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bw k dfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bx l jfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b

181 operation_id = re.sub(r"\W", "_", operation_id) 2a =b}f?b@b[b]bE Vbm g )e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bn h /e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5bu i [e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !bv j |e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bw k dfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bx l jfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b

182 assert route.methods 2a =b}f?b@b[b]bE Vbm g )e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bn h /e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5bu i [e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !bv j |e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bw k dfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bx l jfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b

183 operation_id = f"{operation_id}_{list(route.methods)[0].lower()}" 2a =b}f?b@b[b]bE Vbm g )e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bn h /e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5bu i [e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !bv j |e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bw k dfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bx l jfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b

184 return operation_id 2a =b}f?b@b[b]bE Vbm g )e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bn h /e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5bu i [e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !bv j |e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bw k dfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bx l jfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b

185 

186 

187def deep_dict_update(main_dict: Dict[Any, Any], update_dict: Dict[Any, Any]) -> None: 1abcdef

188 for key, value in update_dict.items(): 2`g{g|g}g-gF G H I J m g ~gahbhJbKbch+gdheh.g/g:gfhghhhihjhkhlhmhnh;gP Q R S T n h ohphqhLbMbrh,gshth=g?g@guhvhwhxhyhfwgwhwmwIh; = ? @ [ u i pxHxJxNbObIy[g;yDALhMhNh0A?B@B]B{BGDHDIDNDQh{ | } ~ abv j QE8E!EPbQb9F]goG4HThUhVh@HqJrJtJxJ7K8K9K'KYhfbgbhbibjbw k *L}LaMRbSb~M^gPN_O1h2h3hrPRQSQUQYQ|R}R~ReS6hobpbqbrbsbx l hTzTBTTbUbAU_g)UvW9h!h#hSW+X,X.X=X

189 if ( 2`g{g|g}g-gF G H I J m g ~gahbhJbKbch+gdheh.g/g:gfhghhhihjhkhlhmhnh;gP Q R S T n h ohphqhLbMbrh,gshth=g?g@guhvhwhxhyh

190 key in main_dict 

191 and isinstance(main_dict[key], dict) 

192 and isinstance(value, dict) 

193 ): 

194 deep_dict_update(main_dict[key], value) 2-g.g/g:g;g=g?g@gIhLhMhNhQhThUhVhYh1h2h3h6h9h!h#h

195 elif ( 2`g{g|g}g-gF G H I J m g ~gahbhJbKbch+gdheh.g/g:gfhghhhihjhkhlhmhnh;gP Q R S T n h ohphqhLbMbrh,gshth=g?g@guhvhwhxhyh

196 key in main_dict 

197 and isinstance(main_dict[key], list) 

198 and isinstance(update_dict[key], list) 

199 ): 

200 main_dict[key] = main_dict[key] + update_dict[key] 2ahphHx8E}LzT

201 else: 

202 main_dict[key] = value 2`g{g|g}g-gF G H I J m g ~gbhJbKbch+gdheh.g/g:gfhghhhihjhkhlhmhnh;gP Q R S T n h ohqhLbMbrh,gshth=g?g@guhvhwhxhyhfwgwhwmwIh; = ? @ [ u i pxJxNbObIy[g;yDALhMhNh0A?B@B]B{BGDHDIDNDQh{ | } ~ abv j QE!EPbQb9F]goG4HThUhVh@HqJrJtJxJ7K8K9K'KYhfbgbhbibjbw k *LaMRbSb~M^gPN_O1h2h3hrPRQSQUQYQ|R}R~ReS6hobpbqbrbsbx l hTBTTbUbAU_g)UvW9h!h#hSW+X,X.X=X

203 

204 

205def get_value_or_default( 1abcdef

206 first_item: Union[DefaultPlaceholder, DefaultType], 

207 *extra_items: Union[DefaultPlaceholder, DefaultType], 

208) -> Union[DefaultPlaceholder, DefaultType]: 

209 """ 

210 Pass items or `DefaultPlaceholder`s by descending priority. 

211 

212 The first one to _not_ be a `DefaultPlaceholder` will be returned. 

213 

214 Otherwise, the first item (a `DefaultPlaceholder`) will be returned. 

215 """ 

216 items = (first_item,) + extra_items 2a =b}f?b@b[b]bE VbF G H I J m g {d)e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bP Q R S T n h |d/e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5b; = ? @ [ u i }d[e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !b{ | } ~ abv j ~d|e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bfbgbhbibjbw k aedfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bobpbqbrbsbx l bejfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b

217 for item in items: 2a =b}f?b@b[b]bE VbF G H I J m g {d)e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bP Q R S T n h |d/e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5b; = ? @ [ u i }d[e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !b{ | } ~ abv j ~d|e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bfbgbhbibjbw k aedfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bobpbqbrbsbx l bejfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b

218 if not isinstance(item, DefaultPlaceholder): 2a =b}f?b@b[b]bE VbF G H I J m g {d)e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bP Q R S T n h |d/e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5b; = ? @ [ u i }d[e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !b{ | } ~ abv j ~d|e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bfbgbhbibjbw k aedfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bobpbqbrbsbx l bejfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b

219 return item 2a F G H I J m g {d~cb P Q R S T n h |dadc ; = ? @ [ u i }dbdd { | } ~ abv j ~dcde fbgbhbibjbw k aeddf obpbqbrbsbx l beed

220 return first_item 2a =b}f?b@b[b]bE VbF G H I J m g {d)e*efdgdhdidjdkdldmdndodpd~fagbgcgdgegfggghgigqdo K L JbKbM WbN UcXbVcYbWc+ , - xbyb^b/cpf+e,eXcjg-e.e~c_by Zbb `bkg{b|b}b~bO 0bP Q R S T n h |d/e:erdsdtdudvdwdxdydzdAdBdlgmgngogpgqgrgsgtgugCdp U V LbMbW 1bX Yc2bZc3b0c. / : zbAbac:cqf;e=e1cvg?e@eadbcz 4bc ccwgdcecfcgcY 5b; = ? @ [ u i }d[e]eDdEdFdGdHdIdJdKdLdMdNdxgygzgAgBgCgDgEgFgGgOdq Z 0 NbOb1 6b2 hc;cicPd=cQdjckc2c7b3c8b4c] ^ _ BbCblc?crf^e_e5c6cHg`e{ebdmc` A 9bd ncIgocpcqcrc3 !b{ | } ~ abv j ~d|e}eRdSdTdUdVdWdXdYdZd0d1dJgKgLgMgNgOgPgQgRgSg2dr 4 5 PbQb6 #b7 sc@ctc3d[c4ducvc7c$b8c%b9cbbcbdbDbEbwc]csf~eaf!c#cTgbfcfcdxcebB 'be ycUgzcAcBcCc8 (bfbgbhbibjbw k aedfef5d6d7d8d9d!d#d$d%d'd(dVgWgXgYgZg0g1g2g3g4g)ds 9 ! RbSb# )b$ Dc^cEc*d_c+dFcGc$c*b%c+b'ckblbmbFbGbHc`ctfffgf(c)c5ghfifddIcnbC ,bf Jc6gKcLcMcNc% -bobpbqbrbsbx l bejfkf,d-d.d/d:d;d=d?d@d[d]d7g8g9g!g#g$g%g'g(g)g^dt ' ( TbUb) .b* Oc{cPc_d|c`dQcRc*c/b+c:b,ctbubvbHbIbSc}cuflfmf-c.c*gnfofedTcwbD ;b