4- H     *  *                   D D *  D D  1       :    D D D D@ !TD-   pLProGAL/geom3d/Point;dirLProGAL/geom3d/Vector;(LProGAL/geom3d/Vector;)VCodeLineNumberTableLocalVariableTablethisLProGAL/geom3d/Line;d.(LProGAL/geom3d/Point;LProGAL/geom3d/Vector;)V(LProGAL/geom3d/LineSegment;)VsLProGAL/geom3d/LineSegment;-(LProGAL/geom3d/Point;LProGAL/geom3d/Point;)Vp1p2B(LProGAL/geom3d/Point;LProGAL/geom3d/Point;LProGAL/geom3d/Point;)VabccircleLProGAL/geom3d/Circle;clone()LProGAL/geom3d/Line;getP()LProGAL/geom3d/Point;getDir()LProGAL/geom3d/Vector;getPoint(D)LProGAL/geom3d/Point;tDorthogonalProjection,(LProGAL/geom3d/Point;)LProGAL/geom3d/Point;qorthogonalProjectionParameter(LProGAL/geom3d/Point;)Dpq6(LProGAL/geom3d/PointList;)LProGAL/geom3d/LineSegment;pointsLProGAL/geom3d/PointList;minTmaxT StackMapTableorthogonalProjectionParameters(LProGAL/geom3d/PointList;)[DgetDistanceSquared getDistancegetSquaredDistance(LProGAL/geom3d/Line;)DlerfdxdydzgetIntersection+(LProGAL/geom3d/Line;)LProGAL/geom3d/Point;getMaxDistanceSquared(LProGAL/geom3d/PointList;)DdistmaxDistgetMaxDistancerotate-(LProGAL/geom3d/Point;D)LProGAL/geom3d/Point;angleretrotateIniIpointvoptimalRotation/([LProGAL/geom3d/Point;[LProGAL/geom3d/Point;)DO_ifVecrVecsVecrLenmoving[LProGAL/geom3d/Point;targetmtanNumtanDenomalphasecDerivtoString()Ljava/lang/String;(I)Ljava/lang/String;dec()Ljava/lang/Object; Exceptions SourceFile Line.java QProGAL/geom3d/Point Q MN k OP i fi k  QYProGAL/geom3d/Circle Q` iProGAL/geom3d/Vector Q]  kProGAL/geom3d/Line Q QR     st lm    java/lang/Double     ProGAL/geom3d/LineSegment t   o java/lang/ErrorNo point Q   !"java/lang/RuntimeExceptionLengths must match pq # $% & ' ( )java/lang/MathLine3d[p:%s,dir:%s]java/lang/Object* +, fgjava/util/Iterator$java/lang/CloneNotSupportedException()V(DDD)V normalizegetAgetAToBvectorTo-(LProGAL/geom3d/Point;)LProGAL/geom3d/Vector; getCentercross.(LProGAL/geom3d/Vector;)LProGAL/geom3d/Vector; normalizeThis(LProGAL/geomNd/Point;)Vx()Dyzdot(LProGAL/geom3d/Vector;)DgetLengthSquaredProGAL/geom3d/PointListiterator()Ljava/util/Iterator;hasNext()Znextmin(DD)Dmaxsqrt(D)DabsProGAL/math/ConstantsEPSILONsize()I(Ljava/lang/String;)V/(LProGAL/geom3d/Vector;D)LProGAL/geom3d/Vector;get(I)Dset(ID)Vlength multiplyThis(D)LProGAL/geom3d/Vector;atancossinsignumjava/lang/Stringformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;!HMNOPQRS[ **Y*+T UVWXPQYS\**+*,T#$ %&U VWMNXPQZS[**+*+ T,-./UVW[\Q]SM *++, T 3 4U  VW ^N _NQ`S6* Y+,- :**Y+,Y+-T789:5;U46VW6aN6bN6cN&defgSHYY*Y* T?U VWhiS/*TCU VWjkS/*TFU VWlmSo ;Y*'*kc*'*kc*'*kcTLU;VW;nopqS> **+TQU VW rNstS\*+ M,**oT V WU VWrN uPpvS S!I#9+%:&*':*9((I)9һ*Y*(*+T] ^%_-`4a=b@cU>-no%rNSVWSwxOyo Jzo{ |0}~S M!I#9+%:&*':*9((I)9Y(RYRTk l%m-n4o=p@qU>-no%rNMVWMwxIyo Dzo{ |0tSO*+* *oTvUVWrNtS= *+,-T{U VW rNS*I*+9+9(kkg9./ *+,+* : * 9 + 9  k kgo9( k kgo9**kc++kcg9**kc++kcg9**kc++kcg9kkckcT:*?LWbrUVWWaoboo*XoLP Wco bo r[ono`o9oo{?S_ G*I*+9+9(kkg9./+* : * 9 + 9  k kgo9( k kgo9**kc++kcg9**kc++kcg9**kc++kcg9kkckc/Y**kc**kc**kcT>*8EP[kz UGVWGW?ao2bo)o*XoEP Pco [o k[oznoooXo{.8SH+0 1Y23#I+%:&$':*,9(I(T19CFU49 o1rNHVWHwx3o{ |'S= *+4-TU VW wxSZ+:*(5T U*VWMNoNS=*+ :*(6W6 +7*8c9+T 5;U4#=VW=N=o 3P{ "S+N,:- :Y;<996  -g*- 2=:   2 :  - 2 : * :  >9 o?W  kc9  kc9 o@9  Ak Bkc9    CEkg9  TJ'1=HV]gvU1TN =HP H=P V/P ](o k VWoo+o o {j1SBGHY*SY*SITU VWST GHY*JSY*KSITU VW AfS/*LTU VW