+
    io:                         ^ RI Ht ^ RIHt ^ RIHt ^ RIHtHtH	t	 ^ RI
Ht ^ RIHtHtHtHtHtHtHt ^ RIHt ]R 4       tR	# )
    )pi)symbols)sqrt)acossincos)Matrix)ReferenceFramedynamicsymbolsKanesMethodinertiaPoint	RigidBodydot)slowc                  <  al \        R 4      w  rr#\        R ^4      w  rErg\        R4      w  rrr\        R^4      w  rpppp\        R4      w  pppp\        R4      w  ppp\        R4      w  pppp\        R4      w  pp p!p"\        R4      w  p#p$p%p&\        R4      w  p'p(p)p*\        R4      w  p+p,p-p.\        R	4      p/V/P                  R
RV V/P                  .4      p0V0P                  RRVV0P
                  .4      p1V1P                  RRVV,           V1P                  .4      p2\        R4      p3V2P                  RRV) V2P                  .4      p4V2P                  RRVV2P
                  .4      p5V5P                  RRV) V5P                  .4      p6\        R4      p7\        R4      p8V8P                  RVV1P                  ,          4      p9V9P                  RVV2P                  ,          4      p:V9P                  RV) V2P
                  ,          VV2P                  ,          ,           4      p;V:P                  RV) V5P
                  ,          VV5P                  ,          ,           4      p<V:P                  RVV5P
                  ,          VV5P                  ,          ,           4      p=V=P                  RV\        V5P                  V0P                  4      V5P                  ,          V0P                  ,
          P                  4       ,          4      p>V0P                  V/VV0P                  ,          4       V1P                  V0V	V1P
                  ,          4       V3P                  V2V
V2P                  ,          4       V2P                  V1VV2P                  ,          4       V5P                  V2VV5P
                  ,          4       V7P                  V5VV5P                  ,          4       V8P                  V/^ 4       V9P                  V8V/V34       V:P                  V9V/V24       V;P                  V9V/V24       V<P                  V:V/V54       V=P                  V:V/V54       V>P                  V=V/V74       \        V4V"V#V$^ ^ V%4      V;3p?\        V6V&V'V(^ ^ V)4      V<3p@\        V2VVV4      V93pA\        V5V V!V 4      V=3pB\        RV;V2V+V?4      pC\        RV<V5V,V@4      pD\        RV9V3V.VA4      pE\        RV=V7V-VB4      pFWH,
          WY,
          Wk,
          W|,
          .pGV>P!                  V/4      V0P
                  ,          V>P!                  V/4      V0P                  ,          V>P!                  V/4      V0P                  ,          .pHV>P#                  V84      V0P                  ,          .pIV;V+) V*,          V0P                  ,          3V<V,) V*,          V0P                  ,          3V=V-) V*,          V0P                  ,          3V9V.) V*,          V0P                  ,          3.pJVCVDVEVF.pK\%        V/WV.V.VIWV.WV.VHVGRR7	      pLVLP'                  VKVJ4      w  pMpNR pOR!pP\(        ^,          \(        ^
,          ,
          P+                  4       pQR"pRVR\-        VQ4      ,          VP\/        VQ4      ,          ,
          ) P+                  4       pSR#pTR pUR$pVR$pWR%pXVT\-        VQ4      ,          VSVPVO,
          \/        VQ4      ,          ,
          ,
          P+                  4       pYVVVO,
          VU\-        VQ4      ,          \/        VQ4      ,          ,
          \-        VQ4      ,          P+                  4       pZVU\-        VQ4      ,          VVVO,
          VU\-        VQ4      ,          \/        VQ4      ,          ,
          \/        VQ4      ,          ,           P+                  4       p[VXVP,
          p\VTVW,
          p]\1        V\^,          V]^,          ,           4      P+                  4       p^VT\/        VQ4      ,          VPVO,
          \-        VQ4      ,          ,
          P+                  4       p_VSV^\-        \(        ^,          VQ,
          \3        V\V^,          4      ,
          4      ,          ,           P+                  4       p`V^\/        \(        ^,          VQ,
          \3        V\V^,          4      ,
          4      ,          V_,
          P+                  4       pa\        R&4      pb/ VVPbVVObVVQbVVSbVV_bVVYbVVabVV`bVVZbVV[bVR'bVR(bV R)bV!R*bV&R+bV'R,bV(R-b/ V)R.bV"R/bV#^bV$R0bV%R=bV,^bV+^UbV-^bV.^bV*R1bV ^ bV^ bV^ bV^ bV^ bV	^ bV
VbVO,          bCV^ V^ VVbVP,          /CpcVLP5                  R2/ VP7                  4       ^ bV	P7                  4       ^ bV
P7                  4       ^ bVP7                  4       ^ bVP7                  4       ^ bVP7                  4       ^ bV^ bV	^ bV
VbVO,          bV^ bV^ bVVbVP,          bV ^ bV^ bV^ bV^ bRR37      w  pdpepfVdP9                  Vc4      pgVeP9                  Vc4      phVgP+                  4       pgVhP+                  4       phVgP;                  . R>O. R>O4      pd\=        . R?O. R@OR4RAVb^,          ,          R5,
          RBVb,          RCVb,          .R6RDVb^,          ,          R7,           R8Vb,          REVb,          ..4      piR9ol\?        ^4       Fn  pjXiPA                  XbVj4      XdPA                  VbVj4      ,
          pk\B        ;QJ d    Vl3R: lXk 4       F  '       d   K   R;M	  R2M! Vl3R: lXk 4       4      '       d   Kn  Q h	  R<# )Fzq1 q2 q4 q5zu1 u2 u3 u4 u5 u6zWFrad WRrad htangle forkoffsetzforklength framelength forkcg1zforkcg3 framecg1 framecg3 Iwr11zIwr22 Iwf11 Iwf22 Iframe11z"Iframe22 Iframe33 Iframe31 Ifork11zIfork22 Ifork33 Ifork31 gzmframe mfork mwf mwrNYAxisRFrameWR	TempFrameForkTempForkWFWR_contWR_mcSteerFrame_mcFork_mcWF_mcWF_cont	BodyFrameBodyForkBodyWRBodyWFCRAMER)q_indq_dependentconfiguration_constraintsu_indu_dependentvelocity_constraintskd_eqsconstraint_solverg333333?gffffff?g{Gz?gRQ?g?gffffff?vg?߮?gQ?gCl?gQ?g)"*?gQ?gwJ|?g<~?gffffff"@gffffff@gQ#@T)A_and_Bop_pointlinear_solverg'^"@gWI?gE_p'@g>@gHj@g-q=c              3   @   <"   T F  p\        V4      S8  x  K  	  R # 5i)N)abs).0xepss   & f/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/physics/mechanics/tests/test_kane3.py	<genexpr>test_bicycle.<locals>.<genexpr>;  s     /A3q6C<s   FNg333333)            )r   r         ?r   )r   r   r   rA   gltgg>g{_*'տg%gaGͭ)"r   r   r
   	orientnewzr8   yr   	locatenewr   	normalizeset_ang_velset_velv2pt_theoryr   r   velpos_fromr   kanes_equationsr   evalfr   r   r   r   	linearizediffxreplaceextractr	   rangesubsall)mq1q2q4q5q1dq2dq4dq5du1u2u3u4u5u6u1du2du3du4du5du6dWFradWRradhtangle
forkoffset
forklengthframelengthforkcg1forkcg3framecg1framecg3Iwr11Iwr22Iwf11Iwf22Iframe11Iframe22Iframe33Iframe31Ifork11Ifork22Ifork33Ifork31gmframemforkmwfmwrr   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   Frame_IFork_IWR_IWF_Ir$   r%   r&   r'   kdconlist_speedconlist_coordFLBLKMfrfrstarPaperRadRearPaperRadFrontHTA
TrailPaperrakePaperWbPaperFrameCgXPaperFrameCgZPaperForkCgXPaperForkCgZFrameLengthFrameCGNorm
FrameCGPartempatempbtempc
PaperForkL
ForkCGNorm	ForkCGParr1   val_dictAB_A_sB_sResierrorr9   sm                                                                                                               @r:   test_bicycler      s   , $M2NBB'q9Cc+,?@BBB#12Eq#I Cc3S )00P(Q%E5':'./O'P$JW)01R)S&GXx$+,H$I!E5%,34X,Y)Hh'#*+F#G GWgq%&<=FE3 	sA	C"acc+A	C"acc+AKK"w,)<=E		BVwh5HII??66B=9D~~j&G8TVV2DEH		B IGguqss{3EOOG[577%:;EzX:+?-5-?,@ AHooi7TVV);+2TVV+;*< =GOOGZ$&&%8:;N%NOEooi#dffacc2BTVV2K23##367@y{*C DG MM!R!##XMM!R!##XNN5"uww,'	aegg&UBK(NN4dff%
 OOAq	gq"%	eQ&5)q$'	eQ%q"% y(Hh1hOQYZGh'1aI7SFE5%/7DD%.6D +xHIWdE6BHxC6FxC6F (CHch	1B [[^acc)7;;q>ACC+?QRSRURUAUVM %%g.45M fWq[133&
'	5&1*qss"#	q133	q133
!B Xvv	.B 
Qrrl2,=&
(B %%b"-LR (+L'+M(*Qb(8'?'?'AC'+J*4SX*=}SQTX?U*V(W'^'^'`D'+G'*M'*M'*L'*L(/C(8$l@Z\_`c\d?d:d(e'l'l'nK)6)E}UXY\U]G]_bcf_gFg)gilmpiq(q'x'x'zK(5C(@MT`D`cpsvwzs{c{  B  CF  G  dG  EG  KN  OR  KS  DS  )S  (Z  (Z  (\J(4}(DE(/(<E(,UAXeQh->(?'F'F'HE(/C(8-:TVYZ]V^9^(^'e'e'gJ(,ec"Q$s(4eCT:T6U.U(V']']'_J(-RT#XtE%K?P4P0Q(QR\(\'c'c'eI 	A$'} $'|$'$' D$' J	$'
 [$' $' $' +$' *$' v$' t$' v$' t$' $' $'  !$'" #$'$ #%$'& "'$'( #)$'* $+$', q-$'. /$'0 Q1$'2 Q3$'4 45$'6 A7$'8 A9$': A;$'< A=$'> A?$'@ AA$'B A$C$'D AAA%I$'H\ ll
 GGIq	

 GGIq
 GGIq
 GGIq
 GGIq
 GGIq
 
 
 L 
 
 
 M!
  !
" #
$ %
& '
* /  GAq!: **X
C
**X
C
))+C
))+C 	L,/A }}#%71%<?P%PRdefRfhz{|h|}#'8A'=@P'PTdefTfiz{|i|} @C C1XA1-s//sss//////     N)sympy.core.numbersr   sympy.core.symbolr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   r   r   sympy.matrices.denser	   sympy.physics.mechanicsr
   r   r   r   r   r   r   sympy.testing.pytestr   r    r   r:   <module>r      sA    ! % 9 C C '* * * & n0 n0r   