tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
K\¬Qc @sÅdZddlZyddlmZmZWn'ek
rUddlmZmZnXddlZddlZdddddd    gZ    d
j
Z d j
Z d j
Z defd „ƒYZejejdZi¥dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6dYdZ6d[d\6d]d^6d_d`6dadb6dcdd6dedf6dgdh6didj6dkdl6dmdn6dodp6dqdr6dsdt6dudv6dwdx6dydz6d{d|6d}d~6dd€6dd‚6dƒd„6d…d†6d‡dˆ6d‰dŠ6d‹dŒ6ddŽ6dd6d‘d’6d“d”6d•d–6d—d˜6d™dš6d›dœ6ddž6dŸd 6d¡d¢6d£d¤6d¥d¦6d§d¨6d©dª6d«d¬6d­d®6d¯d°6d±d²6d³d´6dµd¶6d·d¸6d¹dº6d»d¼6d½d¾6d¿dÀ6dÁdÂ6dÃdÄ6dÅdÆ6dÇdÈ6dÉdÊ6dËdÌ6dÍdÎ6dÏdÐ6dÑdÒ6dÓdÔ6dÕdÖ6d×dØ6dÙdÚ6dÛdÜ6dÝdÞ6dßdà6dádâ6dãdä6dådæ6dçdè6dédê6dëdì6dídî6dïdð6dñdò6dódô6dõdö6d÷dø6dùdú6dûdü6dýdþ6dÿd6dd6dd6dd6dd6d    d
6d d 6d d6dd6dd6dd6dd6dd6dd6dd6dd6dd 6d!d"6d#d$6d%d&6d'd(6d)d*6d+d,6d-d.6d/d06d1d26d3d46d5d66d7d86d9d:6d;d<6d=d>6d?d@6dAdB6dCdD6dEdF6dGdH6dIdJ6dKdL6dMdN6dOdP6dQdR6dSdT6dUdV6dWdX6Zd
j
dY„edZƒDƒƒZeeejd[„Zejd\ƒZejd]ƒZd^„Zd_d`dadbdcdddegZddfdgdhdidjdkdldmdndodpdqg Zdreeds„Zdte fdu„ƒYZ!dvZ"ejdwe"dxe"dyƒZ#de fdz„ƒYZ$de$fd{„ƒYZ%de$fd|„ƒYZ&de$fd}„ƒYZ'e'Z(d~„Z)e*dkrÁe)ƒndS(€s)
Here's a sample session to show how to use this module.
At the moment, this is the only documentation.
 
The Basics
----------
 
Importing is easy..
 
   >>> import Cookie
 
Most of the time you start by creating a cookie.  Cookies come in
three flavors, each with slightly different encoding semantics, but
more on that later.
 
   >>> C = Cookie.SimpleCookie()
   >>> C = Cookie.SerialCookie()
   >>> C = Cookie.SmartCookie()
 
[Note: Long-time users of Cookie.py will remember using
Cookie.Cookie() to create an Cookie object.  Although deprecated, it
is still supported by the code.  See the Backward Compatibility notes
for more information.]
 
Once you've created your Cookie, you can add values just as if it were
a dictionary.
 
   >>> C = Cookie.SmartCookie()
   >>> C["fig"] = "newton"
   >>> C["sugar"] = "wafer"
   >>> C.output()
   'Set-Cookie: fig=newton\r\nSet-Cookie: sugar=wafer'
 
Notice that the printable representation of a Cookie is the
appropriate format for a Set-Cookie: header.  This is the
default behavior.  You can change the header and printed
attributes by using the .output() function
 
   >>> C = Cookie.SmartCookie()
   >>> C["rocky"] = "road"
   >>> C["rocky"]["path"] = "/cookie"
   >>> print C.output(header="Cookie:")
   Cookie: rocky=road; Path=/cookie
   >>> print C.output(attrs=[], header="Cookie:")
   Cookie: rocky=road
 
The load() method of a Cookie extracts cookies from a string.  In a
CGI script, you would use this method to extract the cookies from the
HTTP_COOKIE environment variable.
 
   >>> C = Cookie.SmartCookie()
   >>> C.load("chips=ahoy; vienna=finger")
   >>> C.output()
   'Set-Cookie: chips=ahoy\r\nSet-Cookie: vienna=finger'
 
The load() method is darn-tootin smart about identifying cookies
within a string.  Escaped quotation marks, nested semicolons, and other
such trickeries do not confuse it.
 
   >>> C = Cookie.SmartCookie()
   >>> C.load('keebler="E=everybody; L=\\"Loves\\"; fudge=\\012;";')
   >>> print C
   Set-Cookie: keebler="E=everybody; L=\"Loves\"; fudge=\012;"
 
Each element of the Cookie also supports all of the RFC 2109
Cookie attributes.  Here's an example which sets the Path
attribute.
 
   >>> C = Cookie.SmartCookie()
   >>> C["oreo"] = "doublestuff"
   >>> C["oreo"]["path"] = "/"
   >>> print C
   Set-Cookie: oreo=doublestuff; Path=/
 
Each dictionary element has a 'value' attribute, which gives you
back the value associated with the key.
 
   >>> C = Cookie.SmartCookie()
   >>> C["twix"] = "none for you"
   >>> C["twix"].value
   'none for you'
 
 
A Bit More Advanced
-------------------
 
As mentioned before, there are three different flavors of Cookie
objects, each with different encoding/decoding semantics.  This
section briefly discusses the differences.
 
SimpleCookie
 
The SimpleCookie expects that all values should be standard strings.
Just to be sure, SimpleCookie invokes the str() builtin to convert
the value to a string, when the values are set dictionary-style.
 
   >>> C = Cookie.SimpleCookie()
   >>> C["number"] = 7
   >>> C["string"] = "seven"
   >>> C["number"].value
   '7'
   >>> C["string"].value
   'seven'
   >>> C.output()
   'Set-Cookie: number=7\r\nSet-Cookie: string=seven'
 
 
SerialCookie
 
The SerialCookie expects that all values should be serialized using
cPickle (or pickle, if cPickle isn't available).  As a result of
serializing, SerialCookie can save almost any Python object to a
value, and recover the exact same object when the cookie has been
returned.  (SerialCookie can yield some strange-looking cookie
values, however.)
 
   >>> C = Cookie.SerialCookie()
   >>> C["number"] = 7
   >>> C["string"] = "seven"
   >>> C["number"].value
   7
   >>> C["string"].value
   'seven'
   >>> C.output()
   'Set-Cookie: number="I7\\012."\r\nSet-Cookie: string="S\'seven\'\\012p1\\012."'
 
Be warned, however, if SerialCookie cannot de-serialize a value (because
it isn't a valid pickle'd object), IT WILL RAISE AN EXCEPTION.
 
 
SmartCookie
 
The SmartCookie combines aspects of each of the other two flavors.
When setting a value in a dictionary-fashion, the SmartCookie will
serialize (ala cPickle) the value *if and only if* it isn't a
Python string.  String objects are *not* serialized.  Similarly,
when the load() method parses out values, it attempts to de-serialize
the value.  If it fails, then it fallsback to treating the value
as a string.
 
   >>> C = Cookie.SmartCookie()
   >>> C["number"] = 7
   >>> C["string"] = "seven"
   >>> C["number"].value
   7
   >>> C["string"].value
   'seven'
   >>> C.output()
   'Set-Cookie: number="I7\\012."\r\nSet-Cookie: string=seven'
 
 
Backwards Compatibility
-----------------------
 
In order to keep compatibilty with earlier versions of Cookie.py,
it is still possible to use Cookie.Cookie() to create a Cookie.  In
fact, this simply returns a SmartCookie.
 
   >>> C = Cookie.Cookie()
   >>> print C.__class__.__name__
   SmartCookie
 
 
Finis.
iÿÿÿÿN(tdumpstloadst CookieErrort
BaseCookiet SimpleCookiet SerialCookiet SmartCookietCookiets; t cBseZRS((t__name__t
__module__(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRèss!#$%&'*+-.^_`|~s\000ts\001ss\002ss\003ss\004ss\005ss\006ss\007ss\010ss\011s    s\012s
s\013s s\014s s\015s s\016ss\017ss\020ss\021ss\022ss\023ss\024ss\025ss\026ss\027ss\030ss\031ss\032ss\033ss\034ss\035ss\036ss\037ss\054t,s\073t;s\"t"s\\s\s\177ss\200s€s\201ss\202s‚s\203sƒs\204s„s\205s…s\206s†s\207s‡s\210sˆs\211s‰s\212sŠs\213s‹s\214sŒs\215ss\216sŽs\217ss\220ss\221s‘s\222s’s\223s“s\224s”s\225s•s\226s–s\227s—s\230s˜s\231s™s\232sšs\233s›s\234sœs\235ss\236sžs\237sŸs\240s s\241s¡s\242s¢s\243s£s\244s¤s\245s¥s\246s¦s\247s§s\250s¨s\251s©s\252sªs\253s«s\254s¬s\255s­s\256s®s\257s¯s\260s°s\261s±s\262s²s\263s³s\264s´s\265sµs\266s¶s\267s·s\270s¸s\271s¹s\272sºs\273s»s\274s¼s\275s½s\276s¾s\277s¿s\300sÀs\301sÁs\302sÂs\303sÃs\304sÄs\305sÅs\306sÆs\307sÇs\310sÈs\311sÉs\312sÊs\313sËs\314sÌs\315sÍs\316sÎs\317sÏs\320sÐs\321sÑs\322sÒs\323sÓs\324sÔs\325sÕs\326sÖs\327s×s\330sØs\331sÙs\332sÚs\333sÛs\334sÜs\335sÝs\336sÞs\337sßs\340sàs\341sás\342sâs\343sãs\344säs\345sås\346sæs\347sçs\350sès\351sés\352sês\353sës\354sìs\355sís\356sîs\357sïs\360sðs\361sñs\362sòs\363sós\364sôs\365sõs\366sös\367s÷s\370søs\371sùs\372sús\373sûs\374süs\375sýs\376sþs\377sÿccs|]}t|ƒVqdS(N(tchr(t.0tx((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pys    <genexpr>9sicCsAd||||ƒkr|Sdtttj||ƒƒdSdS(NRR(t    _nulljointmapt _Translatortget(tstrt
LegalCharstidmapt    translate((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt_quote;ss\\[0-3][0-7][0-7]s[\\].c Cs¥t|ƒdkr|S|ddks6|ddkr:|S|dd!}d}t|ƒ}g}x9d|koy|knrštj||ƒ}tj||ƒ}| rÅ| rÅ|j||ƒPnd}}|rç|jdƒ}n|rÿ|jdƒ}n|rN| s||krN|j|||!ƒ|j||dƒ|d}qb|j|||!ƒ|jtt||d|d!dƒƒƒ|d}qbWt|ƒS(NiiRiÿÿÿÿiii(    tlent
_OctalPatttsearcht
_QuotePatttappendtstartRtintR(RtitntrestOmatchtQmatchtjtk((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt_unquoteMs6   
 +tMontTuetWedtThutFritSattSuntJantFebtMartAprtMaytJuntJultAugtSeptOcttNovtDecic    Csoddlm}m}|ƒ}|||ƒ\    }}}}    }
} } } }d|| |||||    |
| fS(Niÿÿÿÿ(tgmtimettimes#%s, %02d %3s %4d %02d:%02d:%02d GMT(R?R>(tfuturet weekdaynamet    monthnameR>R?tnowtyeartmonthtdaythhtmmtsstwdtytz((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt_getdate…s
    +tMorselcBs¬eZidd6dd6dd6dd6dd6d    d    6d
d
6d d 6Zd „Zd„Zd„Zeeej    d„Z
ddd„Z e Z d„Zdd„Zdd„ZRS(texpirestPathtpathtCommenttcommenttDomaintdomainsMax-Agesmax-agetsecurethttponlytVersiontversioncCsBd|_|_|_x$|jD]}tj||dƒq!WdS(NR(tNonetkeytvaluet coded_valuet    _reservedtdictt __setitem__(tselftK((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt__init__°scCsE|jƒ}||jkr.td|ƒ‚ntj|||ƒdS(NsInvalid Attribute %s(tlowerR^RR_R`(RaRbtV((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR`¹s cCs|jƒ|jkS(N(RdR^(RaRb((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt isReservedKeyÀscCsr|jƒ|jkr(td|ƒ‚nd||||ƒkrStd|ƒ‚n||_||_||_dS(Ns!Attempt to set a reserved key: %sRsIllegal key value: %s(RdR^RR[R\R](RaR[tvalt    coded_valRRR((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pytsetÄs        s Set-Cookie:cCsd||j|ƒfS(Ns%s %s(t OutputString(Ratattrstheader((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pytoutputÔscCs#d|jj|jt|jƒfS(Ns <%s: %s=%s>(t    __class__R
R[treprR\(Ra((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt__repr__Ùs cCs d|j|ƒjddƒfS(Ns—
        <script type="text/javascript">
        <!-- begin hiding
        document.cookie = "%s";
        // end hiding -->
        </script>
        Rs\"(Rjtreplace(RaRk((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt    js_outputÝscCsg}|j}|d|j|jfƒ|dkrA|j}n|jƒ}|jƒx)|D]!\}}|dkr|q^n||krŽq^n|dkrÖt|ƒtdƒkrÖ|d|j|t|ƒfƒq^|dkrt|ƒtdƒkr|d|j||fƒq^|dkr>|t    |j|ƒƒq^|dkrd|t    |j|ƒƒq^|d|j||fƒq^Wt
|ƒS(    Ns%s=%sRROismax-ages%s=%dRVRW( R R[R]RZR^titemstsortttypeRMRt_semispacejoin(RaRktresulttRARsRbRe((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRjès,       
  $$$  N(R
R R^RcR`Rft _LegalCharst_idmaptstringRRiRZRmt__str__RpRrRj(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRN˜s$
 
                     s.[\w\d!#%&'~_`><@,:/\$\*\+\-\.\^\|\)\(\?\}\{\=]s (?x)(?P<key>sK+?)\s*=\s*(?P<val>"(?:[^\\"]|\\.)*"|\w{3},\s[\s\w\d-]{9,11}\s[\d:]{8}\sGMT|s*)\s*;?cBszeZd„Zd„Zd d„Zd„Zd„Zd ddd„ZeZ    d„Z
d d    „Z d
„Z e d „ZRS( cCs
||fS(s
real_value, coded_value = value_decode(STRING)
        Called prior to setting a cookie's value from the network
        representation.  The VALUE is the value read from HTTP
        header.
        Override this function to modify the behavior of cookies.
        ((RaRg((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt value_decode.scCst|ƒ}||fS(sýreal_value, coded_value = value_encode(VALUE)
        Called prior to setting a cookie's value from the dictionary
        representation.  The VALUE is the value being assigned.
        Override this function to modify the behavior of cookies.
        (R(RaRgtstrval((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt value_encode8s cCs|r|j|ƒndS(N(tload(Ratinput((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRcBscCs?|j|tƒƒ}|j|||ƒtj|||ƒdS(s+Private method for setting a cookie's valueN(RRNRiR_R`(RaR[t
real_valueR]tM((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt__setFscCs,|j|ƒ\}}|j|||ƒdS(sDictionary style assignment.N(Rt_BaseCookie__set(RaR[R\trvaltcval((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR`Mss Set-Cookie:s
cCsYg}|jƒ}|jƒx-|D]%\}}|j|j||ƒƒq#W|j|ƒS(s"Return a string suitable for HTTP.(RsRtR Rmtjoin(RaRkRltsepRwRsRbRe((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRmSs  
cCsmg}|jƒ}|jƒx4|D],\}}|jd|t|jƒfƒq#Wd|jjt|ƒfS(Ns%s=%ss<%s: %s>(RsRtR RoR\RnR
t
_spacejoin(RatLRsRbRe((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRp_s  
$cCsSg}|jƒ}|jƒx*|D]"\}}|j|j|ƒƒq#Wt|ƒS(s(Return a string suitable for JavaScript.(RsRtR RrR(RaRkRwRsRbRe((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRrgs  
cCsSt|ƒtdƒkr(|j|ƒn'x$|jƒD]\}}|||<q5WdS(sÝLoad cookies from a string (presumably HTTP_COOKIE) or
        from a dictionary.  Loading cookies from a dictionary 'd'
        is equivalent to calling:
            map(Cookie.__setitem__, d.keys(), d.values())
        RN(Rut_BaseCookie__ParseStringRs(RatrawdataR)tv((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR€qs
c Csd}t|ƒ}d}x÷d|ko2|knr|j||ƒ}|sSPn|jdƒ|jdƒ}}|jdƒ}|ddkr«|r|||d<qq|jƒtjkrÜ|rt|ƒ||<qq|j    |ƒ\}    }
|j
||    |
ƒ||}qWdS(NiR[Rgt$i( RRZRtgrouptendRdRNR^R*R}R…( RaRtpattR#R$RƒtmatchRbReR†R‡((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt __ParseString€s$ N(R
R R}RRZRcR…R`RmR|RpRrR€t_CookiePatternRŒ(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR*s    
   
        
    
   cBs eZdZd„Zd„ZRS(s
SimpleCookie
    SimpleCookie supports strings as cookie values.  When setting
    the value using the dictionary assignment notation, SimpleCookie
    calls the builtin str() to convert the value to a string.  Values
    received from HTTP are kept as strings.
    cCst|ƒ|fS(N(R*(RaRg((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR}¥scCst|ƒ}|t|ƒfS(N(RR(RaRgR~((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR§s (R
R t__doc__R}R(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRžs    cBs,eZdZdd„Zd„Zd„ZRS(s.SerialCookie
    SerialCookie supports arbitrary objects as cookie values. All
    values are serialized (using cPickle) before being sent to the
    client.  All incoming values are assumed to be valid Pickle
    representations.  IF AN INCOMING VALUE IS NOT IN A VALID PICKLE
    FORMAT, THEN AN EXCEPTION WILL BE RAISED.
 
    Note: Large cookie values add overhead because they must be
    retransmitted on every HTTP transaction.
 
    Note: HTTP has a 2k limit on the size of a cookie.  This class
    does not check for this limit, so be careful!!!
    cCs$tjdtƒtj||ƒdS(Ns-SerialCookie class is insecure; do not use it(twarningstwarntDeprecationWarningRRc(RaR((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRcºs    cCstt|ƒƒ|fS(N(RR*(RaRg((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR}¿scCs|tt|ƒƒfS(N(RR(RaRg((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRÂsN(R
R R–RZRcR}R(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR¬s      cBs,eZdZdd„Zd„Zd„ZRS(sïSmartCookie
    SmartCookie supports arbitrary objects as cookie values.  If the
    object is a string, then it is quoted.  If the object is not a
    string, however, then SmartCookie will use cPickle to serialize
    the object into a string representation.
 
    Note: Large cookie values add overhead because they must be
    retransmitted on every HTTP transaction.
 
    Note: HTTP has a 2k limit on the size of a cookie.  This class
    does not check for this limit, so be careful!!!
    cCs$tjdtƒtj||ƒdS(Ns3Cookie/SmartCookie class is insecure; do not use it(R—R˜R™RRc(RaR((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRcÓs    cCs5t|ƒ}yt|ƒ|fSWn||fSXdS(N(R*R(RaRgR~((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyR}Øs
 cCsBt|ƒtdƒkr(|t|ƒfS|tt|ƒƒfSdS(NR(RuRR(RaRg((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRÞsN(R
R R–RZRcR}R(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyRÆs      cCs%ddl}ddl}|j|ƒS(Niÿÿÿÿ(tdoctestRttestmod(RšR((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt_testïst__main__(+R–R{tcPickleRRt ImportErrortpickletreR—t__all__RˆRRvRŠt    ExceptionRt ascii_letterstdigitsRyRtxrangeRzRRtcompileRRR*t _weekdaynameRZt
_monthnameRMR_RNt_LegalCharsPattR•RRRRRRœR
(((sN/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/Cookie.pyt<module>Îsº                    2| 
t$