
    i\                     `    d dl mZmZmZ d dlZd dlZddlmZmZm	Z	m
Z
mZmZmZ  G d d      Zy)    )absolute_importprint_functionunicode_literalsN   )
round_tripna_round_tripround_trip_loadround_trip_dumpdedentsave_and_runYAMLc                   F   e 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 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 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) Z+d* Z,d+ Z-d, Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4d3 Z5d4 Z6d5 Z7y6)7
TestIssuesc                 
   dd l }t        d      }|j                  j                  |      }t	        |d         t	        |d         k(  sJ t
        j                  dk\  rt	        |d         dk(  sJ y t	        |d         dk(  sJ y )Nr   z
        def1: &ANCHOR1
            key1: value1
        def: &ANCHOR
            <<: *ANCHOR1
            key: value
        comb:
            <<: *ANCHOR
        combdef)      z/ordereddict({'key': 'value', 'key1': 'value1'})z3ordereddict([('key', 'value'), ('key1', 'value1')]))srsly.ruamel_yamlr   ruamel_yamlr	   strsysversion_info)selfsrslysdatas       t/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/srsly/tests/ruamel_yaml/test_issues.pytest_issue_61zTestIssues.test_issue_61   s     

   0034< CU$4444w&DL!%VVV DL!%ZZZ    c                 <    d}t        t        |      |      dk(  sJ y )Nao  
        from __future__ import print_function

        import srsly.ruamel_yaml as yaml

        import re


        class SINumber(yaml.YAMLObject):
            PREFIXES = {'k': 1e3, 'M': 1e6, 'G': 1e9}
            yaml_loader = yaml.Loader
            yaml_dumper = yaml.Dumper
            yaml_tag = u'!si'
            yaml_implicit_pattern = re.compile(
                r'^(?P<value>[0-9]+(?:\.[0-9]+)?)(?P<prefix>[kMG])$')

            @classmethod
            def from_yaml(cls, loader, node):
                return cls(node.value)

            @classmethod
            def to_yaml(cls, dumper, data):
                return dumper.represent_scalar(cls.yaml_tag, str(data))

            def __init__(self, *args):
                m = self.yaml_implicit_pattern.match(args[0])
                self.value = float(m.groupdict()['value'])
                self.prefix = m.groupdict()['prefix']

            def __str__(self):
                return str(self.value)+self.prefix

            def __int__(self):
                return int(self.value*self.PREFIXES[self.prefix])

        # This fails:
        yaml.add_implicit_resolver(SINumber.yaml_tag, SINumber.yaml_implicit_pattern)

        ret = yaml.load("""
        [1,2,3, !si 10k, 100G]
        """, Loader=yaml.Loader)
        for idx, l in enumerate([1, 2, 3, 10000, 100000000000]):
            assert int(ret[idx]) == l
        r   r   r   r   tmpdirprogram_srcs      r   test_issue_82zTestIssues.test_issue_82/   s&    +X F;/8A===r    c                 "    d}t        |d      }y )Nz[1, 2, 3, !si 10k, 100G]
Tpreserve_quotesr   )r   r$   yaml_strxs       r   test_issue_82rtzTestIssues.test_issue_82rt^   s    /x6r    c                 4    t        d      }t        |d      }y )Nz
        var1: #empty
        var2: something #notempty
        var3: {} #empty object
        var4: {a: 1} #filled object
        var5: [] #empty array
        Tr(   r   r   )r   r+   r,   s      r   test_issue_102zTestIssues.test_issue_102b   s    
 x6r    c                 l    ddl m} d} |       }|j                  |      }|d   }dt        di |v sJ y )Nr   r   z        base: &base_key
          first: 123
          second: 234

        child:
          <<: *base_key
          third: 345
        childsecond )r   r   loaddict)r   r   inpyamlr   r3   s         r   test_issue_150zTestIssues.test_issue_150n   s?    * vyy~W4=%=(((r    c                     ddl m} t        d      }t        |      }|d   d   d=  |       }t	        ||d       t        d      }|j                         |k(  sJ y )	Nr   StringIOzq        root:
            # a comment
            - {some_key: "value"}

        foo: 32
        bar: 32
        rootsome_key   )block_seq_indentz`        root:
            # a comment
            - {}

        foo: 32
        bar: 32
        )srsly.ruamel_yaml.compatr=   r   r	   r
   getvalue)r   r=   r   abufexps         r   test_issue_160zTestIssues.test_issue_160   sh    5	
 AfIaL$j33	
 ||~$$$r    c                 `    t        d      }dD ]  }|j                  |      }t        |      }  y )NA        mapping-A:
          key-A:{}
        mapping-B:
        ) z # no-newlinez  # some comment

r   formatr   r   r+   commentr   ress        r   test_issue_161zTestIssues.test_issue_161   s:    
 I 	 G(AQ-C	 r    c                 `    t        d      }dD ]  }|j                  |      }t        |      }  y )NrI   )z

# betweenrL   rN   s        r   test_issue_161azTestIssues.test_issue_161a   s9    
 ' 	 G(AQ-C	 r    c                 4    t        d      }t        |d      }y )Nz?        some-list:
        # List comment
        - {}
        Tr(   r/   )r   r   r,   s      r   test_issue_163zTestIssues.test_issue_163   s    
 q$/r    z{"sshKeys":[{"name":"AETROS\/google-k80-1","uses":0,"getLastUse":0,"fingerprint":"MD5:19:dd:41:93:a1:a3:f5:91:4a:8e:9b:d0:ae:ce:66:4c","created":1509497961}]}z{"abc":[{"a":"1", "uses":0}]}c                 h    t        t        j                        }t        t        j                        }y )N)r	   r   	json_str2json_str)r   r,   s     r   test_issue_172zTestIssues.test_issue_172   s"    J001J//0r    c                 N    ddl m}  |       }|j                  d      }g d|d d  y )Nr   r2   z[1,2,3])r      r   r@   )r   r   r6   )r   r   r9   seqs       r   test_issue_176zTestIssues.test_issue_176   s#    *vii	"Ar    c                     t        d      }t        |      }ddg|dd d<   t        |      }||j                  dd      j                  dd	      k(  sJ y )
Nz}        - a
        - b  # comment
        - c  # commment c
        # comment c+
        - d

        - e # comment
        BDr   r[   z b z B z d
z D
)r   r	   r
   replace)r   r+   r\   rP   s       r   =test_issue_176_preserve_comments_on_extended_slice_assignmentzHTestIssues.test_issue_176_preserve_comments_on_extended_slice_assignment   sb    

 h'#JADqD	c"h&&ue4<<VVLLLLr    c                    ddl m} t        d      }t        |      dk(  sJ |dd g k(  sJ |dd ddgk(  sJ |dd d   ddgk(  sJ |d d  }d	g|dd |g d
k(  sJ |d d  }g d|d d |g dk(  sJ |d d  }g d|dd  |g dk(  sJ |d d  }g d|d d  |g dk(  sJ |d d  }g d|dd |g dk(  sJ |d d  }d	dg|dd d<   |g dk(  sJ |d d  }|r/t	        j
                  t        d      5  g d|dd d<   d d d        n.t	        j
                  t        d      5  g d|dd d<   d d d        |r.t	        j
                  t        d      5  d	g|dd d<   d d d        n-t	        j
                  t        d      5  d	g|dd d<   d d d        |d d  }|dgz  }g d|dd d<   |g dk(  sJ |d d  }|dd= |g dk(  sJ |d d  }|d d d= |ddgk(  sJ |d d  }|d d = |g k(  sJ y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xxY w# 1 sw Y   xY w)Nr   )PY2z[0, 1, 2, 3, 4]   r[   r@   r   r   *   )r   r   rf   r[   r   r@   )rf   +   ,   )rf   rg   rh   r   r@   )r   r   rf   rg   rh   )r   r   rf   rg   rh   r@   rg   )r   rf   r[   rg   r@   zattempt to assignmatchztoo manyz
not enough)r   rf   r[   rg   r@   rh   )r   r   r@   )rB   rd   r	   lenpytestraises
ValueError	TypeError)r   rd   mssms       r   test_issue_176_test_slicingz&TestIssues.test_issue_176_test_slicing   s   0/03x1}}1Qx2~~1QxAq6!!!14a4yQF""" F!A''''F"1&&&&F!"&&&&F!L    F!A))))Fr(!$Q$%%%%Fz1DE '&!$Q$' ' y
; '&!$Q$'z1DE $!$Q$  y= $!$Q$F	aS!$Q$)))) FacFI~~FccFQF{{FaDBww3' '' '  s0   )GG+
G76
HG(+G47H Hc                     t        d      }t        |      }d|d<   |j                  dd       t        |      |dz   k(  sJ y )NzQ        test::test:
          # test
          foo:
            bar: baz
        foobartest1zbar: foo # test1
)r   r	   yaml_add_eol_commentr
   r   r+   ds      r   test_issue_184zTestIssues.test_issue_184  sO    
 H%%	w.q!X0D%DDDDr    c                 0    t        d      }t        |      }y )Nz,        [StackName: AWS::StackName]
        r   r	   rx   s      r   test_issue_219zTestIssues.test_issue_219-  s    

 H%r    c                 0    t        d      }t        |      }y )Nz4        [StackName:
        AWS::StackName]
        r|   rx   s      r   test_issue_219azTestIssues.test_issue_219a5  s    
 H%r    c                 @    d}t        t        |      |d      dk(  sJ y )Nz
        from srsly.ruamel_yaml import YAML

        yaml_str = u"""\
        ---
        foo: ["bar"]
        """

        yaml = YAML(typ='safe', pure=True)
        d = yaml.load(yaml_str)
        print(d)
        T)	optimizedr   r"   r#   s      r   test_issue_220zTestIssues.test_issue_220>  s'     F;/4HAMMMr    c                 2    ddl m}  |g d      }|ddgz    y )Nr   )CommentedSeq)r   r[   r   r@   re   )srsly.ruamel_yaml.commentsr   )r   r   rD   s      r   test_issue_221_addzTestIssues.test_issue_221_addM  s    ;#	QF
r    c                    ddl m} ddlm}  |       }t	        d      }|j                  t	        |            }|j                           |       }|j                  ||       t	        d      }|j                         |k(  sJ y )Nr   r2   r<   X        - d
        - a  # 1
        - c  # 3
        - e  # 5
        - b  # 2
        zX        - a  # 1
        - b  # 2
        - c  # 3
        - d
        - e  # 5
        	r   r   rB   r=   r   r6   sortdumprC   r   r   r=   r9   r8   rD   rE   rF   s           r   test_issue_221_sortzTestIssues.test_issue_221_sortS  su    *5v
 IIfSk"	j		!S
 ||~$$$r    c                 
   ddl m} ddlm}  |       }t	        d      }|j                  t	        |            }|j                  d        |       }|j                  ||       t	        d      }|j                         |k(  sJ y )Nr   r2   r<   r   T)reversezX        - e  # 5
        - d
        - c  # 3
        - b  # 2
        - a  # 1
        r   r   s           r   test_issue_221_sort_reversez&TestIssues.test_issue_221_sort_reversep  sz    *5v
 IIfSk"	tj		!S
 ||~$$$r    c                 &   ddl m} ddlm}  |       }t	        d      }|j                  t	        |            }|j                  t        j                          |       }|j                  ||       t	        d      }|j                         |k(  sJ y )Nr   r2   r<   k        - four
        - One    # 1
        - Three  # 3
        - five   # 5
        - two    # 2
        )keyzk        - five   # 5
        - four
        - One    # 1
        - Three  # 3
        - two    # 2
        r   r   rB   r=   r   r6   r   r   lowerr   rC   r   s           r   test_issue_221_sort_keyz"TestIssues.test_issue_221_sort_key  s~    *5v
 IIfSk"	399j		!S
 ||~$$$r    c                 (   ddl m} ddlm}  |       }t	        d      }|j                  t	        |            }|j                  t        j                  d        |       }|j                  ||       t	        d      }|j                         |k(  sJ y )Nr   r2   r<   r   T)r   r   zk        - two    # 2
        - Three  # 3
        - One    # 1
        - four
        - five   # 5
        r   r   s           r   test_issue_221_sort_key_reversez*TestIssues.test_issue_221_sort_key_reverse  s    *5v
 IIfSk"	399d+j		!S
 ||~$$$r    c                     dd l }ddlm}  |       }|j                  j	                  dg|       |j                         dk(  sJ y )Nr   r<   012923z['012923']
)r   rB   r=   r   	safe_dumprC   )r   r   r=   rE   s       r   test_issue_222zTestIssues.test_issue_222  s;     5j##XJ4||~///r    c                 f    dd l }|j                  j                  d      }|j                  d       y )Nr   safetypzphone: 0123456789)r   r   r   r6   r   r   r9   s      r   test_issue_223zTestIssues.test_issue_223  s+       %%&%1		%&r    c                 |   dd l }dd l m} t        j                  |j                  j                  j
                        5  |j                  d       d d d        t        j                  |j                  j                  j
                        5  |j                  d       d d d        y # 1 sw Y   WxY w# 1 sw Y   y xY w)Nr   ]z{])r   r   rl   rm   parserParserError	safe_loadr   s      r   test_issue_232zTestIssues.test_issue_232  s     (]]5,,33??@ 	 NN3	 ]]5,,33??@ 	!NN4 	! 	!	  	 	! 	!s   B&B2&B/2B;c                 j    ddl m} dd l} |       }|j                  d      }|j	                  |      }y )Nr   r2   z{}r   r   jsonr6   dumpsr   r   r   r9   r   rX   s         r   test_issue_233zTestIssues.test_issue_233  *    *vyy::d#r    c                 j    ddl m} dd l} |       }|j                  d      }|j	                  |      }y )Nr   r2   z[]r   r   s         r   test_issue_233azTestIssues.test_issue_233a  r   r    c                     ddl m} t        d      } |dd      }|j                  |      }|d   d   }t	        t        |             d|vsJ y )	Nr   r2   z        - key: key1
          ctx: [one, two]
          help: one
          cmd: >
            foo bar
            foo bar
        r   Tr   purecmd)r   r   r   r6   printrepr)r   r   r8   r9   r   folds         r   test_issue_234zTestIssues.test_issue_234  sV    *	
 T*yy~Awu~d4j4r    c                 "    d}t        |d      }y )NzI
        conf:
          xx: {a: "b", c: []}
          asd: "nn"
        Tr(   r*   r   r8   ry   s      r   test_issue_236zTestIssues.test_issue_236  s    
 sD1r    c                 <    d}t        t        |      |      dk(  sJ y )Na  
        import srsly.ruamel_yaml
        from srsly.ruamel_yaml.compat import StringIO

        yaml = srsly.ruamel_yaml.YAML(typ='unsafe')


        class A:
            def __setstate__(self, d):
                self.__dict__ = d


        class B:
            pass


        a = A()
        b = B()

        a.x = b
        b.y = [b]
        assert a.x.y[0] == a.x

        buf = StringIO()
        yaml.dump(a, buf)

        data = yaml.load(buf.getvalue())
        assert data.x.y[0] == data.x
        r   r"   r#   s      r   test_issue_238zTestIssues.test_issue_238	  s%    : F;/8A===r    c                 :    d}t               j                  |      }y )Na~  
        first_name: Art
        occupation: Architect
        # I'm safe
        about: Art Vandelay is a fictional character that George invents...
        # we are not :(
        # help me!
        ---
        # what?!
        hello: world
        # someone call the Batman
        foo: bar # or quz
        # Lost again
        ---
        I: knew
        # final words
        )r   round_trip_allr   s      r   test_issue_239zTestIssues.test_issue_239)  s    " F!!#&r    c                 6    ddl m}  |dg      }|d   dk(  sJ y )Nr   )CommentedMaprD   brD   r   )r   r   )r   r   d0s      r   test_issue_242zTestIssues.test_issue_242=  s!    ;:,'#w#~~r    c                     ddl m} d}dD ]i  }|j                  d      rd}|d d }nd } |||      }d	|_        |j	                  |      }t        ||j                  |j                         |d
   du riJ  y )Nr   r2   z
        d: yes
        )safepurertr   r   Tr   r   r   ry   )r   r   endswithversionr6   r   r   resolver)r   r   r8   r   r   r9   ry   s          r   test_issue_245zTestIssues.test_issue_245C  s    * . 	"C||F##2hCd+D!DL		#A#t{{DMM2S6T>!>	"r    c                 j    t               }t        d      }t        d      }|j                  ||       y )NzN        # comment
        -
          - 1
          - 2
          - 3
        zD        # comment
        - - 1
          - 2
          - 3
        )outp)r   r   r   )r   r9   r8   rF   s       r   test_issue_249zTestIssues.test_issue_249V  s;    v
 
 	#&r    c                     d}t        |      }y )Nz[
        # 1.
        - - 1
        # 2.
        - map: 2
        # 3.
        - 4
        r*   r   s      r   test_issue_250zTestIssues.test_issue_250k  s     sOr    c                    ddl m} ddlm}  |       }|j	                  dd       t        d      }|j                  |      } |       }|j                  ||       t        |j                                |j                         |k(  sJ y )Nr   r2   r<   r@   r[   )sequenceoffsetz        experiments:
          - datasets:
        # ATLAS EWK
              - {dataset: ATLASWZRAP36PB, frac: 1.0}
              - {dataset: ATLASZHIGHMASS49FB, frac: 1.0}
        )
r   r   rB   r=   indentr   r6   r   r   rC   r   r   r=   r9   r8   rD   rE   s          r   test_issue_279zTestIssues.test_issue_279w  st    *5vQq)
 IIcNj		!Sclln||~$$$r    c                     ddl m} ddlm} ddlm} ddlm}  |dd      } |dd	      } |       }t        j                  |d
      5  |j                  d|i|       d d d        y # 1 sw Y   y xY w)Nr   r2   )RepresenterError)
namedtuple)stdoutTr   r   r[   zcannot representri   t)r   r   srsly.ruamel_yaml.representerr   collectionsr   r   r   rl   rm   r   )r   r   r   r   r   r   r   r9   s           r   test_issue_280zTestIssues.test_issue_280  sc    *B*sJ'aGv]]+3EF 	(IIsAh'	( 	( 	(s   	A''A0c                     dd l }|j                  j                  j                  ddg      }|j	                  dg       |j	                  ddd       d|j                         v sJ d|j                  v sJ y )	Nr   )rD   apple)r   banana)c
cantaloupedatekiwi)ry   kr   )r   r   commentsr   updatekeys_ok)r   r   	yaml_datas      r   test_issue_282zTestIssues.test_issue_282  sw     %%..;;_-
	 	-./vF34inn&&&&imm###r    c                    dd l }t        d      }|j                  j                  d      }d|_        |j                  |      }|d    J |j                  j                  d      }d|_        t        j                  |j                  j                  j                  d      5  |j                  |      }d d d        y # 1 sw Y   y xY w)	Nr   zf        plain key: in-line value
        : # Both empty
        "quoted key":
        - entry
        r   r   )r   r[   r   zexpected <block end>ri   )
r   r   r   r   r   r6   rl   rm   r   r   )r   r   r8   r9   ry   s        r   test_issue_284zTestIssues.test_issue_284  s     
   %%$%/IIcNw  %%$%/]]$$008N
 	 		#A	 	 	s   #B>>Cc                     ddl m}  |       }t        d      }|j                  |      }|d   sJ |d   sJ |d   rJ |d   rJ y )Nr   r2   zV        %YAML 1.1
        ---
        - y
        - n
        - Y
        - N
        r[   r   r   r   r   r   r6   )r   r   r9   r8   rD   s        r   test_issue_285zTestIssues.test_issue_285  sX    *v	
 IIcNttttQ4xQ4x4r    c                     ddl m} ddlm}  |       }t	        d      }|j                  |      }d|d<    |       }|j                  ||       |j                         j                  d      sJ y )Nr   r2   r<   z?        parent_key:
        - sub_key: sub_value

        # xxx	new_valuenew_keyzxxx
new_key: new_value
)	r   r   rB   r=   r   r6   r   rC   r   r   s          r   test_issue_286zTestIssues.test_issue_286  sf    *5v
 IIcN")j		!S||~&&'BCCCr    c                 ,   dd l }ddlm} ddlm} t        d      } |       }|j                  ddd       d|_        d|_        |j                  |_
        |j                  |      } |       }|j                  ||       |j                         |k(  sJ y )	Nr   r<   r2   aN          ---
        # Reusable values
        aliases:
          # First-element comment
          - &firstEntry First entry
          # Second-element comment
          - &secondEntry Second entry

          # Third-element comment is
          # a multi-line value
          - &thirdEntry Third entry

        # EOF Comment
        r[   r@   mappingr   r   Tr   rB   r=   r   r   r   r   explicit_startr)   maxsizewidthr6   r   rC   r   r   r=   r   yamldocr9   r   rE   s           r   test_issue_288zTestIssues.test_issue_288      5*
$ vA!4"#[[
yy!j		$||~(((r    c                 ,   dd l }ddlm} ddlm} t        d      } |       }|j                  ddd       d|_        d|_        |j                  |_
        |j                  |      } |       }|j                  ||       |j                         |k(  sJ y )	Nr   r<   r2   aO          ---
        # Reusable values
        aliases:
          # First-element comment
          - &firstEntry First entry
          # Second-element comment
          - &secondEntry Second entry

          # Third-element comment is
           # a multi-line value
          - &thirdEntry Third entry

        # EOF Comment
        r[   r@   r   Tr   r  s           r   test_issue_288azTestIssues.test_issue_288a  r  r    c                 ,   dd l }ddlm} ddlm} t        d      } |       }|j                  ddd       d|_        d|_        |j                  |_
        |j                  |      } |       }|j                  ||       |j                         |k(  sJ y 	Nr   r<   r2   a          ---
        aliases:
          # Folded-element comment
          # for a multi-line value
          - &FoldedEntry >
            THIS IS A
            FOLDED, MULTI-LINE
            VALUE

          # Literal-element comment
          # for a multi-line value
          - &literalEntry |
            THIS IS A
            LITERAL, MULTI-LINE
            VALUE

          # Plain-element comment
          - &plainEntry Plain entry
        r[   r@   r   Tr   r  s           r   test_issue_290zTestIssues.test_issue_290#      5*
. vA!4"#[[
yy!j		$||~(((r    c                 ,   dd l }ddlm} ddlm} t        d      } |       }|j                  ddd       d|_        d|_        |j                  |_
        |j                  |      } |       }|j                  ||       |j                         |k(  sJ y r  r   r  s           r   test_issue_290azTestIssues.test_issue_290aI  r  r    c                 z    dd l }t        d      }t        |      }|j                  |      }t	        |      |k(  sJ y )Nr   z
        A:
          b:
          # comment
          - l1
          - l2

        C:
          d: e
          f:
          # comment2
          - - l31
            - l32
            - l33: '5'
        )copyr   r	   deepcopyr
   )r   r  r8   r   dcs        r   test_issue_295zTestIssues.test_issue_295p  sC     	
" s#]]4 r"c)))r    c                 R    ddl m} t        d      } |       j                  |       y )Nr   r2   zf
        %YAML 1.2
        %TAG ! tag:example.com,2019/path#fragment
        ---
        null
        r   )r   r   r8   s      r   test_issue_300zTestIssues.test_issue_300  s$    *
 	Cr    c                     dd l }t        d      }t               }t        j                  |j
                  j                  j                  d      5  |j                  |       d d d        y # 1 sw Y   y xY w)Nr   zf
        %YAML 1.1
        %TAG ! tag:example.com,2019/path#fragment
        ---
        null
        zwhile scanning a directiveri   )	r   r   r   rl   rm   r   scannerScannerErrorr6   )r   r   r8   r9   s       r   test_issue_300azTestIssues.test_issue_300a  sc     
 v]]%%22:V
 	 IIcN	 	 	s   A**A3c                     d}t        |      }y )Nzj
        %YAML 1.2
        %TAG ! tag:example.com,2019:
        ---
        !foo null
        ...
        r   r   s      r   test_issue_304zTestIssues.test_issue_304       #r    c                     d}t        |      }y )Nza
        %YAML 1.2
        ---
        !<tag:example.com,2019/path#foo> null
        ...
        r  r   s      r   test_issue_305zTestIssues.test_issue_305  s     #r    c                     d}t        |      }y )Nzj
        %YAML 1.2
        %TAG ! tag:example.com,2019/path#
        ---
        null
        ...
        r  r   s      r   test_issue_307zTestIssues.test_issue_307  r  r    N)8__name__
__module____qualname__r   r&   r-   r0   r:   rG   rQ   rS   rU   rX   rW   rY   r]   rb   rr   rz   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r  r  r  r  r  r   r"  r5   r    r   r   r      s   2->^7
7)"%:
 
 0	"  0I1M":xE&&N%:%:%:%:0'!$$ &2>@'("&'*	%*
(
$.(D$)B)B$)L$)N*6"r    r   )
__future__r   r   r   rl   r   	roundtripr   r   r	   r
   r   r   r   r   r5   r    r   <module>r(     s1    I H  
  o or    