PNG  IHDRQgAMA a cHRMz&u0`:pQ<bKGDgmIDATxwUﹻ& ^CX(J I@ "% (** BX +*i"]j(IH{~R)[~>h{}gy)I$Ij .I$I$ʊy@}x.: $I$Ii}VZPC)I$IF ^0ʐJ$I$Q^}{"r=OzI$gRZeC.IOvH eKX $IMpxsk.쒷/&r[޳<v| .I~)@$updYRa$I |M.e JaֶpSYR6j>h%IRز if&uJ)M$I vLi=H;7UJ,],X$I1AҒJ$ XY XzI@GNҥRT)E@;]K*Mw;#5_wOn~\ DC&$(A5 RRFkvIR}l!RytRl;~^ǷJj اy뷦BZJr&ӥ8Pjw~vnv X^(I;4R=P[3]J,]ȏ~:3?[ a&e)`e*P[4]T=Cq6R[ ~ޤrXR Հg(t_HZ-Hg M$ãmL5R uk*`%C-E6/%[t X.{8P9Z.vkXŐKjgKZHg(aK9ڦmKjѺm_ \#$5,)-  61eJ,5m| r'= &ڡd%-]J on Xm|{ RҞe $eڧY XYrԮ-a7RK6h>n$5AVڴi*ֆK)mѦtmr1p| q:흺,)Oi*ֺK)ܬ֦K-5r3>0ԔHjJئEZj,%re~/z%jVMڸmrt)3]J,T K֦OvԒgii*bKiNO~%PW0=dii2tJ9Jݕ{7"I P9JKTbu,%r"6RKU}Ij2HKZXJ,妝 XYrP ެ24c%i^IK|.H,%rb:XRl1X4Pe/`x&P8Pj28Mzsx2r\zRPz4J}yP[g=L) .Q[6RjWgp FIH*-`IMRaK9TXcq*I y[jE>cw%gLRԕiFCj-ďa`#e~I j,%r,)?[gp FI˨mnWX#>mʔ XA DZf9,nKҲzIZXJ,L#kiPz4JZF,I,`61%2s $,VOϚ2/UFJfy7K> X+6 STXIeJILzMfKm LRaK9%|4p9LwJI!`NsiazĔ)%- XMq>pk$-$Q2x#N ؎-QR}ᶦHZډ)J,l#i@yn3LN`;nڔ XuX5pF)m|^0(>BHF9(cզEerJI rg7 4I@z0\JIi䵙RR0s;$s6eJ,`n 䂦0a)S)A 1eJ,堌#635RIgpNHuTH_SԕqVe ` &S)>p;S$魁eKIuX`I4춒o}`m$1":PI<[v9^\pTJjriRŭ P{#{R2,`)e-`mgj~1ϣLKam7&U\j/3mJ,`F;M'䱀 .KR#)yhTq;pcK9(q!w?uRR,n.yw*UXj#\]ɱ(qv2=RqfB#iJmmL<]Y͙#$5 uTU7ӦXR+q,`I}qL'`6Kͷ6r,]0S$- [RKR3oiRE|nӦXR.(i:LDLTJjY%o:)6rxzҒqTJjh㞦I.$YR.ʼnGZ\ֿf:%55 I˼!6dKxm4E"mG_ s? .e*?LRfK9%q#uh$)i3ULRfK9yxm܌bj84$i1U^@Wbm4uJ,ҪA>_Ij?1v32[gLRD96oTaR׿N7%L2 NT,`)7&ƝL*꽙yp_$M2#AS,`)7$rkTA29_Iye"|/0t)$n XT2`YJ;6Jx".e<`$) PI$5V4]29SRI>~=@j]lp2`K9Jaai^" Ԋ29ORI%:XV5]JmN9]H;1UC39NI%Xe78t)a;Oi Ҙ>Xt"~G>_mn:%|~ޅ_+]$o)@ǀ{hgN;IK6G&rp)T2i୦KJuv*T=TOSV>(~D>dm,I*Ɛ:R#ۙNI%D>G.n$o;+#RR!.eU˽TRI28t)1LWϚ>IJa3oFbu&:tJ*(F7y0ZR ^p'Ii L24x| XRI%ۄ>S1]Jy[zL$adB7.eh4%%누>WETf+3IR:I3Xה)3אOۦSRO'ٺ)S}"qOr[B7ϙ.edG)^ETR"RtRݜh0}LFVӦDB^k_JDj\=LS(Iv─aTeZ%eUAM-0;~˃@i|l @S4y72>sX-vA}ϛBI!ݎߨWl*)3{'Y|iSlEڻ(5KtSI$Uv02,~ԩ~x;P4ցCrO%tyn425:KMlD ^4JRxSهF_}شJTS6uj+ﷸk$eZO%G*^V2u3EMj3k%)okI]dT)URKDS 7~m@TJR~荪fT"֛L \sM -0T KfJz+nإKr L&j()[E&I ߴ>e FW_kJR|!O:5/2跌3T-'|zX ryp0JS ~^F>-2< `*%ZFP)bSn"L :)+pʷf(pO3TMW$~>@~ū:TAIsV1}S2<%ޟM?@iT ,Eūoz%i~g|`wS(]oȤ8)$ ntu`өe`6yPl IzMI{ʣzʨ )IZ2= ld:5+請M$-ї;U>_gsY$ÁN5WzWfIZ)-yuXIfp~S*IZdt;t>KūKR|$#LcԀ+2\;kJ`]YǔM1B)UbG"IRߊ<xܾӔJ0Z='Y嵤 Leveg)$znV-º^3Ւof#0Tfk^Zs[*I꯳3{)ˬW4Ւ4 OdpbZRS|*I 55#"&-IvT&/윚Ye:i$ 9{LkuRe[I~_\ؠ%>GL$iY8 9ܕ"S`kS.IlC;Ҏ4x&>u_0JLr<J2(^$5L s=MgV ~,Iju> 7r2)^=G$1:3G< `J3~&IR% 6Tx/rIj3O< ʔ&#f_yXJiގNSz; Tx(i8%#4 ~AS+IjerIUrIj362v885+IjAhK__5X%nV%Iͳ-y|7XV2v4fzo_68"S/I-qbf; LkF)KSM$ Ms>K WNV}^`-큧32ŒVؙGdu,^^m%6~Nn&͓3ŒVZMsRpfEW%IwdǀLm[7W&bIRL@Q|)* i ImsIMmKmyV`i$G+R 0tV'!V)֏28vU7͒vHꦼtxꗞT ;S}7Mf+fIRHNZUkUx5SAJㄌ9MqμAIRi|j5)o*^'<$TwI1hEU^c_j?Е$%d`z cyf,XO IJnTgA UXRD }{H}^S,P5V2\Xx`pZ|Yk:$e ~ @nWL.j+ϝYb퇪bZ BVu)u/IJ_ 1[p.p60bC >|X91P:N\!5qUB}5a5ja `ubcVxYt1N0Zzl4]7­gKj]?4ϻ *[bg$)+À*x쳀ogO$~,5 زUS9 lq3+5mgw@np1sso Ӻ=|N6 /g(Wv7U;zωM=wk,0uTg_`_P`uz?2yI!b`kĸSo+Qx%!\οe|އԁKS-s6pu_(ֿ$i++T8=eY; צP+phxWQv*|p1. ά. XRkIQYP,drZ | B%wP|S5`~́@i޾ E;Չaw{o'Q?%iL{u D?N1BD!owPHReFZ* k_-~{E9b-~P`fE{AܶBJAFO wx6Rox5 K5=WwehS8 (JClJ~ p+Fi;ŗo+:bD#g(C"wA^ r.F8L;dzdIHUX݆ϞXg )IFqem%I4dj&ppT{'{HOx( Rk6^C٫O.)3:s(۳(Z?~ٻ89zmT"PLtw䥈5&b<8GZ-Y&K?e8,`I6e(֍xb83 `rzXj)F=l($Ij 2*(F?h(/9ik:I`m#p3MgLaKjc/U#n5S# m(^)=y=đx8ŬI[U]~SцA4p$-F i(R,7Cx;X=cI>{Km\ o(Tv2vx2qiiDJN,Ҏ!1f 5quBj1!8 rDFd(!WQl,gSkL1Bxg''՞^ǘ;pQ P(c_ IRujg(Wz bs#P­rz> k c&nB=q+ؔXn#r5)co*Ũ+G?7< |PQӣ'G`uOd>%Mctz# Ԫڞ&7CaQ~N'-P.W`Oedp03C!IZcIAMPUۀ5J<\u~+{9(FbbyAeBhOSܳ1 bÈT#ŠyDžs,`5}DC-`̞%r&ڙa87QWWp6e7 Rϫ/oY ꇅ Nܶըtc!LA T7V4Jsū I-0Pxz7QNF_iZgúWkG83 0eWr9 X]㾮݁#Jˢ C}0=3ݱtBi]_ &{{[/o[~ \q鯜00٩|cD3=4B_b RYb$óBRsf&lLX#M*C_L܄:gx)WΘsGSbuL rF$9';\4Ɍq'n[%p.Q`u hNb`eCQyQ|l_C>Lb꟟3hSb #xNxSs^ 88|Mz)}:](vbۢamŖ࿥ 0)Q7@0=?^k(*J}3ibkFn HjB׻NO z x}7p 0tfDX.lwgȔhԾŲ }6g E |LkLZteu+=q\Iv0쮑)QٵpH8/2?Σo>Jvppho~f>%bMM}\//":PTc(v9v!gոQ )UfVG+! 35{=x\2+ki,y$~A1iC6#)vC5^>+gǵ@1Hy٪7u;p psϰu/S <aʸGu'tD1ԝI<pg|6j'p:tպhX{o(7v],*}6a_ wXRk,O]Lܳ~Vo45rp"N5k;m{rZbΦ${#)`(Ŵg,;j%6j.pyYT?}-kBDc3qA`NWQū20/^AZW%NQ MI.X#P#,^Ebc&?XR tAV|Y.1!؅⨉ccww>ivl(JT~ u`ٵDm q)+Ri x/x8cyFO!/*!/&,7<.N,YDŽ&ܑQF1Bz)FPʛ?5d 6`kQձ λc؎%582Y&nD_$Je4>a?! ͨ|ȎWZSsv8 j(I&yj Jb5m?HWp=g}G3#|I,5v珿] H~R3@B[☉9Ox~oMy=J;xUVoj bUsl_35t-(ՃɼRB7U!qc+x4H_Qo֮$[GO<4`&č\GOc[.[*Af%mG/ ňM/r W/Nw~B1U3J?P&Y )`ѓZ1p]^l“W#)lWZilUQu`-m|xĐ,_ƪ|9i:_{*(3Gѧ}UoD+>m_?VPۅ15&}2|/pIOʵ> GZ9cmíتmnz)yߐbD >e}:) r|@R5qVSA10C%E_'^8cR7O;6[eKePGϦX7jb}OTGO^jn*媓7nGMC t,k31Rb (vyܴʭ!iTh8~ZYZp(qsRL ?b}cŨʊGO^!rPJO15MJ[c&~Z`"ѓޔH1C&^|Ш|rʼ,AwĴ?b5)tLU)F| &g٣O]oqSUjy(x<Ϳ3 .FSkoYg2 \_#wj{u'rQ>o;%n|F*O_L"e9umDds?.fuuQbIWz |4\0 sb;OvxOSs; G%T4gFRurj(֍ڑb uԖKDu1MK{1^ q; C=6\8FR艇!%\YÔU| 88m)֓NcLve C6z;o&X x59:q61Z(T7>C?gcļxѐ Z oo-08jہ x,`' ҔOcRlf~`jj".Nv+sM_]Zk g( UOPyεx%pUh2(@il0ݽQXxppx-NS( WO+轾 nFߢ3M<;z)FBZjciu/QoF 7R¥ ZFLF~#ȣߨ^<쩡ݛкvџ))ME>ώx4m#!-m!L;vv#~Y[đKmx9.[,UFS CVkZ +ߟrY٧IZd/ioi$%͝ب_ֶX3ܫhNU ZZgk=]=bbJS[wjU()*I =ώ:}-蹞lUj:1}MWm=̛ _ ¾,8{__m{_PVK^n3esw5ӫh#$-q=A̟> ,^I}P^J$qY~Q[ Xq9{#&T.^GVj__RKpn,b=`żY@^՝;z{paVKkQXj/)y TIc&F;FBG7wg ZZDG!x r_tƢ!}i/V=M/#nB8 XxЫ ^@CR<{䤭YCN)eKOSƟa $&g[i3.C6xrOc8TI;o hH6P&L{@q6[ Gzp^71j(l`J}]e6X☉#͕ ׈$AB1Vjh㭦IRsqFBjwQ_7Xk>y"N=MB0 ,C #o6MRc0|$)ف"1!ixY<B9mx `,tA>)5ػQ?jQ?cn>YZe Tisvh# GMމȇp:ԴVuږ8ɼH]C.5C!UV;F`mbBk LTMvPʍϤj?ԯ/Qr1NB`9s"s TYsz &9S%U԰> {<ؿSMxB|H\3@!U| k']$U+> |HHMLޢ?V9iD!-@x TIî%6Z*9X@HMW#?nN ,oe6?tQwڱ.]-y':mW0#!J82qFjH -`ѓ&M0u Uγmxϵ^-_\])@0Rt.8/?ٰCY]x}=sD3ojަЫNuS%U}ԤwHH>ڗjܷ_3gN q7[q2la*ArǓԖ+p8/RGM ]jacd(JhWko6ڎbj]i5Bj3+3!\j1UZLsLTv8HHmup<>gKMJj0@H%,W΃7R) ">c, xixј^ aܖ>H[i.UIHc U1=yW\=S*GR~)AF=`&2h`DzT󑓶J+?W+}C%P:|0H܆}-<;OC[~o.$~i}~HQ TvXΈr=b}$vizL4:ȰT|4~*!oXQR6Lk+#t/g lԁߖ[Jڶ_N$k*". xsxX7jRVbAAʯKҎU3)zSNN _'s?f)6X!%ssAkʱ>qƷb hg %n ~p1REGMHH=BJiy[<5 ǁJҖgKR*倳e~HUy)Ag,K)`Vw6bRR:qL#\rclK/$sh*$ 6덤 KԖc 3Z9=Ɣ=o>X Ώ"1 )a`SJJ6k(<c e{%kϊP+SL'TcMJWRm ŏ"w)qc ef꒵i?b7b('"2r%~HUS1\<(`1Wx9=8HY9m:X18bgD1u ~|H;K-Uep,, C1 RV.MR5άh,tWO8WC$ XRVsQS]3GJ|12 [vM :k#~tH30Rf-HYݺ-`I9%lIDTm\ S{]9gOڒMNCV\G*2JRŨ;Rҏ^ڽ̱mq1Eu?To3I)y^#jJw^Ńj^vvlB_⋌P4x>0$c>K†Aļ9s_VjTt0l#m>E-,,x,-W)سo&96RE XR.6bXw+)GAEvL)͞K4$p=Ũi_ѱOjb HY/+@θH9޼]Nԥ%n{ &zjT? Ty) s^ULlb,PiTf^<À] 62R^V7)S!nllS6~͝V}-=%* ʻ>G DnK<y&>LPy7'r=Hj 9V`[c"*^8HpcO8bnU`4JȪAƋ#1_\ XϘHPRgik(~G~0DAA_2p|J묭a2\NCr]M_0 ^T%e#vD^%xy-n}-E\3aS%yN!r_{ )sAw ڼp1pEAk~v<:`'ӭ^5 ArXOI驻T (dk)_\ PuA*BY]yB"l\ey hH*tbK)3 IKZ򹞋XjN n *n>k]X_d!ryBH ]*R 0(#'7 %es9??ښFC,ՁQPjARJ\Ρw K#jahgw;2$l*) %Xq5!U᢯6Re] |0[__64ch&_}iL8KEgҎ7 M/\`|.p,~`a=BR?xܐrQ8K XR2M8f ?`sgWS%" Ԉ 7R%$ N}?QL1|-эټwIZ%pvL3Hk>,ImgW7{E xPHx73RA @RS CC !\ȟ5IXR^ZxHл$Q[ŝ40 (>+ _C >BRt<,TrT {O/H+˟Pl6 I B)/VC<6a2~(XwV4gnXR ϱ5ǀHٻ?tw똤Eyxp{#WK qG%5],(0ӈH HZ])ג=K1j&G(FbM@)%I` XRg ʔ KZG(vP,<`[ Kn^ SJRsAʠ5xՅF`0&RbV tx:EaUE/{fi2;.IAwW8/tTxAGOoN?G}l L(n`Zv?pB8K_gI+ܗ #i?ޙ.) p$utc ~DžfՈEo3l/)I-U?aԅ^jxArA ΧX}DmZ@QLےbTXGd.^|xKHR{|ΕW_h] IJ`[G9{).y) 0X YA1]qp?p_k+J*Y@HI>^?gt.06Rn ,` ?);p pSF9ZXLBJPWjgQ|&)7! HjQt<| ؅W5 x W HIzYoVMGP Hjn`+\(dNW)F+IrS[|/a`K|ͻ0Hj{R,Q=\ (F}\WR)AgSG`IsnAR=|8$}G(vC$)s FBJ?]_u XRvύ6z ŨG[36-T9HzpW̞ú Xg큽=7CufzI$)ki^qk-) 0H*N` QZkk]/tnnsI^Gu't=7$ Z;{8^jB% IItRQS7[ϭ3 $_OQJ`7!]W"W,)Iy W AJA;KWG`IY{8k$I$^%9.^(`N|LJ%@$I}ֽp=FB*xN=gI?Q{٥4B)mw $Igc~dZ@G9K X?7)aK%݅K$IZ-`IpC U6$I\0>!9k} Xa IIS0H$I H ?1R.Чj:4~Rw@p$IrA*u}WjWFPJ$I➓/6#! LӾ+ X36x8J |+L;v$Io4301R20M I$-E}@,pS^ޟR[/s¹'0H$IKyfŸfVOπFT*a$I>He~VY/3R/)>d$I>28`Cjw,n@FU*9ttf$I~<;=/4RD~@ X-ѕzἱI$: ԍR a@b X{+Qxuq$IЛzo /~3\8ڒ4BN7$IҀj V]n18H$IYFBj3̵̚ja pp $Is/3R Ӻ-Yj+L;.0ŔI$Av? #!5"aʄj}UKmɽH$IjCYs?h$IDl843.v}m7UiI=&=0Lg0$I4: embe` eQbm0u? $IT!Sƍ'-sv)s#C0:XB2a w I$zbww{."pPzO =Ɔ\[ o($Iaw]`E).Kvi:L*#gР7[$IyGPI=@R 4yR~̮´cg I$I/<tPͽ hDgo 94Z^k盇΄8I56^W$I^0̜N?4*H`237}g+hxoq)SJ@p|` $I%>-hO0eO>\ԣNߌZD6R=K ~n($I$y3D>o4b#px2$yڪtzW~a $I~?x'BwwpH$IZݑnC㧄Pc_9sO gwJ=l1:mKB>Ab<4Lp$Ib o1ZQ@85b̍ S'F,Fe,^I$IjEdù{l4 8Ys_s Z8.x m"+{~?q,Z D!I$ϻ'|XhB)=…']M>5 rgotԎ 獽PH$IjIPhh)n#cÔqA'ug5qwU&rF|1E%I$%]!'3AFD/;Ck_`9 v!ٴtPV;x`'*bQa w I$Ix5 FC3D_~A_#O݆DvV?<qw+I$I{=Z8".#RIYyjǪ=fDl9%M,a8$I$Ywi[7ݍFe$s1ՋBVA?`]#!oz4zjLJo8$I$%@3jAa4(o ;p,,dya=F9ً[LSPH$IJYЉ+3> 5"39aZ<ñh!{TpBGkj}Sp $IlvF.F$I z< '\K*qq.f<2Y!S"-\I$IYwčjF$ w9 \ߪB.1v!Ʊ?+r:^!I$BϹB H"B;L'G[ 4U#5>੐)|#o0aڱ$I>}k&1`U#V?YsV x>{t1[I~D&(I$I/{H0fw"q"y%4 IXyE~M3 8XψL}qE$I[> nD?~sf ]o΁ cT6"?'_Ἣ $I>~.f|'!N?⟩0G KkXZE]ޡ;/&?k OۘH$IRۀwXӨ<7@PnS04aӶp.:@\IWQJ6sS%I$e5ڑv`3:x';wq_vpgHyXZ 3gЂ7{{EuԹn±}$I$8t;b|591nءQ"P6O5i }iR̈́%Q̄p!I䮢]O{H$IRϻ9s֧ a=`- aB\X0"+5"C1Hb?߮3x3&gşggl_hZ^,`5?ߎvĸ%̀M!OZC2#0x LJ0 Gw$I$I}<{Eb+y;iI,`ܚF:5ܛA8-O-|8K7s|#Z8a&><a&/VtbtLʌI$I$I$I$I$I$IRjDD%tEXtdate:create2022-05-31T04:40:26+00:00!Î%tEXtdate:modify2022-05-31T04:40:26+00:00|{2IENDB`Mini Shell

HOME


Mini Shell 1.0
DIR:/home/htlwork.com/www/himsaral/node_modules/react-router-dom/dist/
Upload File :
Current File : //home/htlwork.com/www/himsaral/node_modules/react-router-dom/dist/index.js.map
{"version":3,"file":"index.js","sources":["../dom.ts","../index.tsx"],"sourcesContent":["import type { FormEncType, FormMethod } from \"@remix-run/router\";\nimport type { RelativeRoutingType } from \"react-router\";\n\nexport const defaultMethod = \"get\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\n\nexport function isHtmlElement(object: any): object is HTMLElement {\n  return object != null && typeof object.tagName === \"string\";\n}\n\nexport function isButtonElement(object: any): object is HTMLButtonElement {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\n\nexport function isFormElement(object: any): object is HTMLFormElement {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\n\nexport function isInputElement(object: any): object is HTMLInputElement {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\n\ntype LimitedMouseEvent = Pick<\n  MouseEvent,\n  \"button\" | \"metaKey\" | \"altKey\" | \"ctrlKey\" | \"shiftKey\"\n>;\n\nfunction isModifiedEvent(event: LimitedMouseEvent) {\n  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\nexport function shouldProcessLinkClick(\n  event: LimitedMouseEvent,\n  target?: string\n) {\n  return (\n    event.button === 0 && // Ignore everything but left clicks\n    (!target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n    !isModifiedEvent(event) // Ignore clicks with modifier keys\n  );\n}\n\nexport type ParamKeyValuePair = [string, string];\n\nexport type URLSearchParamsInit =\n  | string\n  | ParamKeyValuePair[]\n  | Record<string, string | string[]>\n  | URLSearchParams;\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n *   let searchParams = new URLSearchParams([\n *     ['sort', 'name'],\n *     ['sort', 'price']\n *   ]);\n *\n * you can do:\n *\n *   let searchParams = createSearchParams({\n *     sort: ['name', 'price']\n *   });\n */\nexport function createSearchParams(\n  init: URLSearchParamsInit = \"\"\n): URLSearchParams {\n  return new URLSearchParams(\n    typeof init === \"string\" ||\n    Array.isArray(init) ||\n    init instanceof URLSearchParams\n      ? init\n      : Object.keys(init).reduce((memo, key) => {\n          let value = init[key];\n          return memo.concat(\n            Array.isArray(value) ? value.map((v) => [key, v]) : [[key, value]]\n          );\n        }, [] as ParamKeyValuePair[])\n  );\n}\n\nexport function getSearchParamsForLocation(\n  locationSearch: string,\n  defaultSearchParams: URLSearchParams\n) {\n  let searchParams = createSearchParams(locationSearch);\n\n  for (let key of defaultSearchParams.keys()) {\n    if (!searchParams.has(key)) {\n      defaultSearchParams.getAll(key).forEach((value) => {\n        searchParams.append(key, value);\n      });\n    }\n  }\n\n  return searchParams;\n}\n\nexport interface SubmitOptions {\n  /**\n   * The HTTP method used to submit the form. Overrides `<form method>`.\n   * Defaults to \"GET\".\n   */\n  method?: FormMethod;\n\n  /**\n   * The action URL path used to submit the form. Overrides `<form action>`.\n   * Defaults to the path of the current route.\n   *\n   * Note: It is assumed the path is already resolved. If you need to resolve a\n   * relative path, use `useFormAction`.\n   */\n  action?: string;\n\n  /**\n   * The action URL used to submit the form. Overrides `<form encType>`.\n   * Defaults to \"application/x-www-form-urlencoded\".\n   */\n  encType?: FormEncType;\n\n  /**\n   * Set `true` to replace the current entry in the browser's history stack\n   * instead of creating a new one (i.e. stay on \"the same page\"). Defaults\n   * to `false`.\n   */\n  replace?: boolean;\n\n  /**\n   * Determines whether the form action is relative to the route hierarchy or\n   * the pathname.  Use this if you want to opt out of navigating the route\n   * hierarchy and want to instead route based on /-delimited URL segments\n   */\n  relative?: RelativeRoutingType;\n}\n\nexport function getFormSubmissionInfo(\n  target:\n    | HTMLFormElement\n    | HTMLButtonElement\n    | HTMLInputElement\n    | FormData\n    | URLSearchParams\n    | { [name: string]: string }\n    | null,\n  defaultAction: string,\n  options: SubmitOptions\n): {\n  url: URL;\n  method: string;\n  encType: string;\n  formData: FormData;\n} {\n  let method: string;\n  let action: string;\n  let encType: string;\n  let formData: FormData;\n\n  if (isFormElement(target)) {\n    let submissionTrigger: HTMLButtonElement | HTMLInputElement = (\n      options as any\n    ).submissionTrigger;\n\n    method = options.method || target.getAttribute(\"method\") || defaultMethod;\n    action = options.action || target.getAttribute(\"action\") || defaultAction;\n    encType =\n      options.encType || target.getAttribute(\"enctype\") || defaultEncType;\n\n    formData = new FormData(target);\n\n    if (submissionTrigger && submissionTrigger.name) {\n      formData.append(submissionTrigger.name, submissionTrigger.value);\n    }\n  } else if (\n    isButtonElement(target) ||\n    (isInputElement(target) &&\n      (target.type === \"submit\" || target.type === \"image\"))\n  ) {\n    let form = target.form;\n\n    if (form == null) {\n      throw new Error(\n        `Cannot submit a <button> or <input type=\"submit\"> without a <form>`\n      );\n    }\n\n    // <button>/<input type=\"submit\"> may override attributes of <form>\n\n    method =\n      options.method ||\n      target.getAttribute(\"formmethod\") ||\n      form.getAttribute(\"method\") ||\n      defaultMethod;\n    action =\n      options.action ||\n      target.getAttribute(\"formaction\") ||\n      form.getAttribute(\"action\") ||\n      defaultAction;\n    encType =\n      options.encType ||\n      target.getAttribute(\"formenctype\") ||\n      form.getAttribute(\"enctype\") ||\n      defaultEncType;\n\n    formData = new FormData(form);\n\n    // Include name + value from a <button>, appending in case the button name\n    // matches an existing input name\n    if (target.name) {\n      formData.append(target.name, target.value);\n    }\n  } else if (isHtmlElement(target)) {\n    throw new Error(\n      `Cannot submit element that is not <form>, <button>, or ` +\n        `<input type=\"submit|image\">`\n    );\n  } else {\n    method = options.method || defaultMethod;\n    action = options.action || defaultAction;\n    encType = options.encType || defaultEncType;\n\n    if (target instanceof FormData) {\n      formData = target;\n    } else {\n      formData = new FormData();\n\n      if (target instanceof URLSearchParams) {\n        for (let [name, value] of target) {\n          formData.append(name, value);\n        }\n      } else if (target != null) {\n        for (let name of Object.keys(target)) {\n          formData.append(name, target[name]);\n        }\n      }\n    }\n  }\n\n  let { protocol, host } = window.location;\n  let url = new URL(action, `${protocol}//${host}`);\n\n  return { url, method, encType, formData };\n}\n","/**\n * NOTE: If you refactor this to split up the modules into separate files,\n * you'll need to update the rollup config for react-router-dom-v5-compat.\n */\nimport * as React from \"react\";\nimport type {\n  NavigateOptions,\n  RelativeRoutingType,\n  RouteObject,\n  To,\n} from \"react-router\";\nimport {\n  Router,\n  createPath,\n  useHref,\n  useLocation,\n  useMatches,\n  useNavigate,\n  useNavigation,\n  useResolvedPath,\n  UNSAFE_DataRouterContext as DataRouterContext,\n  UNSAFE_DataRouterStateContext as DataRouterStateContext,\n  UNSAFE_NavigationContext as NavigationContext,\n  UNSAFE_RouteContext as RouteContext,\n  UNSAFE_enhanceManualRouteObjects as enhanceManualRouteObjects,\n} from \"react-router\";\nimport type {\n  BrowserHistory,\n  Fetcher,\n  FormEncType,\n  FormMethod,\n  GetScrollRestorationKeyFunction,\n  HashHistory,\n  History,\n  HydrationState,\n  Router as RemixRouter,\n} from \"@remix-run/router\";\nimport {\n  createRouter,\n  createBrowserHistory,\n  createHashHistory,\n  invariant,\n  joinPaths,\n  ErrorResponse,\n} from \"@remix-run/router\";\n\nimport type {\n  SubmitOptions,\n  ParamKeyValuePair,\n  URLSearchParamsInit,\n} from \"./dom\";\nimport {\n  createSearchParams,\n  defaultMethod,\n  getFormSubmissionInfo,\n  getSearchParamsForLocation,\n  shouldProcessLinkClick,\n} from \"./dom\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Re-exports\n////////////////////////////////////////////////////////////////////////////////\n\nexport type {\n  FormEncType,\n  FormMethod,\n  ParamKeyValuePair,\n  SubmitOptions,\n  URLSearchParamsInit,\n};\nexport { createSearchParams };\n\n// Note: Keep in sync with react-router exports!\nexport type {\n  ActionFunction,\n  ActionFunctionArgs,\n  AwaitProps,\n  DataRouteMatch,\n  DataRouteObject,\n  Fetcher,\n  Hash,\n  IndexRouteObject,\n  IndexRouteProps,\n  JsonFunction,\n  LayoutRouteProps,\n  LoaderFunction,\n  LoaderFunctionArgs,\n  Location,\n  MemoryRouterProps,\n  NavigateFunction,\n  NavigateOptions,\n  NavigateProps,\n  Navigation,\n  Navigator,\n  NonIndexRouteObject,\n  OutletProps,\n  Params,\n  ParamParseKey,\n  Path,\n  PathMatch,\n  Pathname,\n  PathPattern,\n  PathRouteProps,\n  RedirectFunction,\n  RelativeRoutingType,\n  RouteMatch,\n  RouteObject,\n  RouteProps,\n  RouterProps,\n  RouterProviderProps,\n  RoutesProps,\n  Search,\n  ShouldRevalidateFunction,\n  To,\n} from \"react-router\";\nexport {\n  AbortedDeferredError,\n  Await,\n  MemoryRouter,\n  Navigate,\n  NavigationType,\n  Outlet,\n  Route,\n  Router,\n  RouterProvider,\n  Routes,\n  createMemoryRouter,\n  createPath,\n  createRoutesFromChildren,\n  createRoutesFromElements,\n  defer,\n  isRouteErrorResponse,\n  generatePath,\n  json,\n  matchPath,\n  matchRoutes,\n  parsePath,\n  redirect,\n  renderMatches,\n  resolvePath,\n  useActionData,\n  useAsyncError,\n  useAsyncValue,\n  useHref,\n  useInRouterContext,\n  useLoaderData,\n  useLocation,\n  useMatch,\n  useMatches,\n  useNavigate,\n  useNavigation,\n  useNavigationType,\n  useOutlet,\n  useOutletContext,\n  useParams,\n  useResolvedPath,\n  useRevalidator,\n  useRouteError,\n  useRouteLoaderData,\n  useRoutes,\n} from \"react-router\";\n\n///////////////////////////////////////////////////////////////////////////////\n// DANGER! PLEASE READ ME!\n// We provide these exports as an escape hatch in the event that you need any\n// routing data that we don't provide an explicit API for. With that said, we\n// want to cover your use case if we can, so if you feel the need to use these\n// we want to hear from you. Let us know what you're building and we'll do our\n// best to make sure we can support you!\n//\n// We consider these exports an implementation detail and do not guarantee\n// against any breaking changes, regardless of the semver release. Use with\n// extreme caution and only if you understand the consequences. Godspeed.\n///////////////////////////////////////////////////////////////////////////////\n\n/** @internal */\nexport {\n  UNSAFE_DataRouterContext,\n  UNSAFE_DataRouterStateContext,\n  UNSAFE_DataStaticRouterContext,\n  UNSAFE_NavigationContext,\n  UNSAFE_LocationContext,\n  UNSAFE_RouteContext,\n  UNSAFE_enhanceManualRouteObjects,\n} from \"react-router\";\n//#endregion\n\ndeclare global {\n  var __staticRouterHydrationData: HydrationState | undefined;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Routers\n////////////////////////////////////////////////////////////////////////////////\n\nexport function createBrowserRouter(\n  routes: RouteObject[],\n  opts?: {\n    basename?: string;\n    hydrationData?: HydrationState;\n    window?: Window;\n  }\n): RemixRouter {\n  return createRouter({\n    basename: opts?.basename,\n    history: createBrowserHistory({ window: opts?.window }),\n    hydrationData: opts?.hydrationData || parseHydrationData(),\n    routes: enhanceManualRouteObjects(routes),\n  }).initialize();\n}\n\nexport function createHashRouter(\n  routes: RouteObject[],\n  opts?: {\n    basename?: string;\n    hydrationData?: HydrationState;\n    window?: Window;\n  }\n): RemixRouter {\n  return createRouter({\n    basename: opts?.basename,\n    history: createHashHistory({ window: opts?.window }),\n    hydrationData: opts?.hydrationData || parseHydrationData(),\n    routes: enhanceManualRouteObjects(routes),\n  }).initialize();\n}\n\nfunction parseHydrationData(): HydrationState | undefined {\n  let state = window?.__staticRouterHydrationData;\n  if (state && state.errors) {\n    state = {\n      ...state,\n      errors: deserializeErrors(state.errors),\n    };\n  }\n  return state;\n}\n\nfunction deserializeErrors(\n  errors: RemixRouter[\"state\"][\"errors\"]\n): RemixRouter[\"state\"][\"errors\"] {\n  if (!errors) return null;\n  let entries = Object.entries(errors);\n  let serialized: RemixRouter[\"state\"][\"errors\"] = {};\n  for (let [key, val] of entries) {\n    // Hey you!  If you change this, please change the corresponding logic in\n    // serializeErrors in react-router-dom/server.tsx :)\n    if (val && val.__type === \"RouteErrorResponse\") {\n      serialized[key] = new ErrorResponse(\n        val.status,\n        val.statusText,\n        val.data,\n        val.internal === true\n      );\n    } else {\n      serialized[key] = val;\n    }\n  }\n  return serialized;\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n\nexport interface BrowserRouterProps {\n  basename?: string;\n  children?: React.ReactNode;\n  window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nexport function BrowserRouter({\n  basename,\n  children,\n  window,\n}: BrowserRouterProps) {\n  let historyRef = React.useRef<BrowserHistory>();\n  if (historyRef.current == null) {\n    historyRef.current = createBrowserHistory({ window, v5Compat: true });\n  }\n\n  let history = historyRef.current;\n  let [state, setState] = React.useState({\n    action: history.action,\n    location: history.location,\n  });\n\n  React.useLayoutEffect(() => history.listen(setState), [history]);\n\n  return (\n    <Router\n      basename={basename}\n      children={children}\n      location={state.location}\n      navigationType={state.action}\n      navigator={history}\n    />\n  );\n}\n\nexport interface HashRouterProps {\n  basename?: string;\n  children?: React.ReactNode;\n  window?: Window;\n}\n\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nexport function HashRouter({ basename, children, window }: HashRouterProps) {\n  let historyRef = React.useRef<HashHistory>();\n  if (historyRef.current == null) {\n    historyRef.current = createHashHistory({ window, v5Compat: true });\n  }\n\n  let history = historyRef.current;\n  let [state, setState] = React.useState({\n    action: history.action,\n    location: history.location,\n  });\n\n  React.useLayoutEffect(() => history.listen(setState), [history]);\n\n  return (\n    <Router\n      basename={basename}\n      children={children}\n      location={state.location}\n      navigationType={state.action}\n      navigator={history}\n    />\n  );\n}\n\nexport interface HistoryRouterProps {\n  basename?: string;\n  children?: React.ReactNode;\n  history: History;\n}\n\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter({ basename, children, history }: HistoryRouterProps) {\n  const [state, setState] = React.useState({\n    action: history.action,\n    location: history.location,\n  });\n\n  React.useLayoutEffect(() => history.listen(setState), [history]);\n\n  return (\n    <Router\n      basename={basename}\n      children={children}\n      location={state.location}\n      navigationType={state.action}\n      navigator={history}\n    />\n  );\n}\n\nif (__DEV__) {\n  HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nexport { HistoryRouter as unstable_HistoryRouter };\n\nexport interface LinkProps\n  extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, \"href\"> {\n  reloadDocument?: boolean;\n  replace?: boolean;\n  state?: any;\n  preventScrollReset?: boolean;\n  relative?: RelativeRoutingType;\n  to: To;\n}\n\n/**\n * The public API for rendering a history-aware <a>.\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n  function LinkWithRef(\n    {\n      onClick,\n      relative,\n      reloadDocument,\n      replace,\n      state,\n      target,\n      to,\n      preventScrollReset,\n      ...rest\n    },\n    ref\n  ) {\n    let href = useHref(to, { relative });\n    let internalOnClick = useLinkClickHandler(to, {\n      replace,\n      state,\n      target,\n      preventScrollReset,\n      relative,\n    });\n    function handleClick(\n      event: React.MouseEvent<HTMLAnchorElement, MouseEvent>\n    ) {\n      if (onClick) onClick(event);\n      if (!event.defaultPrevented) {\n        internalOnClick(event);\n      }\n    }\n\n    return (\n      // eslint-disable-next-line jsx-a11y/anchor-has-content\n      <a\n        {...rest}\n        href={href}\n        onClick={reloadDocument ? onClick : handleClick}\n        ref={ref}\n        target={target}\n      />\n    );\n  }\n);\n\nif (__DEV__) {\n  Link.displayName = \"Link\";\n}\n\nexport interface NavLinkProps\n  extends Omit<LinkProps, \"className\" | \"style\" | \"children\"> {\n  children?:\n    | React.ReactNode\n    | ((props: { isActive: boolean; isPending: boolean }) => React.ReactNode);\n  caseSensitive?: boolean;\n  className?:\n    | string\n    | ((props: {\n        isActive: boolean;\n        isPending: boolean;\n      }) => string | undefined);\n  end?: boolean;\n  style?:\n    | React.CSSProperties\n    | ((props: {\n        isActive: boolean;\n        isPending: boolean;\n      }) => React.CSSProperties | undefined);\n}\n\n/**\n * A <Link> wrapper that knows if it's \"active\" or not.\n */\nexport const NavLink = React.forwardRef<HTMLAnchorElement, NavLinkProps>(\n  function NavLinkWithRef(\n    {\n      \"aria-current\": ariaCurrentProp = \"page\",\n      caseSensitive = false,\n      className: classNameProp = \"\",\n      end = false,\n      style: styleProp,\n      to,\n      children,\n      ...rest\n    },\n    ref\n  ) {\n    let path = useResolvedPath(to, { relative: rest.relative });\n    let location = useLocation();\n    let routerState = React.useContext(DataRouterStateContext);\n    let { navigator } = React.useContext(NavigationContext);\n\n    let toPathname = navigator.encodeLocation\n      ? navigator.encodeLocation(path).pathname\n      : path.pathname;\n    let locationPathname = location.pathname;\n    let nextLocationPathname =\n      routerState && routerState.navigation && routerState.navigation.location\n        ? routerState.navigation.location.pathname\n        : null;\n\n    if (!caseSensitive) {\n      locationPathname = locationPathname.toLowerCase();\n      nextLocationPathname = nextLocationPathname\n        ? nextLocationPathname.toLowerCase()\n        : null;\n      toPathname = toPathname.toLowerCase();\n    }\n\n    let isActive =\n      locationPathname === toPathname ||\n      (!end &&\n        locationPathname.startsWith(toPathname) &&\n        locationPathname.charAt(toPathname.length) === \"/\");\n\n    let isPending =\n      nextLocationPathname != null &&\n      (nextLocationPathname === toPathname ||\n        (!end &&\n          nextLocationPathname.startsWith(toPathname) &&\n          nextLocationPathname.charAt(toPathname.length) === \"/\"));\n\n    let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n\n    let className: string | undefined;\n    if (typeof classNameProp === \"function\") {\n      className = classNameProp({ isActive, isPending });\n    } else {\n      // If the className prop is not a function, we use a default `active`\n      // class for <NavLink />s that are active. In v5 `active` was the default\n      // value for `activeClassName`, but we are removing that API and can still\n      // use the old default behavior for a cleaner upgrade path and keep the\n      // simple styling rules working as they currently do.\n      className = [\n        classNameProp,\n        isActive ? \"active\" : null,\n        isPending ? \"pending\" : null,\n      ]\n        .filter(Boolean)\n        .join(\" \");\n    }\n\n    let style =\n      typeof styleProp === \"function\"\n        ? styleProp({ isActive, isPending })\n        : styleProp;\n\n    return (\n      <Link\n        {...rest}\n        aria-current={ariaCurrent}\n        className={className}\n        ref={ref}\n        style={style}\n        to={to}\n      >\n        {typeof children === \"function\"\n          ? children({ isActive, isPending })\n          : children}\n      </Link>\n    );\n  }\n);\n\nif (__DEV__) {\n  NavLink.displayName = \"NavLink\";\n}\n\nexport interface FormProps extends React.FormHTMLAttributes<HTMLFormElement> {\n  /**\n   * The HTTP verb to use when the form is submit. Supports \"get\", \"post\",\n   * \"put\", \"delete\", \"patch\".\n   */\n  method?: FormMethod;\n\n  /**\n   * Normal `<form action>` but supports React Router's relative paths.\n   */\n  action?: string;\n\n  /**\n   * Forces a full document navigation instead of a fetch.\n   */\n  reloadDocument?: boolean;\n\n  /**\n   * Replaces the current entry in the browser history stack when the form\n   * navigates. Use this if you don't want the user to be able to click \"back\"\n   * to the page with the form on it.\n   */\n  replace?: boolean;\n\n  /**\n   * Determines whether the form action is relative to the route hierarchy or\n   * the pathname.  Use this if you want to opt out of navigating the route\n   * hierarchy and want to instead route based on /-delimited URL segments\n   */\n  relative?: RelativeRoutingType;\n\n  /**\n   * A function to call when the form is submitted. If you call\n   * `event.preventDefault()` then this form will not do anything.\n   */\n  onSubmit?: React.FormEventHandler<HTMLFormElement>;\n}\n\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nexport const Form = React.forwardRef<HTMLFormElement, FormProps>(\n  (props, ref) => {\n    return <FormImpl {...props} ref={ref} />;\n  }\n);\n\nif (__DEV__) {\n  Form.displayName = \"Form\";\n}\n\ntype HTMLSubmitEvent = React.BaseSyntheticEvent<\n  SubmitEvent,\n  Event,\n  HTMLFormElement\n>;\n\ntype HTMLFormSubmitter = HTMLButtonElement | HTMLInputElement;\n\ninterface FormImplProps extends FormProps {\n  fetcherKey?: string;\n  routeId?: string;\n}\n\nconst FormImpl = React.forwardRef<HTMLFormElement, FormImplProps>(\n  (\n    {\n      reloadDocument,\n      replace,\n      method = defaultMethod,\n      action,\n      onSubmit,\n      fetcherKey,\n      routeId,\n      relative,\n      ...props\n    },\n    forwardedRef\n  ) => {\n    let submit = useSubmitImpl(fetcherKey, routeId);\n    let formMethod: FormMethod =\n      method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n    let formAction = useFormAction(action, { relative });\n    let submitHandler: React.FormEventHandler<HTMLFormElement> = (event) => {\n      onSubmit && onSubmit(event);\n      if (event.defaultPrevented) return;\n      event.preventDefault();\n\n      let submitter = (event as unknown as HTMLSubmitEvent).nativeEvent\n        .submitter as HTMLFormSubmitter | null;\n\n      submit(submitter || event.currentTarget, { method, replace, relative });\n    };\n\n    return (\n      <form\n        ref={forwardedRef}\n        method={formMethod}\n        action={formAction}\n        onSubmit={reloadDocument ? onSubmit : submitHandler}\n        {...props}\n      />\n    );\n  }\n);\n\nif (__DEV__) {\n  FormImpl.displayName = \"FormImpl\";\n}\n\ninterface ScrollRestorationProps {\n  getKey?: GetScrollRestorationKeyFunction;\n  storageKey?: string;\n}\n\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nexport function ScrollRestoration({\n  getKey,\n  storageKey,\n}: ScrollRestorationProps) {\n  useScrollRestoration({ getKey, storageKey });\n  return null;\n}\n\nif (__DEV__) {\n  ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\n\nenum DataRouterHook {\n  UseScrollRestoration = \"useScrollRestoration\",\n  UseSubmitImpl = \"useSubmitImpl\",\n  UseFetcher = \"useFetcher\",\n}\n\nenum DataRouterStateHook {\n  UseFetchers = \"useFetchers\",\n  UseScrollRestoration = \"useScrollRestoration\",\n}\n\nfunction getDataRouterConsoleError(\n  hookName: DataRouterHook | DataRouterStateHook\n) {\n  return `${hookName} must be used within a data router.  See https://reactrouter.com/routers/picking-a-router.`;\n}\n\nfunction useDataRouterContext(hookName: DataRouterHook) {\n  let ctx = React.useContext(DataRouterContext);\n  invariant(ctx, getDataRouterConsoleError(hookName));\n  return ctx;\n}\n\nfunction useDataRouterState(hookName: DataRouterStateHook) {\n  let state = React.useContext(DataRouterStateContext);\n  invariant(state, getDataRouterConsoleError(hookName));\n  return state;\n}\n\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nexport function useLinkClickHandler<E extends Element = HTMLAnchorElement>(\n  to: To,\n  {\n    target,\n    replace: replaceProp,\n    state,\n    preventScrollReset,\n    relative,\n  }: {\n    target?: React.HTMLAttributeAnchorTarget;\n    replace?: boolean;\n    state?: any;\n    preventScrollReset?: boolean;\n    relative?: RelativeRoutingType;\n  } = {}\n): (event: React.MouseEvent<E, MouseEvent>) => void {\n  let navigate = useNavigate();\n  let location = useLocation();\n  let path = useResolvedPath(to, { relative });\n\n  return React.useCallback(\n    (event: React.MouseEvent<E, MouseEvent>) => {\n      if (shouldProcessLinkClick(event, target)) {\n        event.preventDefault();\n\n        // If the URL hasn't changed, a regular <a> will do a replace instead of\n        // a push, so do the same here unless the replace prop is explicitly set\n        let replace =\n          replaceProp !== undefined\n            ? replaceProp\n            : createPath(location) === createPath(path);\n\n        navigate(to, { replace, state, preventScrollReset, relative });\n      }\n    },\n    [\n      location,\n      navigate,\n      path,\n      replaceProp,\n      state,\n      target,\n      to,\n      preventScrollReset,\n      relative,\n    ]\n  );\n}\n\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nexport function useSearchParams(\n  defaultInit?: URLSearchParamsInit\n): [URLSearchParams, SetURLSearchParams] {\n  warning(\n    typeof URLSearchParams !== \"undefined\",\n    `You cannot use the \\`useSearchParams\\` hook in a browser that does not ` +\n      `support the URLSearchParams API. If you need to support Internet ` +\n      `Explorer 11, we recommend you load a polyfill such as ` +\n      `https://github.com/ungap/url-search-params\\n\\n` +\n      `If you're unsure how to load polyfills, we recommend you check out ` +\n      `https://polyfill.io/v3/ which provides some recommendations about how ` +\n      `to load polyfills only for users that need them, instead of for every ` +\n      `user.`\n  );\n\n  let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n\n  let location = useLocation();\n  let searchParams = React.useMemo(\n    () =>\n      getSearchParamsForLocation(\n        location.search,\n        defaultSearchParamsRef.current\n      ),\n    [location.search]\n  );\n\n  let navigate = useNavigate();\n  let setSearchParams = React.useCallback<SetURLSearchParams>(\n    (nextInit, navigateOptions) => {\n      const newSearchParams = createSearchParams(\n        typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit\n      );\n      navigate(\"?\" + newSearchParams, navigateOptions);\n    },\n    [navigate, searchParams]\n  );\n\n  return [searchParams, setSearchParams];\n}\n\ntype SetURLSearchParams = (\n  nextInit?:\n    | URLSearchParamsInit\n    | ((prev: URLSearchParams) => URLSearchParamsInit),\n  navigateOpts?: NavigateOptions\n) => void;\n\ntype SubmitTarget =\n  | HTMLFormElement\n  | HTMLButtonElement\n  | HTMLInputElement\n  | FormData\n  | URLSearchParams\n  | { [name: string]: string }\n  | null;\n\n/**\n * Submits a HTML `<form>` to the server without reloading the page.\n */\nexport interface SubmitFunction {\n  (\n    /**\n     * Specifies the `<form>` to be submitted to the server, a specific\n     * `<button>` or `<input type=\"submit\">` to use to submit the form, or some\n     * arbitrary data to submit.\n     *\n     * Note: When using a `<button>` its `name` and `value` will also be\n     * included in the form data that is submitted.\n     */\n    target: SubmitTarget,\n\n    /**\n     * Options that override the `<form>`'s own attributes. Required when\n     * submitting arbitrary data without a backing `<form>`.\n     */\n    options?: SubmitOptions\n  ): void;\n}\n\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nexport function useSubmit(): SubmitFunction {\n  return useSubmitImpl();\n}\n\nfunction useSubmitImpl(fetcherKey?: string, routeId?: string): SubmitFunction {\n  let { router } = useDataRouterContext(DataRouterHook.UseSubmitImpl);\n  let defaultAction = useFormAction();\n\n  return React.useCallback(\n    (target, options = {}) => {\n      if (typeof document === \"undefined\") {\n        throw new Error(\n          \"You are calling submit during the server render. \" +\n            \"Try calling submit within a `useEffect` or callback instead.\"\n        );\n      }\n\n      let { method, encType, formData, url } = getFormSubmissionInfo(\n        target,\n        defaultAction,\n        options\n      );\n\n      let href = url.pathname + url.search;\n      let opts = {\n        replace: options.replace,\n        formData,\n        formMethod: method as FormMethod,\n        formEncType: encType as FormEncType,\n      };\n      if (fetcherKey) {\n        invariant(routeId != null, \"No routeId available for useFetcher()\");\n        router.fetch(fetcherKey, routeId, href, opts);\n      } else {\n        router.navigate(href, opts);\n      }\n    },\n    [defaultAction, router, fetcherKey, routeId]\n  );\n}\n\nexport function useFormAction(\n  action?: string,\n  { relative }: { relative?: RelativeRoutingType } = {}\n): string {\n  let { basename } = React.useContext(NavigationContext);\n  let routeContext = React.useContext(RouteContext);\n  invariant(routeContext, \"useFormAction must be used inside a RouteContext\");\n\n  let [match] = routeContext.matches.slice(-1);\n  let resolvedAction = action ?? \".\";\n  // Shallow clone path so we can modify it below, otherwise we modify the\n  // object referenced by useMemo inside useResolvedPath\n  let path = { ...useResolvedPath(resolvedAction, { relative }) };\n\n  // Previously we set the default action to \".\". The problem with this is that\n  // `useResolvedPath(\".\")` excludes search params and the hash of the resolved\n  // URL. This is the intended behavior of when \".\" is specifically provided as\n  // the form action, but inconsistent w/ browsers when the action is omitted.\n  // https://github.com/remix-run/remix/issues/927\n  let location = useLocation();\n  if (action == null) {\n    // Safe to write to these directly here since if action was undefined, we\n    // would have called useResolvedPath(\".\") which will never include a search\n    // or hash\n    path.search = location.search;\n    path.hash = location.hash;\n\n    // When grabbing search params from the URL, remove the automatically\n    // inserted ?index param so we match the useResolvedPath search behavior\n    // which would not include ?index\n    if (match.route.index) {\n      let params = new URLSearchParams(path.search);\n      params.delete(\"index\");\n      path.search = params.toString() ? `?${params.toString()}` : \"\";\n    }\n  }\n\n  if ((!action || action === \".\") && match.route.index) {\n    path.search = path.search\n      ? path.search.replace(/^\\?/, \"?index&\")\n      : \"?index\";\n  }\n\n  // If we're operating within a basename, prepend it to the pathname prior\n  // to creating the form action.  If this is a root navigation, then just use\n  // the raw basename which allows the basename to have full control over the\n  // presence of a trailing slash on root actions\n  if (basename !== \"/\") {\n    path.pathname =\n      path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n  }\n\n  return createPath(path);\n}\n\nfunction createFetcherForm(fetcherKey: string, routeId: string) {\n  let FetcherForm = React.forwardRef<HTMLFormElement, FormProps>(\n    (props, ref) => {\n      return (\n        <FormImpl\n          {...props}\n          ref={ref}\n          fetcherKey={fetcherKey}\n          routeId={routeId}\n        />\n      );\n    }\n  );\n  if (__DEV__) {\n    FetcherForm.displayName = \"fetcher.Form\";\n  }\n  return FetcherForm;\n}\n\nlet fetcherId = 0;\n\nexport type FetcherWithComponents<TData> = Fetcher<TData> & {\n  Form: ReturnType<typeof createFetcherForm>;\n  submit: (\n    target: SubmitTarget,\n    // Fetchers cannot replace because they are not navigation events\n    options?: Omit<SubmitOptions, \"replace\">\n  ) => void;\n  load: (href: string) => void;\n};\n\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nexport function useFetcher<TData = any>(): FetcherWithComponents<TData> {\n  let { router } = useDataRouterContext(DataRouterHook.UseFetcher);\n\n  let route = React.useContext(RouteContext);\n  invariant(route, `useFetcher must be used inside a RouteContext`);\n\n  let routeId = route.matches[route.matches.length - 1]?.route.id;\n  invariant(\n    routeId != null,\n    `useFetcher can only be used on routes that contain a unique \"id\"`\n  );\n\n  let [fetcherKey] = React.useState(() => String(++fetcherId));\n  let [Form] = React.useState(() => {\n    invariant(routeId, `No routeId available for fetcher.Form()`);\n    return createFetcherForm(fetcherKey, routeId);\n  });\n  let [load] = React.useState(() => (href: string) => {\n    invariant(router, \"No router available for fetcher.load()\");\n    invariant(routeId, \"No routeId available for fetcher.load()\");\n    router.fetch(fetcherKey, routeId, href);\n  });\n  let submit = useSubmitImpl(fetcherKey, routeId);\n\n  let fetcher = router.getFetcher<TData>(fetcherKey);\n\n  let fetcherWithComponents = React.useMemo(\n    () => ({\n      Form,\n      submit,\n      load,\n      ...fetcher,\n    }),\n    [fetcher, Form, submit, load]\n  );\n\n  React.useEffect(() => {\n    // Is this busted when the React team gets real weird and calls effects\n    // twice on mount?  We really just need to garbage collect here when this\n    // fetcher is no longer around.\n    return () => {\n      if (!router) {\n        console.warn(`No fetcher available to clean up from useFetcher()`);\n        return;\n      }\n      router.deleteFetcher(fetcherKey);\n    };\n  }, [router, fetcherKey]);\n\n  return fetcherWithComponents;\n}\n\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nexport function useFetchers(): Fetcher[] {\n  let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n  return [...state.fetchers.values()];\n}\n\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions: Record<string, number> = {};\n\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration({\n  getKey,\n  storageKey,\n}: {\n  getKey?: GetScrollRestorationKeyFunction;\n  storageKey?: string;\n} = {}) {\n  let { router } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n  let { restoreScrollPosition, preventScrollReset } = useDataRouterState(\n    DataRouterStateHook.UseScrollRestoration\n  );\n  let location = useLocation();\n  let matches = useMatches();\n  let navigation = useNavigation();\n\n  // Trigger manual scroll restoration while we're active\n  React.useEffect(() => {\n    window.history.scrollRestoration = \"manual\";\n    return () => {\n      window.history.scrollRestoration = \"auto\";\n    };\n  }, []);\n\n  // Save positions on unload\n  useBeforeUnload(\n    React.useCallback(() => {\n      if (navigation.state === \"idle\") {\n        let key = (getKey ? getKey(location, matches) : null) || location.key;\n        savedScrollPositions[key] = window.scrollY;\n      }\n      sessionStorage.setItem(\n        storageKey || SCROLL_RESTORATION_STORAGE_KEY,\n        JSON.stringify(savedScrollPositions)\n      );\n      window.history.scrollRestoration = \"auto\";\n    }, [storageKey, getKey, navigation.state, location, matches])\n  );\n\n  // Read in any saved scroll locations\n  React.useLayoutEffect(() => {\n    try {\n      let sessionPositions = sessionStorage.getItem(\n        storageKey || SCROLL_RESTORATION_STORAGE_KEY\n      );\n      if (sessionPositions) {\n        savedScrollPositions = JSON.parse(sessionPositions);\n      }\n    } catch (e) {\n      // no-op, use default empty object\n    }\n  }, [storageKey]);\n\n  // Enable scroll restoration in the router\n  React.useLayoutEffect(() => {\n    let disableScrollRestoration = router?.enableScrollRestoration(\n      savedScrollPositions,\n      () => window.scrollY,\n      getKey\n    );\n    return () => disableScrollRestoration && disableScrollRestoration();\n  }, [router, getKey]);\n\n  // Restore scrolling when state.restoreScrollPosition changes\n  React.useLayoutEffect(() => {\n    // Explicit false means don't do anything (used for submissions)\n    if (restoreScrollPosition === false) {\n      return;\n    }\n\n    // been here before, scroll to it\n    if (typeof restoreScrollPosition === \"number\") {\n      window.scrollTo(0, restoreScrollPosition);\n      return;\n    }\n\n    // try to scroll to the hash\n    if (location.hash) {\n      let el = document.getElementById(location.hash.slice(1));\n      if (el) {\n        el.scrollIntoView();\n        return;\n      }\n    }\n\n    // Opt out of scroll reset if this link requested it\n    if (preventScrollReset === true) {\n      return;\n    }\n\n    // otherwise go to the top on new locations\n    window.scrollTo(0, 0);\n  }, [location, restoreScrollPosition, preventScrollReset]);\n}\n\nfunction useBeforeUnload(callback: () => any): void {\n  React.useEffect(() => {\n    window.addEventListener(\"beforeunload\", callback);\n    return () => {\n      window.removeEventListener(\"beforeunload\", callback);\n    };\n  }, [callback]);\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Utils\n////////////////////////////////////////////////////////////////////////////////\n\nfunction warning(cond: boolean, message: string): void {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== \"undefined\") console.warn(message);\n\n    try {\n      // Welcome to debugging React Router!\n      //\n      // This error is thrown as a convenience so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message);\n      // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\n//#endregion\n"],"names":["defaultMethod","defaultEncType","isHtmlElement","object","tagName","isButtonElement","toLowerCase","isFormElement","isInputElement","isModifiedEvent","event","metaKey","altKey","ctrlKey","shiftKey","shouldProcessLinkClick","target","button","createSearchParams","init","URLSearchParams","Array","isArray","Object","keys","reduce","memo","key","value","concat","map","v","getSearchParamsForLocation","locationSearch","defaultSearchParams","searchParams","has","getAll","forEach","append","getFormSubmissionInfo","defaultAction","options","method","action","encType","formData","submissionTrigger","getAttribute","FormData","name","type","form","Error","protocol","host","window","location","url","URL","createBrowserRouter","routes","opts","createRouter","basename","history","createBrowserHistory","hydrationData","parseHydrationData","enhanceManualRouteObjects","initialize","createHashRouter","createHashHistory","state","__staticRouterHydrationData","errors","deserializeErrors","entries","serialized","val","__type","ErrorResponse","status","statusText","data","internal","BrowserRouter","children","historyRef","React","useRef","current","v5Compat","setState","useState","useLayoutEffect","listen","createElement","Router","navigationType","navigator","HashRouter","HistoryRouter","displayName","Link","forwardRef","LinkWithRef","ref","onClick","relative","reloadDocument","replace","to","preventScrollReset","rest","href","useHref","internalOnClick","useLinkClickHandler","handleClick","defaultPrevented","NavLink","NavLinkWithRef","ariaCurrentProp","caseSensitive","className","classNameProp","end","style","styleProp","path","useResolvedPath","useLocation","routerState","useContext","DataRouterStateContext","NavigationContext","toPathname","encodeLocation","pathname","locationPathname","nextLocationPathname","navigation","isActive","startsWith","charAt","length","isPending","ariaCurrent","undefined","filter","Boolean","join","Form","props","FormImpl","forwardedRef","onSubmit","fetcherKey","routeId","submit","useSubmitImpl","formMethod","formAction","useFormAction","submitHandler","preventDefault","submitter","nativeEvent","currentTarget","ScrollRestoration","getKey","storageKey","useScrollRestoration","DataRouterHook","DataRouterStateHook","getDataRouterConsoleError","hookName","useDataRouterContext","ctx","DataRouterContext","invariant","useDataRouterState","replaceProp","navigate","useNavigate","useCallback","createPath","useSearchParams","defaultInit","warning","defaultSearchParamsRef","useMemo","search","setSearchParams","nextInit","navigateOptions","newSearchParams","useSubmit","router","UseSubmitImpl","document","formEncType","fetch","routeContext","RouteContext","match","matches","slice","resolvedAction","hash","route","index","params","delete","toString","joinPaths","createFetcherForm","FetcherForm","fetcherId","useFetcher","UseFetcher","id","String","load","fetcher","getFetcher","fetcherWithComponents","useEffect","console","warn","deleteFetcher","useFetchers","UseFetchers","fetchers","values","SCROLL_RESTORATION_STORAGE_KEY","savedScrollPositions","UseScrollRestoration","restoreScrollPosition","useMatches","useNavigation","scrollRestoration","useBeforeUnload","scrollY","sessionStorage","setItem","JSON","stringify","sessionPositions","getItem","parse","e","disableScrollRestoration","enableScrollRestoration","scrollTo","el","getElementById","scrollIntoView","callback","addEventListener","removeEventListener","cond","message"],"mappings":"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"}