ž {yMaOc@sœdZddlZi dd6dd6dd6d d 6d d 6d d6dd6dd6dd6dd6Zdd„Zdd„Zdd„Zedkr˜eƒndS(u<Safely evaluate Python string literals without using eval().iNuuauubu ufu unu uru utu uvu'u"u\c Csø|jddƒ\}}tj|ƒ}|dk r7|S|jdƒr¶|dd…}t|ƒdkr{td|ƒ‚nyt|dƒ}Wqîtk r²td|ƒ‚YqîXn8yt|dƒ}Wn"tk rítd|ƒ‚YnXt|ƒS( Niiuxiu!invalid hex string escape ('\%s')iiu#invalid octal string escape ('\%s')( ugroupusimple_escapesugetuNoneu startswithulenu ValueErroruintuchr(umuallutailuescuhexesui((u;/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/literals.pyuescapes"   uescapecCsa|d}|dd…|dkr1|d}n|t|ƒt|ƒ …}tjdt|ƒS(Niiu)\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3})(ulenureusubuescape(usuq((u;/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/literals.pyu evalString(s   u evalStringcCsaxZtdƒD]L}t|ƒ}t|ƒ}t|ƒ}||kr t||||ƒq q WdS(Ni(urangeuchrurepru evalStringuprint(uiucusue((u;/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/literals.pyutest2s     utestu__main__(u__doc__ureusimple_escapesuescapeu evalStringutestu__name__(((u;/opt/alt/python33/lib64/python3.3/lib2to3/pgen2/literals.pyus