Ë
    £èhº  ã                   ó(  — d dl mZ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl	­ ddl
­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ ddl­ dZdZeedœdee   dee   d	efd
„Zddeded	efd„Zy)é    )ÚIterableé   )Ú*gê-�™—q=g•Ö&è.>©Úrel_tolÚabs_tolÚaÚbÚreturnc                óD   ‡‡— t        ˆˆfd„t        | |«      D «       «      S )Nc              3   óL   •K  — | ]  \  }}|j                  |‰‰¬ «      –— Œ y­w)r   N)Úisclose)Ú.0Úv1Úv2r   r   s      €€ú3lib/python3.12/site-packages/ezdxf/math/__init__.pyÚ	<genexpr>z close_vectors.<locals>.<genexpr>%   s,   øè ø€ ð (Ù&‘6�2�rð �z‰z˜" g°wˆz×?Ù&ùs   ƒ!$)ÚallÚzip)r	   r
   r   r   s     ``r   Úclose_vectorsr   #   s#   ù€ äô (Ü   AœYó(ó (ð (ó    ÚvalueÚroundingc                 óN   — |dk(  rt        | «      S d|z  }t        | |z  «      |z  S )aŒ  Extended rounding function.

    The argument `rounding` defines the rounding limit:

    ======= ======================================
    0       remove fraction
    0.1     round next to x.1, x.2, ... x.0
    0.25    round next to x.25, x.50, x.75 or x.00
    0.5     round next to x.5 or x.0
    1.0     round to a multiple of 1: remove fraction
    2.0     round to a multiple of 2: xxx2, xxx4, xxx6 ...
    5.0     round to a multiple of 5: xxx5 or xxx0
    10.0    round to a multiple of 10: xx10, xx20, ...
    ======= ======================================

    Args:
        value: float value to round
        rounding: rounding limit

    r   g      ð?)Úround)r   r   Úfactors      r   Úxroundr   )   s2   € ð* �1‚}Ü�U‹|ÐØ�(‰]€FÜ�˜‘Ó  6Ñ)Ð)r   N)g        )Útypingr   Ú_ctypesÚconstruct2dÚconstruct3dÚparametrizeÚbsplineÚbezierÚbezier_interpolationÚeulerspiralÚucsÚbulgeÚarcÚlineÚcircleÚellipseÚboxÚshapeÚbboxÚoffset2dÚtransformtoolsÚ
curvetoolsÚpolylineÚABS_TOLÚREL_TOLÚAnyVecÚUVecÚboolr   Úfloatr   © r   r   Ú<module>r;      sš   ðõ ô
 ä Ü Ü Ü Ü Ü #Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü Ü à
€Ø
€ð "¨7ò(�X˜fÑ%ð (¨(°4©.ð (Ø7;ó(ñ*�%ð * 5ð *°%ô *r   