zmc
2023-10-12 ed135d79df12a2466b52dae1a82326941211dcc9
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
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
U
[±dËeã@sddlmZddlmZmZddlmZddlZddlZddl    m
Z
ddl    m Z ddl    m Z eGd    d
„d
ƒƒZ eGd d „d ƒƒZeGd d„dƒƒZGdd„dejƒZeGdd„dƒƒZeGdd„dƒƒZGdd„dejƒZddœdd„Zddœdd„Zddœdd„Zddœd d!„Zd"dd#œd$d%„Zd~d&dd#œd'd(„Zd)dd*œd+d,„Zdd-dd.œd/d0„Zd€d1d1d)d"d2d3d3d3d3d&d4d5d6dd7œd8d9„Zd"dd:œd;d<„Zd"dd=œd>d?„Zdd"d@ddAœdBdC„Z d‚d@dDddEœdFdG„Z!dHddIœdJdK„Z"dƒd2d2d2ddLœdMdN„Z#d"d"ddOœdPdQ„Z$ddœdRdS„Z%dHddTœdUdV„Z&d)ddWœdXdY„Z'd"ddZœd[d\„Z(d„d"d3dd]œd^d_„Z)d…dd2d3d`dadbœdcdd„Z*d†d@ddeœdfdg„Z+dHddhœdidj„Z,d1d1ddkœdldm„Z-dnddoœdpdq„Z.d1ddrœdsdt„Z/d‡dHd@d@duddvœdwdx„Z0d"dd#œdydz„Z1ed{ƒeGd|d}„d}ƒƒƒZ2dS)ˆé)Ú annotationsé)Ú event_classÚ T_JSON_DICT)Ú    dataclassN)Údom)Únetwork)Úpagec@s6eZdZUdZded<ded<dd„Zedd    „ƒZd
S) ÚScreenOrientationz
    Screen orientation.
    ÚstrÚtype_ÚintÚanglecCstƒ}|j|d<|j|d<|S)NÚtyper)Údictr r©ÚselfÚjson©rúhd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\selenium/webdriver/common/devtools/v113/emulation.pyÚto_jsons
 
zScreenOrientation.to_jsoncCs|t|dƒt|dƒdS)Nrr)r r©r r ©ÚclsrrrrÚ    from_json"s
 
þzScreenOrientation.from_jsonN©Ú__name__Ú
__module__Ú __qualname__Ú__doc__Ú__annotations__rÚ classmethodrrrrrr
s
r
c@s:eZdZUded<ded<ded<dd„Zedd    „ƒZd
S) ÚDisplayFeaturer Ú orientationr ÚoffsetÚ mask_lengthcCs(tƒ}|j|d<|j|d<|j|d<|S)Nr#r$Ú
maskLength)rr#r$r%rrrrr8s
 
 
 
zDisplayFeature.to_jsoncCs&|t|dƒt|dƒt|dƒdS)Nr#r$r&)r#r$r%rrrrrr?s
 
 
 
ýzDisplayFeature.from_jsonN©rrrr rr!rrrrrr"*s
r"c@s2eZdZUded<ded<dd„Zedd„ƒZdS)    Ú MediaFeaturer ÚnameÚvaluecCstƒ}|j|d<|j|d<|S)Nr)r*)rr)r*rrrrrNs
 
zMediaFeature.to_jsoncCs|t|dƒt|dƒdS)Nr)r*)r)r*©r rrrrrTs
 
þzMediaFeature.from_jsonNr'rrrrr(Hs
 
r(c@s0eZdZdZdZdZdZdd„Zedd„ƒZ    d    S)
ÚVirtualTimePolicya?
    advance: If the scheduler runs out of immediate work, the virtual time base may fast forward to
    allow the next delayed task (if any) to run; pause: The virtual time base may not advance;
    pauseIfNetworkFetchesPending: The virtual time base may not advance if there are any pending
    resource fetches.
    ZadvanceZpauseZpauseIfNetworkFetchesPendingcCs|jS©N©r*©rrrrrgszVirtualTimePolicy.to_jsoncCs||ƒSr-rrrrrrjszVirtualTimePolicy.from_jsonN)
rrrrZADVANCEZPAUSEZ PAUSE_IF_NETWORK_FETCHES_PENDINGrr!rrrrrr,\sr,c@s6eZdZUdZded<ded<dd„Zedd„ƒZd    S)
ÚUserAgentBrandVersionzg
    Used to specify User Agent Cient Hints to emulate. See https://wicg.github.io/ua-client-hints
    r ÚbrandÚversioncCstƒ}|j|d<|j|d<|S)Nr1r2)rr1r2rrrrrxs
 
zUserAgentBrandVersion.to_jsoncCs|t|dƒt|dƒdS)Nr1r2)r1r2r+rrrrr~s
 
þzUserAgentBrandVersion.from_jsonNrrrrrr0os
r0c@sŠeZdZUdZded<ded<ded<ded<ded<d    Zd
ed <d    Zd
ed <d    Zd ed<d    Zd ed<d    Z    ded<dd„Z
e dd„ƒZ d    S)ÚUserAgentMetadatazÄ
    Used to specify User Agent Cient Hints to emulate. See https://wicg.github.io/ua-client-hints
    Missing optional values will be filled in by the target with what it would normally use.
    r ÚplatformÚplatform_versionÚ architectureÚmodelÚboolÚmobileNz3typing.Optional[typing.List[UserAgentBrandVersion]]ÚbrandsÚfull_version_listútyping.Optional[str]Ú full_versionÚbitnessútyping.Optional[bool]Úwow64cCs´tƒ}|j|d<|j|d<|j|d<|j|d<|j|d<|jdk    rVdd„|jDƒ|d<|jdk    rtd    d„|jDƒ|d
<|jdk    rˆ|j|d <|j    dk    rœ|j    |d <|j
dk    r°|j
|d <|S)Nr4ÚplatformVersionr6r7r9cSsg|] }| ¡‘qSr©r©Ú.0ÚirrrÚ
<listcomp>ªsz-UserAgentMetadata.to_json.<locals>.<listcomp>r:cSsg|] }| ¡‘qSrrBrCrrrrF¬sÚfullVersionListÚ fullVersionr>r@) rr4r5r6r7r9r:r;r=r>r@rrrrr¢s"
 
 
 
 
 
 
 
 
 
 
 
 
zUserAgentMetadata.to_jsonc Cs´|t|dƒt|dƒt|dƒt|dƒt|dƒd|krNdd„|dDƒndd    |krjd
d„|d    Dƒndd |kr€t|d ƒndd |kr–t|d ƒndd |kr¬t|d ƒndd
S)Nr4rAr6r7r9r:cSsg|]}t |¡‘qSr©r0rrCrrrrF½sz/UserAgentMetadata.from_json.<locals>.<listcomp>rGcSsg|]}t |¡‘qSrrIrCrrrrF¾srHr>r@)
r4r5r6r7r9r:r;r=r>r@)r r8rrrrrµs
 
 
 
 
özUserAgentMetadata.from_json) rrrrr r:r;r=r>r@rr!rrrrrr3†s
     r3c@s,eZdZdZdZdZdd„Zedd„ƒZdS)    ÚDisabledImageTypez3
    Enum of image types that can be disabled.
    ZavifZwebpcCs|jSr-r.r/rrrrÌszDisabledImageType.to_jsoncCs||ƒSr-rrrrrrÏszDisabledImageType.from_jsonN)    rrrrZAVIFZWEBPrr!rrrrrrJÅs rJz0typing.Generator[T_JSON_DICT, T_JSON_DICT, bool])Úreturnccsddi}|V}t|dƒS)z^
    Tells whether emulation is supported.
 
    :returns: True if emulation is supported.
    ÚmethodzEmulation.canEmulateÚresult)r8©Úcmd_dictrrrrÚ can_emulateÔs
ÿrPz0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]ccsddi}|V}dS)z/
    Clears the overridden device metrics.
    rLz$Emulation.clearDeviceMetricsOverrideNrrNrrrÚclear_device_metrics_overrideásÿrQccsddi}|V}dS)z?
    Clears the overridden Geolocation Position and Error.
    rLz"Emulation.clearGeolocationOverrideNrrNrrrÚclear_geolocation_overrideësÿrRccsddi}|V}dS)z[
    Requests that page scale factor is reset to initial values.
 
    **EXPERIMENTAL**
    rLzEmulation.resetPageScaleFactorNrrNrrrÚreset_page_scale_factorõsÿrSr8)ÚenabledrKccs"tƒ}||d<d|dœ}|V}dS)zœ
    Enables or disables simulating a focused and active page.
 
    **EXPERIMENTAL**
 
    :param enabled: Whether to enable to disable focus emulation.
    rTz"Emulation.setFocusEmulationEnabled©rLÚparamsN©r©rTrVrOrrrrÚset_focus_emulation_enableds
þrYr?ccs*tƒ}|dk    r||d<d|dœ}|V}dS)zæ
    Automatically render all web contents using a dark theme.
 
    **EXPERIMENTAL**
 
    :param enabled: *(Optional)* Whether to enable or disable automatic dark mode. If not specified, any existing override will be cleared.
    NrTz!Emulation.setAutoDarkModeOverriderUrWrXrrrÚset_auto_dark_mode_overrides
þrZÚfloat)ÚraterKccs"tƒ}||d<d|dœ}|V}dS)z®
    Enables CPU throttling to emulate slow CPUs.
 
    **EXPERIMENTAL**
 
    :param rate: Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).
    r\zEmulation.setCPUThrottlingRaterUNrW)r\rVrOrrrrÚset_cpu_throttling_rate(s
þr]ztyping.Optional[dom.RGBA])ÚcolorrKccs.tƒ}|dk    r| ¡|d<d|dœ}|V}dS)a
    Sets or clears an override of the default background color of the frame. This override is used
    if the content does not specify one.
 
    :param color: *(Optional)* RGBA of the default background color. If not specified, any existing override will be cleared.
    Nr^z+Emulation.setDefaultBackgroundColorOverriderU©rr)r^rVrOrrrrÚ%set_default_background_color_override;s     þr`r ztyping.Optional[float]ztyping.Optional[int]z"typing.Optional[ScreenOrientation]ztyping.Optional[page.Viewport]ztyping.Optional[DisplayFeature])ÚwidthÚheightÚdevice_scale_factorr9ÚscaleÚ screen_widthÚ screen_heightÚ
position_xÚ
position_yÚdont_set_visible_sizeÚscreen_orientationÚviewportÚdisplay_featurerKc csÖtƒ} || d<|| d<|| d<|| d<|dk    r6|| d<|dk    rF|| d<|dk    rV|| d<|dk    rf|| d    <|dk    rv|| d
<|    dk    r†|    | d <|
dk    rš|
 ¡| d <| dk    r®|  ¡| d <| dk    rÂ|  ¡| d<d| dœ}|V}dS)a[
    Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
    window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
    query results).
 
    :param width: Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param height: Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param device_scale_factor: Overriding device scale factor value. 0 disables the override.
    :param mobile: Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.
    :param scale: **(EXPERIMENTAL)** *(Optional)* Scale to apply to resulting view image.
    :param screen_width: **(EXPERIMENTAL)** *(Optional)* Overriding screen width value in pixels (minimum 0, maximum 10000000).
    :param screen_height: **(EXPERIMENTAL)** *(Optional)* Overriding screen height value in pixels (minimum 0, maximum 10000000).
    :param position_x: **(EXPERIMENTAL)** *(Optional)* Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
    :param position_y: **(EXPERIMENTAL)** *(Optional)* Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
    :param dont_set_visible_size: **(EXPERIMENTAL)** *(Optional)* Do not set visible view size, rely upon explicit setVisibleSize call.
    :param screen_orientation: *(Optional)* Screen orientation override.
    :param viewport: **(EXPERIMENTAL)** *(Optional)* If set, the visible area of the page will be overridden to this viewport. This viewport change is not observed by the page, e.g. viewport-relative elements do not change positions.
    :param display_feature: **(EXPERIMENTAL)** *(Optional)* If set, the display feature of a multi-segment screen. If not set, multi-segment support is turned-off.
    rarbZdeviceScaleFactorr9NrdZ screenWidthZ screenHeightZ    positionXZ    positionYZdontSetVisibleSizeZscreenOrientationrkZdisplayFeaturez"Emulation.setDeviceMetricsOverriderUr_)rarbrcr9rdrerfrgrhrirjrkrlrVrOrrrrÚset_device_metrics_overrideNs6"   þrm)ÚhiddenrKccs"tƒ}||d<d|dœ}|V}dS)z\
 
 
    **EXPERIMENTAL**
 
    :param hidden: Whether scrollbars should be always hidden.
    rnzEmulation.setScrollbarsHiddenrUNrW)rnrVrOrrrrÚset_scrollbars_hiddenŽs
þro)ÚdisabledrKccs"tƒ}||d<d|dœ}|V}dS)zc
 
 
    **EXPERIMENTAL**
 
    :param disabled: Whether document.coookie API should be disabled.
    rpz#Emulation.setDocumentCookieDisabledrUNrW)rprVrOrrrrÚset_document_cookie_disabled¡s
þrqr<)rTÚ configurationrKccs2tƒ}||d<|dk    r||d<d|dœ}|V}dS)z×
 
 
    **EXPERIMENTAL**
 
    :param enabled: Whether touch emulation based on mouse input should be enabled.
    :param configuration: *(Optional)* Touch/gesture events configuration. Default: current platform.
    rTNrrz$Emulation.setEmitTouchEventsForMouserUrW)rTrrrVrOrrrrÚset_emit_touch_events_for_mouse´s þrsz*typing.Optional[typing.List[MediaFeature]])ÚmediaÚfeaturesrKccsDtƒ}|dk    r||d<|dk    r0dd„|Dƒ|d<d|dœ}|V}dS)zç
    Emulates the given media type or media feature for CSS media queries.
 
    :param media: *(Optional)* Media type to emulate. Empty string disables the override.
    :param features: *(Optional)* Media features to emulate.
    NrtcSsg|] }| ¡‘qSrrBrCrrrrFÙsz&set_emulated_media.<locals>.<listcomp>ruzEmulation.setEmulatedMediarUrW)rtrurVrOrrrrÚset_emulated_mediaËs
þrvr )r rKccs"tƒ}||d<d|dœ}|V}dS)a
    Emulates the given vision deficiency.
 
    **EXPERIMENTAL**
 
    :param type_: Vision deficiency to emulate. Order: best-effort emulations come first, followed by any physiologically accurate emulations for medically recognized color vision deficiencies.
    rz%Emulation.setEmulatedVisionDeficiencyrUNrW)r rVrOrrrrÚset_emulated_vision_deficiencyás
þrw)ÚlatitudeÚ    longitudeÚaccuracyrKccsJtƒ}|dk    r||d<|dk    r&||d<|dk    r6||d<d|dœ}|V}dS)a 
    Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position
    unavailable.
 
    :param latitude: *(Optional)* Mock latitude
    :param longitude: *(Optional)* Mock longitude
    :param accuracy: *(Optional)* Mock accuracy
    Nrxryrzz Emulation.setGeolocationOverriderUrW)rxryrzrVrOrrrrÚset_geolocation_overrideôs þr{)Úis_user_activeÚis_screen_unlockedrKccs*tƒ}||d<||d<d|dœ}|V}dS)zœ
    Overrides the Idle state.
 
    **EXPERIMENTAL**
 
    :param is_user_active: Mock isUserActive
    :param is_screen_unlocked: Mock isScreenUnlocked
    Z isUserActiveZisScreenUnlockedzEmulation.setIdleOverriderUNrW)r|r}rVrOrrrrÚset_idle_overrides þr~ccsddi}|V}dS)z<
    Clears Idle state overrides.
 
    **EXPERIMENTAL**
    rLzEmulation.clearIdleOverrideNrrNrrrÚclear_idle_override%sÿr)r4rKccs"tƒ}||d<d|dœ}|V}dS)z¡
    Overrides value returned by the javascript navigator object.
 
    **EXPERIMENTAL**
 
    :param platform: The platform navigator.platform should return.
    r4zEmulation.setNavigatorOverridesrUNrW)r4rVrOrrrrÚset_navigator_overrides1s
þr€)Úpage_scale_factorrKccs"tƒ}||d<d|dœ}|V}dS)zu
    Sets a specified page scale factor.
 
    **EXPERIMENTAL**
 
    :param page_scale_factor: Page scale factor.
    ZpageScaleFactorzEmulation.setPageScaleFactorrUNrW)rrVrOrrrrÚset_page_scale_factorDs
þr‚)r*rKccs"tƒ}||d<d|dœ}|V}dS)z|
    Switches script execution in the page.
 
    :param value: Whether script execution should be disabled in the page.
    r*z$Emulation.setScriptExecutionDisabledrUNrW)r*rVrOrrrrÚset_script_execution_disabledWs þrƒ)rTÚmax_touch_pointsrKccs2tƒ}||d<|dk    r||d<d|dœ}|V}dS)zä
    Enables touch on platforms which do not support them.
 
    :param enabled: Whether the touch event emulation should be enabled.
    :param max_touch_points: *(Optional)* Maximum touch points supported. Defaults to one.
    rTNZmaxTouchPointsz"Emulation.setTouchEmulationEnabledrUrW)rTr„rVrOrrrrÚset_touch_emulation_enabledhs
þr…z'typing.Optional[network.TimeSinceEpoch]z1typing.Generator[T_JSON_DICT, T_JSON_DICT, float])ÚpolicyÚbudgetÚ&max_virtual_time_task_starvation_countÚinitial_virtual_timerKccsbtƒ}| ¡|d<|dk    r"||d<|dk    r2||d<|dk    rF| ¡|d<d|dœ}|V}t|dƒS)    a#
    Turns on virtual time for all frames (replacing real-time with a synthetic time source) and sets
    the current virtual time policy.  Note this supersedes any previous time budget.
 
    **EXPERIMENTAL**
 
    :param policy:
    :param budget: *(Optional)* If set, after this many virtual milliseconds have elapsed virtual time will be paused and a virtualTimeBudgetExpired event is sent.
    :param max_virtual_time_task_starvation_count: *(Optional)* If set this specifies the maximum number of tasks that can be run before virtual is forced forwards to prevent deadlock.
    :param initial_virtual_time: *(Optional)* If set, base::Time::Now will be overridden to initially return this value.
    :returns: Absolute timestamp at which virtual time was first enabled (up time in milliseconds).
    r†Nr‡Z!maxVirtualTimeTaskStarvationCountZinitialVirtualTimezEmulation.setVirtualTimePolicyrUZvirtualTimeTicksBase)rrr[)r†r‡rˆr‰rVrOrrrrÚset_virtual_time_policy}s  þrŠ)ÚlocalerKccs*tƒ}|dk    r||d<d|dœ}|V}dS)zú
    Overrides default host system locale with the specified one.
 
    **EXPERIMENTAL**
 
    :param locale: *(Optional)* ICU style C locale (e.g. "en_US"). If not specified or empty, disables the override and restores default host system locale.
    Nr‹zEmulation.setLocaleOverriderUrW)r‹rVrOrrrrÚset_locale_overrideŸs
þrŒ)Ú timezone_idrKccs"tƒ}||d<d|dœ}|V}dS)zÛ
    Overrides default host system timezone with the specified one.
 
    **EXPERIMENTAL**
 
    :param timezone_id: The timezone identifier. If empty, disables the override and restores default host system timezone.
    Z
timezoneIdzEmulation.setTimezoneOverriderUNrW)rrVrOrrrrÚset_timezone_override³s
þrŽ)rarbrKccs*tƒ}||d<||d<d|dœ}|V}dS)a<
    Resizes the frame/viewport of the page. Note that this does not affect the frame's container
    (e.g. browser window). Can be used to produce screenshots of the specified size. Not supported
    on Android.
 
    **EXPERIMENTAL**
 
    :param width: Frame width (DIP).
    :param height: Frame height (DIP).
    rarbzEmulation.setVisibleSizerUNrW)rarbrVrOrrrrÚset_visible_sizeÆsþrztyping.List[DisabledImageType])Ú image_typesrKccs,tƒ}dd„|Dƒ|d<d|dœ}|V}dS)zM
 
 
    **EXPERIMENTAL**
 
    :param image_types: Image types to disable.
    cSsg|] }| ¡‘qSrrBrCrrrrFész,set_disabled_image_types.<locals>.<listcomp>Z
imageTypeszEmulation.setDisabledImageTypesrUNrW)rrVrOrrrrÚset_disabled_image_typesÞs
þr‘)Úhardware_concurrencyrKccs"tƒ}||d<d|dœ}|V}dS)z]
 
 
    **EXPERIMENTAL**
 
    :param hardware_concurrency: Hardware concurrency to report
    ZhardwareConcurrencyz(Emulation.setHardwareConcurrencyOverriderUNrW)r’rVrOrrrrÚ!set_hardware_concurrency_overrideñs
þr“z"typing.Optional[UserAgentMetadata])Ú
user_agentÚaccept_languager4Úuser_agent_metadatarKccsVtƒ}||d<|dk    r||d<|dk    r.||d<|dk    rB| ¡|d<d|dœ}|V}dS)aŠ
    Allows overriding user agent with the given string.
 
    :param user_agent: User agent to use.
    :param accept_language: *(Optional)* Browser langugage to emulate.
    :param platform: *(Optional)* The platform navigator.platform should return.
    :param user_agent_metadata: **(EXPERIMENTAL)** *(Optional)* To be sent in Sec-CH-UA-* headers and returned in navigator.userAgentData
    Z    userAgentNZacceptLanguager4ZuserAgentMetadatazEmulation.setUserAgentOverriderUr_)r”r•r4r–rVrOrrrrÚset_user_agent_overrides þr—ccs"tƒ}||d<d|dœ}|V}dS)zƒ
    Allows overriding the automation flag.
 
    **EXPERIMENTAL**
 
    :param enabled: Whether the override should be enabled.
    rTzEmulation.setAutomationOverriderUNrWrXrrrÚset_automation_override!s
þr˜z"Emulation.virtualTimeBudgetExpiredc@s$eZdZdZedddœdd„ƒZdS)ÚVirtualTimeBudgetExpiredz~
    **EXPERIMENTAL**
 
    Notification sent after the virtual time budget for the current VirtualTimePolicy has run out.
    r)rrKcCs|ƒSr-rrrrrr>sz"VirtualTimeBudgetExpired.from_jsonN)rrrrr!rrrrrr™4sr™)N)N)    NNNNNNNNN)N)NN)NNN)N)NNN)N)NNN)3Ú
__future__rÚutilrrZ dataclassesrÚenumÚtypingÚrrr    r
r"r(ÚEnumr,r0r3rJrPrQrRrSrYrZr]r`rmrorqrsrvrwr{r~rr€r‚rƒr…rŠrŒrŽrr‘r“r—r˜r™rrrrÚ<module>s˜     > 
 
 ÿÿó*@þþý þü#ÿü