o ŒS¿aµã @s~ddlZzddlZWn eyddlZYnwzddlmZWney/ddlmZYnwz ej d¡ejjZWne efyKdd„ZYnwddl Z ddl m Z m Z ddl mZmZmZmZmZmZdd lmZdd lmZmZmZmZmZdd lmZdd lmZe jrŸe Z!e"Z#dd l$m%Z%m&Z&m'Z'eZ(eZ)dSe!Z!e*Z#ddl%m+Z%ddl%m&Z&m'Z'ddd„Z(  ddd„Z)dS)éN)Ú encodebytes)Ú encodestringú~cCs|S©N©)Úxrrú-/usr/lib/python3/dist-packages/boto/compat.pyÚ/sr )ÚBytesIOÚStringIO)ÚfilterÚ http_clientÚmapÚ_threadÚurllibÚzip)ÚQueue)Úparse_qsÚquoteÚunquoteÚurlparseÚurlsplit)Ú unquote_plus)Úurlopen)Ú ConfigParserÚ NoOptionErrorÚNoSectionError)ÚSafeConfigParser)rrúutf-8cCs| |¡}t|ƒ |¡Sr)ÚencoderÚdecode)ÚvalueÚencodingÚ byte_stringrrrÚ unquote_strIs r$FÚreplacec spt|tjƒ}|r | d¡}t|||ƒ}|r6i}| ¡D]\}} | ˆˆ¡} ‡‡fdd„| Dƒ} | || <q|S|S)z>Parse a query handling unicode arguments properly in Python 2.Úasciicsg|]}| ˆˆ¡‘qSr)r )Ú.0Úitem©r"ÚerrorsrrÚ bsÿz!parse_qs_safe..)Ú isinstanceÚsixÚ text_typerrÚitemsr ) ÚqsÚkeep_blank_valuesÚstrict_parsingr"r*Ú is_text_typeÚqs_dictÚresultÚnamer!Ú decoded_nameÚ decoded_valuerr)rÚ parse_qs_safeUs     ÿ r9)r)FFrr%),ÚosÚ simplejsonÚjsonÚ ImportErrorÚbase64rrÚpathÚ expanduserÚAttributeErrorr-r r Ú six.movesr r rrrrÚsix.moves.queuerÚsix.moves.urllib.parserrrrrrÚsix.moves.urllib.requestrÚPY3Ú ExceptionÚ StandardErrorÚintÚ long_typeÚ configparserrrrr$r9ÚlongrrrrrÚsL   ÿ ÿ   þ       ÿ