
    e'                         d dl Z G d d          Z G d d          Zd Zd Zd Zd	 Zd
 Zd Z	d Z
d Zd Zd Zd Zd Zd ZdS )    Nc                       e Zd Zd ZdS )_Knownc                 "    g | _         g | _        d S N)keyvalue)selfs    &/home/ag/git/flatted/python/flatted.py__init__z_Known.__init__   s    


    N__name__
__module____qualname__r    r   r
   r   r      s#            r   r   c                       e Zd Zd ZdS )_Stringc                     || _         d S r   r   )r	   r   s     r
   r   z_String.__init__   s    


r   Nr   r   r   r
   r   r      s#            r   r   c                 L    g }d}| D ]}|                     |           |dz  }|S Nr      append)r   keysi_s       r
   _array_keysr      s:    D	A  A	QKr   c                 >    g }| D ]}|                     |           |S r   r   )r   r   r   s      r
   _object_keysr    %   s0    D  CKr   c                 V    t          | t                    pt          | t                    S r   )
isinstancelisttupler   s    r
   	_is_arrayr%   +   s!    eT"">j&>&>>r   c                 ,    t          | t                    S r   )r"   dictr   s    r
   
_is_objectr(   .   s    eT"""r   c                 ,    t          | t                    S r   )r"   strr   s    r
   
_is_stringr+   1   s    eS!!!r   c                     |                     |           t          t          |          dz
            }| j                             |           | j                             |           |S Nr   )r   r*   lenr   r   )knowninputr   indexs       r
   _indexr2   4   s\    	LLE

QE	IU	KuLr   c                     | D ]J}||         }t          |t                    r+t          ||t          |j                           |||           K|S r   )r"   r   _refintr   )r   r0   r/   outputr   r   s         r
   _loopr7   ;   sZ     E EseW%% 	EeC,,-ueVDDDMr   c                 .   t          |          r9||vr5|                    |           t          t          |          |||          }nGt	          |          r8||vr4|                    |           t          t          |          |||          }||| <   d S r   )r%   r   r7   r   r(   r    )r   r   r0   r/   r6   s        r
   r4   r4   C   s     @Uk%((%>>	E		 @5E>>Ul5))5%??F3KKKr   c                     t          |          st          |          st          |          r>	 | j        | j                            |                   S #  t          | ||          cY S xY w|S r   )r+   r%   r(   r   r   r1   r2   )r/   r0   r   s      r
   _relater:   M   sv    % /Ie,, /
50A0A /	/;uyu5566	/%.....Ls   $A A)c                     t          |          r-g }|D ]&}|                    t          | ||                     '|S t          |          r#i }|D ]}t          | |||                   ||<   |S |S r   )r%   r   r:   r(   )r/   r0   r   r6   valobjr   s          r
   
_transformr>   V   s      	6 	6CMM'%445555%  	9 	9CueU3Z88CHH
Lr   c                     t          |           rt          |           S t          |           rd}| D ]}t          |          | |<   |dz  }n,t	          |           r| D ]}t          | |                   | |<   | S r   )r+   r   r%   _wrapr(   )r   r   r<   r   s       r
   r@   r@   e   s    % u~~ + 	 	CSzzE!HFAA	 
E		 + 	+ 	+CuSz**E#JJLr   c                    t          j        | g|R i |}g }|D ]$} |                    t          |                      %g }|D ]G} t	          | t
                    r|                    | j                   2|                    |            H|d         } t          |           r t          t          |           || g|           S t          |           r t          t          |           || g|           S | S )Nr   )_jsonloadsr   r@   r"   r   r   r%   r7   r   r(   r    )r   argskwargsjsonwrappedr0   s         r
   parserH   u   s   ;u.t...v..DG % %uU||$$$$E    eW%% 	 LL%%%%LL!HE @[''???% A\%((%%%@@@Lr   c                 6   t                      }g }g }t          t          |||                     }|t          |          k     rB|                    t          ||||                              |dz  }|t          |          k     Bt          j        |g|R i |S r-   )r   r5   r2   r.   r   r>   rB   dumps)r   rD   rE   r/   r0   r6   r   s          r
   	stringifyrK      s    HHEEFF5%''((A
c%jj..juQx88999	Q c%jj.. ;v///////r   )rF   rB   r   r   r   r    r%   r(   r+   r2   r7   r4   r:   r>   r@   rH   rK   r   r   r
   <module>rL      s0  "           
       
    ? ? ?# # #" " "               00 0 0 0 0r   