Coverage for fastapi / utils.py: 100%

46 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-02-12 18:15 +0000

1import re 1adbc

2import warnings 1adbc

3from typing import ( 1adbc

4 TYPE_CHECKING, 

5 Any, 

6 Literal, 

7) 

8 

9import fastapi 1adbc

10from fastapi._compat import ( 1adbc

11 ModelField, 

12 PydanticSchemaGenerationError, 

13 Undefined, 

14 annotation_is_pydantic_v1, 

15) 

16from fastapi.datastructures import DefaultPlaceholder, DefaultType 1adbc

17from fastapi.exceptions import FastAPIDeprecationWarning, PydanticV1NotSupportedError 1adbc

18from pydantic.fields import FieldInfo 1adbc

19 

20from ._compat import v2 1adbc

21 

22if TYPE_CHECKING: # pragma: nocover 1adbc

23 from .routing import APIRoute 

24 

25 

26def is_body_allowed_for_status_code(status_code: int | str | None) -> bool: 1adbc

27 if status_code is None: 2a WeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e*M/e+M,M:e-M;e=e.M?e@e[e]e^e_e`e{e|e}e~e| af} ~ /Mbfcf[ddf:Mefabq ff]dgfhfif;M=Mjfkfbbr lfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f?M8f9f!f#f$fSdTdUdVdWd%f'f(f)f*f+f,f-fs .f^d_d/f:f;f=b?b8b=f?f@f@M[f[M]f^f]M_f`f{f^M|f}f~fag_Mbgcgdgegfggghgigjg`MkgHbIbJbKbLbe f @clg{Mmg|Mng}MogpgqgrgsgtgugvgwgxgygzgAgBg~M@bCgDgEgFgcbaNGgbNHgIgcNJgdNKgLgMgeNfNNgOgPgQgt u v k l w x RggNSgTgUgVgWghNXgYgZg0g1giN2g3g4g5g6g7g8g9g!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~gahbhchdhehfhjNghhh-b:c;cihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhy db9beb!bfbgbFhkNGhHhlNIhJhmNKhLhMhNhOhPhnNQhRhShThUhVhWhXhYhZh0h1h2hoN3h4h5h6h7h8h9h!h#h$h%h'h(h)h*h+h,hpN-h.h/h:h;h=hqN?h@h[h]h^h_h`h{h|h}hrN~haibicidieisNfigihiiitNjikiliminioipiqirisiuNtiuiviwixiyiziAiBiCiDiEivNFiGiHiIiJiKiwNLiMiNiOixNPiQiRiSiTiUiViWiXiYiyNZi0i1i2i3i4i5i6i7i8i9i!izN#i$i%i'i(i)iAN*i+i,i-iBN.i/i:i;i=i?i@i[i]i^iCN_i`i{i|i}i~iajbjcjdjejfjDNgjhjijjjkjljENmjFNnjojpjqjGNrjsjtjujvjwjxjyjzjAjHNBjCjDjEjFjGjHjIjJjKjLjMjINNjOjPjQjRjSjJNTjUjVjWjKNXjYjZj0j1j2j3j4j5j6j7j8j=d[b]b^b_b`b{bMb9j!j#j$j%j'j(j)j*j+jLN,j-j.j/j:j;j=j?j@j[j]j^j_j`j{j|j}j~jakbkckdkekfkgkhkikjkkklkmknkz NbA Obokpk|bqkrkskB C D E F G H tkI J ukMNhb#bvkNNONwkxkPNykzkQNAkBkRNCkDkSNEkFkTNGkHkUNIkJkVNKkLkWNMkNkXNOkPkQkYNRkSkZNTkUk0NVkWkXkYk1NZk0k1k2k2N3k4k5k6k3N7k8k9k4N!k#k$k5N%k'k(k6N)k*k+k7N,k-k.k8N/k:k;k9N=k?k@k[k]k^k!N_k`k{k|k#N}k~k$Nalblcldl%Nel'Nflglhlil(Njlklllmlnlol)Nplqlrl*Nsl+Ntlulvl,Nwlxlyl-NzlAlBlClDlElFlGlHlIlJlKlLlMlNlOlPlQlRlSlTlUlVlWlXlYlZl0l1l2l3l4l5l6l7l.N8l9l!l#l$l/N}b%l:N'l(l)l;N*l=N+l,l-l.l`d/l{d:l|d;l=l?l@l[l]l^l_l?N`l{l|l@N}l~l[Nam]Nbm^Ncmdmemfmgmhmimjmkmlmmmnmompmqmrmsmtmumvm_Nwmxmymzm`NAmBm{NCmDm|NEmFmGmHm}N~NImJmKmaOLmMmbONmcOOmPmdOQmRmeOSmTmfOUmVmgOWmXmhOYmZmiO0m1mjO2mkO3m4mlO5m6mmO7m8m[c~bac9m!m#m$m%m'mnO(m)moO*mpO+m,m-m.m/m:m;m=m?m@mqOrO[msO]mtOuO^m_m`m{mvO|m}mwO~mxOanbnyOcnzOdnAOenBOfngnhnCObcinjnknlnmnnnonpnccqnDOrnsntnunvnwnEOFOxnynGOznHOAnIOBnJOCnKOLODnEnFnMOGnNOHnOOInPOJnQOKnLnROMnNnOnSOPnQnRnSnTnTOUnVnUOWnVOXnWOXOYnZn0nYO1n2n3nZO4n5n0O6n7n8n1O9n2O!n3O#n4O$n5O%n6O'n(n7O)n8O*n+n9O,n-n!O.n#O/n$O:n%O;n'O=n?n@n[n]n^n_n`n{n|n}n~nao(Obocodo)O*Oeo+Ofo,Ogoho-Oio.Ojo/Oko:Olo;Omonooopo=O?Oqo@Oro[Oso]Oto^Ouo_Ovowoxo`Oyozo{OAo|OBo}OCo~ODoEoaPFobPcPGoHoIodPJoKoLoePMoNofPOoPogPQoRohPSoiPTojPUoVokPWoXolPYoZo0omP1o2o3o4onP5o6o7ooP8opP9o!o#oqP$o%o'orPsP(o)o*otP+o,o-o.ouP/o:ovP;o=owP?o@oxP[oyP]ozP^oAP_o`o{oBPCP|o}o~oDPapEPbpFPcpGPdpHPIPPbepJPfpKPLPgphpMPipjpkplpNPmpOPnpPPopQPppRPqprpspSPtpupTPvpwpxpypzpApBpCpUPDpEpFpGpHpIpJpVPKpLpMpNpOpPpQpRpSpTpUpVpWPWpXpYpZp0p1p2p3p4pXP5p6p7p8pYP9p!p#p$p%p'p(pZP)p*p0P+p,p1P}d-p.p/p2P:p3P;p=p4P5P?p@p6P[p]p7P^pib_p`pXdYdZd0d1d2d8P{p|pK 9P}p~pL !Paqbq#Pcqdq$Peqfqgqhqiq%PM d jqkqlqmqnqoq'Ppq(P)Pqq*Prqsq+PtquqvqwqxqyqzqAqBqCqDqjbEqkblb,PFqGq~dHq-PIqmbN JqaeKqLqMq.P/PNqOqnbO PqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!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~qar:Pbrcrdrerfr3d4d5d6d7dgrhrirjrkrlrmrnrP orbeceprqrrrdcec$bsrtrur;Pvr=Pwrxr?PyrzrAr@PBrCrDrEr[PFrGrHrIrJrKrLrMrNr]POrQbRbSbTbUbg h ]cPr^PQr_PRr`PSrTrUrVrWrXrYrZr0r1r2r3r4r5r{Pfc6r7r8r9rob|P!r}P#r$r~P%raQ'r(r)rbQcQ*r+r,r-rQ R S m n T U .rdQ/r:r;r=r?reQ@r[r]r^r_rfQ`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsgQKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8sV pb%bqb'brbsb9shQ!s#siQ$s%sjQ's(s)s*s+s,skQ-s.s/s:s;s=s?s@s[s]s^s_s`slQ{s|s}s~satbtctdtetftgthtitjtktltmtmQntotptqtrtstnQttutvtwtxtytztAtBtCtoQDtEtFtGtHtItpQJtKtLtMtqQNtOtPtQtRtStTtUtVtWtrQXtYtZt0t1t2t3t4t5t6t7t8tsQ9t!t#t$t%t'ttQ(t)t*t+tuQ,t-t.t/t:t;t=t?t@t[tvQ]t^t_t`t{t|t}t~taubucuduwQeufuguhuiujuxQkulumunuyQoupuqurusutuuuvuwuxuzQyuzuAuBuCuDuEuFuGuHuIuJuAQKuLuMuNuOuPuBQQuCQRuSuTuUuDQVuWuXuYuZu0u1u2u3u4uEQ5u6u7u8u9u!u#u$u%u'u(u)uFQ*u+u,u-u.u/uGQ:u;u=u?uHQ@u[u]u^u_u`u{u|u}u~uavbv?dgchcicjckclcVbcvdvevfvgvhvivjvkvlvIQmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvW WbX XbSvTvmcUvVvWvY Z 0 1 2 3 4 Xv5 6 YvJQtb(bZvKQLQ0v1vMQ2v3vNQ4v5vOQ6v7vPQ8v9vQQ!v#vRQ$v%vSQ'v(vTQ)v*vUQ+v,v-vVQ.v/vWQ:v;vXQ=v?v@v[vYQ]v^v_v`vZQ{v|v}v~v0Qawbwcw1Qdwewfw2Qgwhwiw3Qjwkwlw4Qmwnwow5Qpwqwrw6Qswtwuwvwwwxw7QywzwAwBw8QCwDw9QEwFwGwHw!QIw#QJwKwLwMw$QNwOwPwQwRwSw%QTwUwVw'QWw(QXwYwZw)Q0w1w2w*Q3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~wax+Qbxcxdxexfx,Q7 ncgx-Qhxixjx.Qkx/Qlxmxnxoxdepxeeqxferxsxtxuxvxwxxxyx:QzxAxBx;QCxDx=QEx?QFx@QGxHxIxJxKxLxMxNxOxPxQxRxSxTxUxVxWxXxYxZx[Q0x1x2x3x]Q4x5x^Q6x7x_Q8x9x!x#x`Q{Q$x%x'x|Q(x)x}Q*x~Q+x,xaR-x.xbR/x:xcR;x=xdR?x@xeR[x]xfR^x_xgR`xhR{x|xiR}x~xjRayby^cocpccydyeyfygyhykRiyjylRkymRlymynyoypyqyrysytyuynRoRvypRwyqRrRxyyyzyAysRByCytRDyuREyFyvRGywRHyxRIyyRJyKyLyzRqcMyNyOyPyQyRySyTyrcUyARVyWyXyYyZy0yBRCR1y2yDR3yER4yFR5yGR6yHRIR7y8y9yJR!yKR#yLR$yMR%yNR'y(yOR)y*y+yPR,y-y.y/y:yQR;y=yRR?ySR@yTRUR[y]y^yVR_y`y{yWR|y}yXR~yazbzYRczZRdz0Rez1Rfz2Rgz3Rhziz4Rjz5Rkzlz6Rmznz7Roz8Rpz9Rqz!Rrz#RsztzuzvzwzxzyzzzAzBzCzDzEz$RFzGzHz%R'RIz(RJz)RKzLz*RMz+RNz,ROz-RPz.RQzRzSzTz/R:RUz;RVz=RWz?RXz@RYz[RZz0z1z]R2z3z^R4z_R5z`R6z{R7z8z|R9z}R~R!z#z$zaS%z'z(zbS)z*zcS+z,zdS-z.zeS/zfS:zgS;z=zhS?z@ziS[z]z^zjS_z`z{z|zkS}z~zaAlSbAmScAdAeAnSfAgAhAoSpSiAjAkAqSlAmAnAoArSpAqAsSrAsAtStAuAuSvAvSwAwSxAxSyAzAAAySzSBACADAASEABSFACSGADSHAESFSYbIAGSJAHSISKALAJSMANAOAPAKSQALSRAMSSANSTAOSUAVAWAPSXAYAQSZA0A1A2A3A4A5A6ARS7A8A9A!A#A$A%ASS'A(A)A*A+A,A-A.A/A:A;A=ATS?A@A[A]A^A_A`A{A|AUS}A~AaBbBVScBdBeBfBgBhBiBWSjBkBXSlBmBYSgenBoBpBZSqB0SrBsB1S2StBuB3SvBwB4SxBubyBzB8d9d!d#d$d%d5SABBB8 6SCBDB9 7SEBFB8SGBHB9SIBJBKBLBMB!S! b c NBOBPBQBRBSB#STB$S%SUB'SVBWB(SXBYBZB0B1B2B3B4B5B6B7Bvb8Bwbxb)S9B!Bhe#B*S$Byb# %Bie'B(B)B+S,S*B+Bzb$ ,B-B.B/B:B;B=B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCEC-SFCGCHCICJC'd(d)d*d+dKCLCMCNCOCPCQCRC% SCjekeTCUCVCsctc)bWCXCYC.SZC/S0C1C:S2C3C4C;S5C6C7C8C=S9C!C#C$C%C'C(C)C*C?S+CZb0b1b2b3bi j _c,C@S-C[S.C]S/C:C;C=C?C@C[C]C^C_C`C{C|C}C^Suc~CaDbDcDAb_SdD`SeDfD{SgD|ShDiDjD}S~SkDlDmDnD' ( ) o p * + oDaTpDqDrDsDtDbTuDvDwDxDyDcTzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%DdT'D(D.b=c?c)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbE, Bb*bCb+bDbEbcEeTdEeEfTfEgEgThEiEjEkElEmEhTnEoEpEqErEsEtEuEvEwExEyEzEiTAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQEjTRESETEUEVEWEkTXEYEZE0E1E2E3E4E5E6ElT7E8E9E!E#E$EmT%E'E(E)EnT*E+E,E-E.E/E:E;E=E?EoT@E[E]E^E_E`E{E|E}E~EaFbFpTcFdFeFfFgFhFqTiFjFkFlFrTmFnFoFpFqFrFsFtFuFvFsTwFxFyFzFAFBFCFDFEFFFGFHFtTIFJFKFLFMFNFuTOFPFQFRFvTSFTFUFVFWFXFYFZF0F1FwT2F3F4F5F6F7F8F9F!F#F$F%FxT'F(F)F*F+F,FyT-FzT.F/F:F;FAT=F?F@F[F]F^F_F`F{F|FBT}F~FaGbGcGdGeGfGgGhGiGjGCTkGlGmGnGoGpGDTqGrGsGtGETuGvGwGxGyGzGAGBGCGDGEGFG@dvcwcxcyczcAc4bGGHGIGJGKGLGMGNGOGPGFTQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G- 5b. 6b/G:GBc;G=G?G/ : ; = ? @ [ @G] ^ [GGTFb,b]GHTIT^G_GJT`G{GKT|G}GLT~GaHMTbHcHNTdHeHOTfHgHPThHiHQTjHkHRTlHmHnHSToHpHTTqHrHUTsHtHuHvHVTwHxHyHzHWTAHBHCHDHXTEHFHGHYTHHIHJHZTKHLHMH0TNHOHPH1TQHRHSH2TTHUHVH3TWHXHYHZH0H1H4T2H3H4H5H5T6H7H6T8H9H!H#H7T$H8T%H'H(H)H9T*H+H,H-H.H/H!T:H;H=H#T?H$T@H[H]H%T^H_H`H'T{H|H}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEI(TFIGIHIIIJI)TCcKI*TLIMINI+TOI,TPIQIRISIleTImeUIneVIWIXIYIZI0I1I2I-T3I4I5I.T6I7I/T8I:T9I;T!I#I$I%I'I(I)I*I+I,I-I.I/I:I;I=I?I@I[I]I=T^I_I`I{I?T|I}I@T~IaJ[TbJcJdJeJ]T^TfJgJhJ_TiJjJ`TkJ{TlJmJ|TnJoJ}TpJqJ~TrJsJaUtJuJbUvJwJcUxJyJdUzJeUAJBJfUCJDJgUEJFJ`cDcEcGJHJIJJJKJLJhUMJNJiUOJjUPJQJRJSJTJUJVJWJXJYJkUlUZJmU0JnUoU1J2J3J4JpU5J6JqU7JrU8J9JsU!JtU#JuU$JvU%J'J(JwUFc)J*J+J,J-J.J/J:JGc;JxU=J?J@J[J]J^JyUzU_J`JAU{JBU|JCU}JDU~JEUFUaKbKcKGUdKHUeKIUfKJUgKKUhKiKLUjKkKlKMUmKnKoKpKqKNUrKsKOUtKPUuKQURUvKwKxKSUyKzKAKTUBKCKUUDKEKFKVUGKWUHKXUIKYUJKZUKK0ULKMK1UNK2UOKPK3UQKRK4USK5UTK6UUK7UVK8UWKXKYKZK0K1K2K3K4K5K6K7K8K9U9K!K#K!U#U$K$U%K%U'K(K'U)K(U*K)U+K*U,K+U-K.K/K:K,U-U;K.U=K/U?K:U@K;U[K=U]K^K_K?U`K{K@U|K[U}K]U~K^UaLbL_UcL`U{UdLeLfL|UgLhLiL}UjLkL~UlLmLaVnLoLbVpLcVqLdVrLsLeVtLuLfVvLwLxLgVyLzLALBLhVCLDLELiVFLjVGLHLILkVJLKLLLlVmVMLNLOLnVPLQLRLSLoVTLULpVVLWLqVXLYLrVZLsV0LtV1LuV2L3L4LvVwV5L6L7LxV8LyV9LzV!LAV#LBVCV7b$LDV%LEVFV'L(LGV)L*L+L,LHV-LIV.LJV/LKV:LLV;L=L?LMV@L[LNV]L^L_L`L{L|L}L~LOVaMbMcMdMeMfMgMPVhMiMjMkMlMmMnMoMpMqMrMsMQVtMuMvMwMxMyMzMAMBMRVCMDMEMFMSVGMHMIMJMKMLMMMTVNMOMUVPMQMVVoeRMSMTMWVUMXVVMWMYVZVXMYM0VZM0M1V1MGb2M3M,d-d.d/d:d;d2V4M5M_ 3V6M7M` 4V8M9M5V!M#M6V$M%M'M(M)M7V{

28 return True 2a *M+M,M-M;e=e.M?e_e`e/M[d:Mq ]d;M=Mr ?Ms 8b@M[M]M^M_M`MHbIbJbKbLbe f @c{M|M}Mrg~MaNbNcNdNeNfNOgQgt u v k l w x gNhNiNjN:c;cy 9b!bkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzNANBNCNDNENFNGNHNINJNKN7j=dMbLNNbObokB C D E F G H I J MN#bNNONPNQNRNSNTNUNVNWNXNYNZN0N1N2N3N4N5N6N7N8N9N!N#N$N%N'N(N)N*N+N,N-N.N/N:N;N=N-l`d{d|d?N@N[N]N^Njm_N`N{N|N}N~NaObOcOdOeOfOgOhOiOjOkOlOmO[cnOoOpOqOrOsOtOuOvOwOxOyOzOAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSORnTOUOVOWOXOYOZO0O1O2O3O4O5O6O7O8O9O!O#O$O%O'O@n[n^n(O)O*O+O,O-O.O/O:O;O=O?O@O[O]O^O_O`O{O|O}O~OaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzPAPBPCPDPEPFPGPHPIPPbJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP0P1P2P3P4P5P6P7P8PK 9PL !P#P$P%PM d 'P(P)P*Prqsq+Ptqyqzq,P~d-PN ae.P/PO :PP $b;P=P?P@P[P]PQbRbSbTbUbg h ]c^P_P`PVr{P|P}P~PaQbQcQ+r-rQ R S m n T U dQeQfQgQV %b'bhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQAQBQCQDQEQFQGQHQav?dVbIQWbXbSvY Z 0 1 2 3 4 5 6 JQ(bKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q!Q#Q$Q%Q'Q(Q)Q*Q+Q,Q7 -Q.Q/Qnxdeeefe:Q;Q=Q?Q@QNx[Q]Q^Q_Q`Q{Q|Q}Q~QaRbRcRdReRfRgRhRiRjR^ckRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzRARBRCRDRERFRGRHRIRJRKRLRMRNRORPR.yQRRRSRTRURVRWRXRYRZR0R1R2R3R4R5R6R7R8R9R!R#Ruzvzxz$R%R'R(R)R*R+R,R-R.R/R:R;R=R?R@R[R]R^R_R`R{R|R}R~RaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzSASBSCSDSESFSYbGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS0S1S2S3S4S5S8 6S9 7S8S9S!S! b c #S$S%S'SVBWB(SXB2B3B)She*S# ie+S,S$ -S% )b.S/S:S;S=S?SZb0b1b2b3bi j _c@S[S]S=C^S_S`S{S|S}S~SlDnD' ( ) o p * + aTbTcTdT=c?c, *b+beTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzTATBTCTDTETEG@d4bFT5b6b/G/ : ; = ? @ [ ] ^ GT,bHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT0T1T2T3T4T5T6T7T8T9T!T#T$T%T'T(T)T*T+T,TRIlemene-T.T/T:T;T*I=T?T@T[T]T^T_T`T{T|T}T~TaUbUcUdUeUfUgU`chUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzUAUBUCUDUEUFUGUHUIUJUKULUMUoKNUOUPUQURUSUTUUUVUWUXUYUZU0U1U2U3U4U5U6U7U8UYKZK1K9U!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~UaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzVAVBVCV7bDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV0V1V2V_ 3V` 4V5V6V7V{

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

30 if status_code in { 2a WeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e@e[e]e^e{e|e}e~e| af} ~ bfcf[ddfefabq ffgfhfifjfkfbbr lfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$fSdTdUdVdWd%f'f(f)f*f+f,f-fs .f^d_d/f:f;f=b?b=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkgHbIbJbKbLbe f lgmgngogpgqgsgtgugvgwgxgygzgAgBg@bCgDgEgFgcbGgHgIgJgKgLgMgNgPgt u v k l w x RgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!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~gahbhchdhehfhghhh-bihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhy dbebfbgbFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!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}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!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~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j8j=d[b]b^b_b`b{b9j!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~jakbkckdkekfkgkhkikjkkklkmknkz A pk|bqkrkskB C D E F G H tkI J ukhbvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!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}b%l'l(l)l*l+l,l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m~bac9m!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~manbncndnenfngnhnbcinjnknlnmnnnonpnccqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!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}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p}d-p.p/p:p;p=p?p@p[p]p^pib_p`pXdYdZd0d1d2d{p|pK }p~pL aqbqcqdqeqfqgqhqiqM d jqkqlqmqnqoqpqqquqvqwqxqAqBqCqDqjbEqkblbFqGq~dHqIqmbN JqKqLqMqNqOqnbO PqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!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~qarbrcrdrerfr3d4d5d6d7dgrhrirjrkrlrmrnrP orbeceprqrrrdcecsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrQbRbSbTbUbg h PrQrRrSrTrUrWrXrYrZr0r1r2r3r4r5rfc6r7r8r9rob!r#r$r%r'r(r)r*r,rQ R S m n T U .r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8sV pbqbrbsb9s!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~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t!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~ubv?dgchcicjckclccvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvW X TvmcUvVvWvY Z 0 1 2 3 4 Xv5 6 YvtbZv0v1v2v3v4v5v6v7v8v9v!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~vawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfx7 ncgxhxixjxkxlxmxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!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~xaybyocpccydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyqcMyNyOyPyQyRySyTyrcUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!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~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzwzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!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~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBgenBoBpBqBrBsBtBuBvBwBxBubyBzB8d9d!d#d$d%dABBB8 CBDB9 EBFBGBHBIBJBKBLBMB! b c NBOBPBQBRBSBTBUBYBZB0B1B4B5B6B7Bvb8Bwbxb9B!Bhe#B$Byb# %B'B(B)B*B+Bzb$ ,B-B.B/B:B;B=B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJC'd(d)d*d+dKCLCMCNCOCPCQCRC% SCjekeTCUCVCsctcWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+CZb0b1b2b3bi j ,C-C.C/C:C;C?C@C[C]C^C_C`C{C|C}Cuc~CaDbDcDAbdDeDfDgDhDiDjDkDmD' ( ) o p * + oDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D.b)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbE, BbCbDbEbcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!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}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!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}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGCGDGFG@dvcwcxcyczcAcGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G- . :GBc;G=G?G/ : ; = ? @ [ @G] ^ [GFb]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!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}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJICcKILIMINIOIPIQISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!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~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJDcEcGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(JFc)J*J+J,J-J.J/J:JGc;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXK0K2K3K4K5K6K7K8K9K!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~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMoeRMSMTMUMVMWMXMYMZM0M1MGb2M3M,d-d.d/d:d;d4M5M_ 6M7M` 8M9M!M#M$M%M'M(M)M{

31 "default", 

32 "1XX", 

33 "2XX", 

34 "3XX", 

35 "4XX", 

36 "5XX", 

37 }: 

38 return True 1adbc

39 current_status_code = int(status_code) 2a WeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e@e[e]e^e{e|e}e~e| af} ~ bfcf[ddfefabq ffgfhfifjfkfbbr lfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$fSdTdUdVdWd%f'f(f)f*f+f,f-fs .f^d_d/f:f;f=b?b=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkgHbIbJbKbLbe f lgmgngogpgqgsgtgugvgwgxgygzgAgBg@bCgDgEgFgcbGgHgIgJgKgLgMgNgPgt u v k l w x RgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!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~gahbhchdhehfhghhh-bihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhy dbebfbgbFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!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}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!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~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j8j=d[b]b^b_b`b{b9j!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~jakbkckdkekfkgkhkikjkkklkmknkz A pk|bqkrkskB C D E F G H tkI J ukhbvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!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}b%l'l(l)l*l+l,l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m~bac9m!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~manbncndnenfngnhnbcinjnknlnmnnnonpnccqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!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}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p}d-p.p/p:p;p=p?p@p[p]p^pib_p`pXdYdZd0d1d2d{p|pK }p~pL aqbqcqdqeqfqgqhqiqM d jqkqlqmqnqoqpqqquqvqwqxqAqBqCqDqjbEqkblbFqGq~dHqIqmbN JqKqLqMqNqOqnbO PqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!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~qarbrcrdrerfr3d4d5d6d7dgrhrirjrkrlrmrnrP orbeceprqrrrdcecsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrQbRbSbTbUbg h PrQrRrSrTrUrWrXrYrZr0r1r2r3r4r5rfc6r7r8r9rob!r#r$r%r'r(r)r*r,rQ R S m n T U .r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8sV pbqbrbsb9s!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~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t!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~ubv?dgchcicjckclccvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvW X TvmcUvVvWvY Z 0 1 2 3 4 Xv5 6 YvtbZv0v1v2v3v4v5v6v7v8v9v!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~vawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfx7 ncgxhxixjxkxlxmxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!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~xaybyocpccydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyqcMyNyOyPyQyRySyTyrcUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!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~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzwzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!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~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBgenBoBpBqBrBsBtBuBvBwBxBubyBzB8d9d!d#d$d%dABBB8 CBDB9 EBFBGBHBIBJBKBLBMB! b c NBOBPBQBRBSBTBUBYBZB0B1B4B5B6B7Bvb8Bwbxb9B!Bhe#B$Byb# %B'B(B)B*B+Bzb$ ,B-B.B/B:B;B=B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJC'd(d)d*d+dKCLCMCNCOCPCQCRC% SCjekeTCUCVCsctcWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+CZb0b1b2b3bi j ,C-C.C/C:C;C?C@C[C]C^C_C`C{C|C}Cuc~CaDbDcDAbdDeDfDgDhDiDjDkDmD' ( ) o p * + oDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D.b)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbE, BbCbDbEbcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!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}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!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}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGCGDGFG@dvcwcxcyczcAcGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G- . :GBc;G=G?G/ : ; = ? @ [ @G] ^ [GFb]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!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}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJICcKILIMINIOIPIQISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!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~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJDcEcGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(JFc)J*J+J,J-J.J/J:JGc;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXK0K2K3K4K5K6K7K8K9K!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~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMoeRMSMTMUMVMWMXMYMZM0M1MGb2M3M,d-d.d/d:d;d4M5M_ 6M7M` 8M9M!M#M$M%M'M(M)M{

40 return not (current_status_code < 200 or current_status_code in {204, 205, 304}) 2a WeXeYeZe0e1e2e3e4e5e6e7e8e9e!e#e$e%e'e(e)e*e+e,e-e.e/e:e@e[e]e^e{e|e}e~e| af} ~ bfcf[ddfefabq ffgfhfifjfkfbbr lfmfnfofpfqfrfsftfufvfwfxfyfzfAfBfCfDfEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfWfXfYfZf0f1f2f3f4f5f6f7f8f9f!f#f$fSdTdUdVdWd%f'f(f)f*f+f,f-fs .f^d_d/f:f;f=b?b=f?f@f[f]f^f_f`f{f|f}f~fagbgcgdgegfggghgigjgkgHbIbJbKbLbe f lgmgngogpgqgsgtgugvgwgxgygzgAgBg@bCgDgEgFgcbGgHgIgJgKgLgMgNgPgt u v k l w x RgSgTgUgVgWgXgYgZg0g1g2g3g4g5g6g7g8g9g!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~gahbhchdhehfhghhh-bihjhkhlhmhnhohphqhrhshthuhvhwhxhyhzhAhBhChDhEhy dbebfbgbFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhWhXhYhZh0h1h2h3h4h5h6h7h8h9h!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}h~haibicidieifigihiiijikiliminioipiqirisitiuiviwixiyiziAiBiCiDiEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViWiXiYiZi0i1i2i3i4i5i6i7i8i9i!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~iajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzjAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj0j1j2j3j4j5j6j8j=d[b]b^b_b`b{b9j!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~jakbkckdkekfkgkhkikjkkklkmknkz A pk|bqkrkskB C D E F G H tkI J ukhbvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLkMkNkOkPkQkRkSkTkUkVkWkXkYkZk0k1k2k3k4k5k6k7k8k9k!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}b%l'l(l)l*l+l,l.l/l:l;l=l?l@l[l]l^l_l`l{l|l}l~lambmcmdmemfmgmhmimkmlmmmnmompmqmrmsmtmumvmwmxmymzmAmBmCmDmEmFmGmHmImJmKmLmMmNmOmPmQmRmSmTmUmVmWmXmYmZm0m1m2m3m4m5m6m7m8m~bac9m!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~manbncndnenfngnhnbcinjnknlnmnnnonpnccqnrnsntnunvnwnxnynznAnBnCnDnEnFnGnHnInJnKnLnMnNnOnPnQnSnTnUnVnWnXnYnZn0n1n2n3n4n5n6n7n8n9n!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}o~oapbpcpdpepfpgphpipjpkplpmpnpopppqprpsptpupvpwpxpypzpApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTpUpVpWpXpYpZp0p1p2p3p4p5p6p7p8p9p!p#p$p%p'p(p)p*p+p,p}d-p.p/p:p;p=p?p@p[p]p^pib_p`pXdYdZd0d1d2d{p|pK }p~pL aqbqcqdqeqfqgqhqiqM d jqkqlqmqnqoqpqqquqvqwqxqAqBqCqDqjbEqkblbFqGq~dHqIqmbN JqKqLqMqNqOqnbO PqQqRqSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!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~qarbrcrdrerfr3d4d5d6d7dgrhrirjrkrlrmrnrP orbeceprqrrrdcecsrtrurvrwrxryrzrArBrCrDrErFrGrHrIrJrKrLrMrNrOrQbRbSbTbUbg h PrQrRrSrTrUrWrXrYrZr0r1r2r3r4r5rfc6r7r8r9rob!r#r$r%r'r(r)r*r,rQ R S m n T U .r/r:r;r=r?r@r[r]r^r_r`r{r|r}r~rasbscsdsesfsgshsisjskslsmsnsospsqsrssstsusvswsxsyszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQsRsSsTsUsVsWsXsYsZs0s1s2s3s4s5s6s7s8sV pbqbrbsb9s!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~satbtctdtetftgthtitjtktltmtntotptqtrtstttutvtwtxtytztAtBtCtDtEtFtGtHtItJtKtLtMtNtOtPtQtRtStTtUtVtWtXtYtZt0t1t2t3t4t5t6t7t8t9t!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~ubv?dgchcicjckclccvdvevfvgvhvivjvkvlvmvnvovpvqvrvsvtvuvvvwvxvyvzvAvBvCvDvEvFvGvHvIvJvKvLvMvNvOvPvQvRvW X TvmcUvVvWvY Z 0 1 2 3 4 Xv5 6 YvtbZv0v1v2v3v4v5v6v7v8v9v!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~vawbwcwdwewfwgwhwiwjwkwlwmwnwowpwqwrwswtwuwvwwwxwywzwAwBwCwDwEwFwGwHwIwJwKwLwMwNwOwPwQwRwSwTwUwVwWwXwYwZw0w1w2w3w4w5w6w7w8w9w!w#w$w%w'w(w)w*w+w,w-w.w/w:w;w=w?w@w[w]w^w_w`w{w|w}w~waxbxcxdxexfx7 ncgxhxixjxkxlxmxoxpxqxrxsxtxuxvxwxxxyxzxAxBxCxDxExFxGxHxIxJxKxLxMxOxPxQxRxSxTxUxVxWxXxYxZx0x1x2x3x4x5x6x7x8x9x!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~xaybyocpccydyeyfygyhyiyjykylymynyoypyqyrysytyuyvywyxyyyzyAyByCyDyEyFyGyHyIyJyKyLyqcMyNyOyPyQyRySyTyrcUyVyWyXyYyZy0y1y2y3y4y5y6y7y8y9y!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~yazbzczdzezfzgzhzizjzkzlzmznzozpzqzrzsztzwzyzzzAzBzCzDzEzFzGzHzIzJzKzLzMzNzOzPzQzRzSzTzUzVzWzXzYzZz0z1z2z3z4z5z6z7z8z9z!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~zaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzAAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA0A1A2A3A4A5A6A7A8A9A!A#A$A%A'A(A)A*A+A,A-A.A/A:A;A=A?A@A[A]A^A_A`A{A|A}A~AaBbBcBdBeBfBgBhBiBjBkBlBmBgenBoBpBqBrBsBtBuBvBwBxBubyBzB8d9d!d#d$d%dABBB8 CBDB9 EBFBGBHBIBJBKBLBMB! b c NBOBPBQBRBSBTBUBYBZB0B1B4B5B6B7Bvb8Bwbxb9B!Bhe#B$Byb# %B'B(B)B*B+Bzb$ ,B-B.B/B:B;B=B?B@B[B]B^B_B`B{B|B}B~BaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzCACBCCCDCECFCGCHCICJC'd(d)d*d+dKCLCMCNCOCPCQCRC% SCjekeTCUCVCsctcWCXCYCZC0C1C2C3C4C5C6C7C8C9C!C#C$C%C'C(C)C*C+CZb0b1b2b3bi j ,C-C.C/C:C;C?C@C[C]C^C_C`C{C|C}Cuc~CaDbDcDAbdDeDfDgDhDiDjDkDmD' ( ) o p * + oDpDqDrDsDtDuDvDwDxDyDzDADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD0D1D2D3D4D5D6D7D8D9D!D#D$D%D'D(D.b)D*D+D,D-D.D/D:D;D=D?D@D[D]D^D_D`D{D|D}D~DaEbE, BbCbDbEbcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzEAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE0E1E2E3E4E5E6E7E8E9E!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}E~EaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzFAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF0F1F2F3F4F5F6F7F8F9F!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}F~FaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzGAGBGCGDGFG@dvcwcxcyczcAcGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG0G1G2G3G4G5G6G7G8G9G!G#G$G%G'G(G)G*G+G,G-G.G- . :GBc;G=G?G/ : ; = ? @ [ @G] ^ [GFb]G^G_G`G{G|G}G~GaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzHAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH0H1H2H3H4H5H6H7H8H9H!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}H~HaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzIAIBICIDIEIFIGIHIIIJICcKILIMINIOIPIQISITIUIVIWIXIYIZI0I1I2I3I4I5I6I7I8I9I!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~IaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJAJBJCJDJEJFJDcEcGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ0J1J2J3J4J5J6J7J8J9J!J#J$J%J'J(JFc)J*J+J,J-J.J/J:JGc;J=J?J@J[J]J^J_J`J{J|J}J~JaKbKcKdKeKfKgKhKiKjKkKlKmKnKpKqKrKsKtKuKvKwKxKyKzKAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXK0K2K3K4K5K6K7K8K9K!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~LaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzMAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMoeRMSMTMUMVMWMXMYMZM0M1MGb2M3M,d-d.d/d:d;d4M5M_ 6M7M` 8M9M!M#M$M%M'M(M)M{

41 

42 

43def get_path_param_names(path: str) -> set[str]: 1adbc

44 return set(re.findall("{(.*?)}", path)) 2a | cd} ~ abq bbr SdpeqeTdreseUdteVdueveWdwes ^d_d=b?b8b8VHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x {c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{b|bB C D E F G H I J hb#b}b[c~bacodpdbccc}d/bibXdYdZd0d1d2dK L M xeyeze9Vd jbqdkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP becedcec$b!VQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcge:bub8d9d!d#d$d%d8 9 ! IeJeKe#Vb c vbEdwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% jekesctc)b$VZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + ~cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAcBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGcoe;bGb,d-d.d/d:d;d_ ` { TeUeVe%V

45 

46 

47_invalid_args_message = ( 1adbc

48 "Invalid args for response field! Hint: " 

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

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

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

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

53 "parameter response_model=None. Read more: " 

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

55) 

56 

57 

58def create_model_field( 1adbc

59 name: str, 

60 type_: Any, 

61 default: Any | None = Undefined, 

62 field_info: FieldInfo | None = None, 

63 alias: str | None = None, 

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

65) -> ModelField: 

66 if annotation_is_pydantic_v1(type_): 2a | } ~ abq bbr SdpeqeTdreseUdteVdueveWdwes 8bHbIbJbKbLbe f @cHcIcJcKcLcMcNcOcPcQcRccbSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgbMbz NbA ObB C D E F G H I J hb#bPb/bibXdYdZd0d1d2dK L M xeyezed jbkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP $bQbRbSbTbUbg h ]cVcWcXcYcZc0c1c2c3c4c5cob6cQ R S m n T U V pb%bqb7c'b8crbsbVbW WbX XbY Z 0 1 2 3 4 5 6 tb(b7 Yb:bub8d9d!d#d$d%d8 9 ! IeJeKeb c vbwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% )bZb0b1b2b3bi j _c9c!c#c$c%c'c(c)c*c+c,cAb-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEb4b- 5b. 6b/ : ; = ? @ [ ] ^ Fb,b7b;bGb,d-d.d/d:d;d_ ` { TeUeVe

67 raise PydanticV1NotSupportedError( 2-b{c:c;c|c}c.b~c=c?cadbd

68 "pydantic.v1 models are no longer supported by FastAPI." 

69 f" Please update the response model {type_!r}." 

70 ) 

71 field_info = field_info or FieldInfo(annotation=type_, default=default, alias=alias) 2a | } ~ abq bbr SdpeqeTdreseUdteVdueveWdwes 8bHbIbJbKbLbe f @cHcIcJcKcLcMcNcOcPcQcRccbSct u v k l w x y db9bebTc!bUcfbgbMbz NbA ObB C D E F G H I J hb#bPb/bibXdYdZd0d1d2dK L M xeyezed jbkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP $bQbRbSbTbUbg h ]cVcWcXcYcZc0c1c2c3c4c5cob6cQ R S m n T U V pb%bqb7c'b8crbsbVbW WbX XbY Z 0 1 2 3 4 5 6 tb(b7 Yb:bub8d9d!d#d$d%d8 9 ! IeJeKeb c vbwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% )bZb0b1b2b3bi j _c9c!c#c$c%c'c(c)c*c+c,cAb-c' ( ) o p * + , Bb*bCb.c+b/cDbEb4b- 5b. 6b/ : ; = ? @ [ ] ^ Fb,b7b;bGb,d-d.d/d:d;d_ ` { TeUeVe

72 try: 2a | } ~ abq bbr SdpeqeTdreseUdteVdueveWdwes 8bHbIbJbKbLbe f @cHcIcJcKcLcMcNcOcPcQcRccbSct u v k l w x y db9bebTc!bUcfbgbMbz NbA ObB C D E F G H I J hb#bPb/bibXdYdZd0d1d2dK L M xeyezed jbkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP $bQbRbSbTbUbg h ]cVcWcXcYcZc0c1c2c3c4c5cob6cQ R S m n T U V pb%bqb7c'b8crbsbVbW WbX XbY Z 0 1 2 3 4 5 6 tb(b7 Yb:bub8d9d!d#d$d%d8 9 ! IeJeKeb c vbwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% )bZb0b1b2b3bi j _c9c!c#c$c%c'c(c)c*c+c,cAb-c' ( ) o p * + , Bb*bCb.c+b/cDbEb4b- 5b. 6b/ : ; = ? @ [ ] ^ Fb,b7b;bGb,d-d.d/d:d;d_ ` { TeUeVe

73 return v2.ModelField(mode=mode, name=name, field_info=field_info) 2a | } ~ abq bbr SdpeqeTdreseUdteVdueveWdwes 8bHbIbJbKbLbe f @cHcIcJcKcLcMcNcOcPcQcRccbSct u v k l w x y db9bebTc!bUcfbgbMbz NbA ObB C D E F G H I J hb#bPb/bibXdYdZd0d1d2dK L M xeyezed jbkblbmbN nbO 3dAeBe4dCeDe5dEe6dFeGe7dHeP $bQbRbSbTbUbg h ]cVcWcXcYcZc0c1c2c3c4c5cob6cQ R S m n T U V pb%bqb7c'b8crbsbVbW WbX XbY Z 0 1 2 3 4 5 6 tb(b7 Yb:bub8d9d!d#d$d%d8 9 ! IeJeKeb c vbwbxbyb# zb$ 'dLeMe(dNeOe)dPe*dQeRe+dSe% )bZb0b1b2b3bi j _c9c!c#c$c%c'c(c)c*c+c,cAb-c' ( ) o p * + , Bb*bCb.c+b/cDbEb4b- 5b. 6b/ : ; = ? @ [ ] ^ Fb,b7b;bGb,d-d.d/d:d;d_ ` { TeUeVe

74 except PydanticSchemaGenerationError: 2Mbz NbA ObPbVbW WbX XbYb4b- 5b. 6b7b

75 raise fastapi.exceptions.FastAPIError( 2Mbz NbA ObPbVbW WbX XbYb4b- 5b. 6b7b

76 _invalid_args_message.format(type_=type_) 

77 ) from None 

78 

79 

80def generate_operation_id_for_path( 1adbc

81 *, name: str, path: str, method: str 1abc

82) -> str: # pragma: nocover 1abc

83 warnings.warn( 

84 message="fastapi.utils.generate_operation_id_for_path() was deprecated, " 

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

86 category=FastAPIDeprecationWarning, 

87 stacklevel=2, 

88 ) 

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

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

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

92 return operation_id 

93 

94 

95def generate_unique_id(route: "APIRoute") -> str: 1adbc

96 operation_id = f"{route.name}{route.path_format}" 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

97 operation_id = re.sub(r"\W", "_", operation_id) 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

98 assert route.methods 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

99 operation_id = f"{operation_id}_{list(route.methods)[0].lower()}" 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

100 return operation_id 2a | cd} ~ abq bbr s =b?b8be f @bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bg h fcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bi j uc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

101 

102 

103def deep_dict_update(main_dict: dict[Any, Any], update_dict: dict[Any, Any]) -> None: 1adbc

104 for key, value in update_dict.items(): 2;e=e?e_e`e]dHbIbJbKbLbe f rgOgQgk l 7j=dok-l`d{d|djmRn@n[n^nrqsqtqyqzqaeQbRbSbTbUbg h Vr+r-rm n av?dSvnxdeeefeNx.yuzvzxzVBWBXB2B3BieZb0b1b2b3bi j =ClDnDo p EG@d/GRIlemene*IoKYKZK1K

105 if ( 

106 key in main_dict 

107 and isinstance(main_dict[key], dict) 

108 and isinstance(value, dict) 

109 ): 

110 deep_dict_update(main_dict[key], value) 2]d`d{d|daedeeefeielemene

111 elif ( 

112 key in main_dict 

113 and isinstance(main_dict[key], list) 

114 and isinstance(update_dict[key], list) 

115 ): 

116 main_dict[key] = main_dict[key] + update_dict[key] 2Og+rlD

117 else: 

118 main_dict[key] = value 2;e=e?e_e`e]dHbIbJbKbLbe f rgQgk l 7j=dok-l`d{d|djmRn@n[n^nrqsqtqyqzqaeQbRbSbTbUbg h Vr-rm n av?dSvnxdeeefeNx.yuzvzxzVBWBXB2B3BieZb0b1b2b3bi j =CnDo p EG@d/GRIlemene*IoKYKZK1K

119 

120 

121def get_value_or_default( 1adbc

122 first_item: DefaultPlaceholder | DefaultType, 

123 *extra_items: DefaultPlaceholder | DefaultType, 

124) -> DefaultPlaceholder | DefaultType: 

125 """ 

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

127 

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

129 

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

131 """ 

132 items = (first_item,) + extra_items 2a | cd} ~ abq bbr s =b?b8bHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

133 for item in items: 2a | cd} ~ abq bbr s =b?b8bHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

134 if not isinstance(item, DefaultPlaceholder): 2a | cd} ~ abq bbr s =b?b8bHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {

135 return item 2a HbIbJbKbLbe f @c/bd QbRbSbTbUbg h ]c:bb c Zb0b1b2b3bi j _c;b

136 return first_item 2a | cd} ~ abq bbr s =b?b8bHbIbJbKbLbe f @c@bHcIcJcKcLcMcNcOcPcQcRccbddedfdgdhdidjdkdldmdSct u v k l w x -b{c:c;c|c}cy db9bebTc!bUcfbgb[b]b^bnd_b`b{bMbz NbA Ob|bB C D E F G H I J hb#b}b[c~bacodpdbcccPb/bibK L M d jbqdkblbmbN nbO P dcec$bQbRbSbTbUbg h ]cfcVcWcXcYcZc0c1c2c3c4c5cobrdsdtdudvdwdxdydzdAd6cQ R S m n T U V pb%bqb7c'b8crbsbgchcicBdjckclcVbW WbX XbmcY Z 0 1 2 3 4 5 6 tb(b7 nc^cocpcCdDdqcrcYb:bub8 9 ! b c vbEdwbxbyb# zb$ % sctc)bZb0b1b2b3bi j _cuc9c!c#c$c%c'c(c)c*c+c,cAbFdGdHdIdJdKdLdMdNdOd-c' ( ) o p * + .b~c=c?cadbd, Bb*bCb.c+b/cDbEbvcwcxcPdyczcAc4b- 5b. 6bBc/ : ; = ? @ [ ] ^ Fb,bCc`cDcEcQdRdFcGc7b;bGb_ ` {