
    Ѯh                       U d dl mZ g dZd dlmZ d dlmZmZ d dlm	Z	m
Z
 d dlmZmZ d dlmZ d dlmZ d	d
lmZmZmZmZmZ  ede	      ZddZ G d dee      Z G d dee      Z G d dee      Zeee    e       f   Zded<   y)    )annotations)LimitOffsetPageUseLimitOffsetHeaderLinksUseLimitOffsetLinksresolve_limit_offset_links)ABC)floorinf)Anycast)	TypeAliasTypeVar)CustomizedPage)r      )BaseLinksCustomizerBaseUseHeaderLinksBaseUseLinksLinkscreate_linksTAny)defaultc               b   | j                   | j                  | j                  }}}|d}|t        t        t
              }|t        t        t
              }||z  }|t        ||z
  |z        |z  z   }||k(  r||z
  }t        ddid|i||z   |k  rd||z   ind ||z
  dk\  rd||z
  i      S d       S )Nr   offset)firstlastnextprev)r   limittotalr   intr
   r	   r   )_pager   r   r   start_offsetr   s         w/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/fastapi_pagination/links/limit_offset.pyr   r      s     <<ekk5EF~}S#}S# E>L%!5 >?%GGDu}u}m+1E>E+Ah't+1E>Q+>h'	  EI	     c                      e Zd ZddZy)LimitOffsetLinksCustomizerc                   t        |      S )N)r   )selfr!   s     r#   resolve_linksz(LimitOffsetLinksCustomizer.resolve_links2   s    )%00r$   Nr!   BasePagereturnr   )__name__
__module____qualname__r)    r$   r#   r&   r&   1   s    1r$   r&   c                      e Zd Zy)r   Nr-   r.   r/   r0   r$   r#   r   r   6       r$   r   c                      e Zd Zy)r   Nr2   r0   r$   r#   r   r   :   r3   r$   r   r   r   Nr*   )
__future__r   __all__abcr   mathr	   r
   typingr   r   typing_extensionsr   r    fastapi_pagination.customizationr   fastapi_pagination.limit_offsetr   r+   basesr   r   r   r   r   r   r   r&   r   r   __annotations__r0   r$   r#   <module>r?      s    "    0 ; G ] ]vs#21!4c 1
	4l 		 :<N 	 ,TN r$   