Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays!
Try StreamFab Downloader and download streaming video from Youtube, Netflix, Amazon! Download free trial.
+ Reply to Thread
Results 31 to 60 of 187
Thread
-
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
yes, right again. i've edit the script before ...
now i've download again the original allhell3.py and now work, but still error
Code:MPD URL? https://vod06.msf.cdn.mediaset.net/farmunica/2023/06/1346433_18876390fc7f89/dashrcenc/sd_wv_mpl.mpd Found pssh element: AAAAU3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADMIARIQC2tmW5WpWB1VrN5YuXFmmhoNYW1hem9uaW5mbmVybyIIdGFtX3Rlc3QqAlNEMgA= Extracted or generated PSSH: AAAAU3Bzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADMIARIQC2tmW5WpWB1VrN5YuXFmmhoNYW1hem9uaW5mbmVybyIIdGFtX3Rlc3QqAlNEMgA= Next. 1. Paste your cURL of license request. 2. Press Ctrl-D (Linux) or Ctrl-Z (Windows) to save it. cURL? URL: Method: UNDEFINED Headers: {} Data: Traceback (most recent call last): File "C:\Program Files\Python38\lib\site-packages\httpx\_transports\default.py", line 69, in map_httpcore_exceptions yield File "C:\Program Files\Python38\lib\site-packages\httpx\_transports\default.py", line 233, in handle_request resp = self._pool.handle_request(req) File "C:\Program Files\Python38\lib\site-packages\httpcore\_sync\connection_pool.py", line 167, in handle_request raise UnsupportedProtocol( httpcore.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol. The above exception was the direct cause of the following exception: Traceback (most recent call last): File "D:\000\hellyes\allhell3.py", line 424, in <module> key_results = get_key(pssh, lic_url) (trimmed) httpx.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.
Last edited by whs912km; 2nd Jul 2024 at 03:03.
-
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
sorry to boring you, but at this point i don't want to leave things unfinished
now, as you can see from my shot, i'm out of wks tool
pywidevine module installed
allhell3.py is now your original file, not edited
i think this script does not work for my link on post 19
Can anyone try if it really works for my link? and post here one shot
If really works, i'll try again. at the moment i'm stuck here ... -
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
yes, thank you cedric. also by me
finally a simple and clear answer
but ... (from your shot i can't see) have you used allhell3.py for window and chromium browser or hell3.py for FF and/or linux OS ?
because i'm win userm chromium browser, so i can test allhell3.py
please confim that -
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
yes you're right, but same issue with FF and hell3.py
new link for test https://mediasetinfinity.mediaset.it/video/mysteriesofthemekong/decima-puntata_F310800501001001
my steps:
1) run hell3.py and FF
2) add mpd link https://vod06.msf.cdn.mediaset.net/farmunica/2021/08/957668_17b8700a23f708/dashrcenc/hr_wv_mpl.mpd
3) search lic url, then copy as curl(window), go to cmd window, hold CTRL+Z, then press enter
[Attachment 80352 - Click to enlarge]
4) got same error from post#32Last edited by whs912km; 2nd Jul 2024 at 03:04.
-
Works on my test page with DRM.
FireFox, also use Which 'copy as cURL' to use? Windows - choose 'Copy as cURL (Posix)' if available which is what I did.
proof:
[Attachment 80355 - Click to enlarge]
[Attachment 80354 - Click to enlarge]
Thanks Angela.Last edited by Spectrumhsm; 1st Jul 2024 at 07:57.
-
I'm weary of this.
Everything you have complained about has been of your own making. The instructions in start.html should be good enough. But I did have a gentleman who couldn't follow instructions either; user 838 I call him. He was the first to complain 'It Doesn't Work". In the end he discovered that by following instruction carefully he could achieve a good result. I said at the beginning you needed a paradigm shift. I think you seriously need to review how you go about using new-to-you software. READ THE INSTRUCTIONS!
I made this for him - for hell3.py and Firefox .
You do this.- You run start.html - it is in the HellYes folder. Click to open or just drag to a browser to view.
- You read it carefully! Do not just run your eyes over it - read the words, understand what it says. After each paragraph stop and ask yourself 'do I understand that?' If not go back if yes , go on.
- You do what it says; you install software into a folder called binaries and add that folder to your system's PATH (Environment Variable in Windoze)
- You make sure each program is installed correctly and available in PATH (Try calling each one from the command line in Terminal)
- You prepare to download a video
- Find the regex in the start.html page and copy it.
- Go to the website with the video you want.
- Load the video page.
- Press Shift+CTRl+C to open web developet tools.
- Navigate to the Network tab
- Enter the copied regex to the filter box.
- Press Ctrl+R to refresh the video page and interact to play the video
- The network page will display the mpd and its fetch method will be GET - that is the mpd
- Click on that mpd link to open a menu -select 'Copy Value' and the choose and click 'Copy url'.
[Attachment 80134 - Click to enlarge] - In a terminal window, in the HellYes folder, type 'python3 hell3.py' or just 'python hell3.py' depending on your Operating System.
- Enter the mpd at the prompt. Ctrl +V should paste it and you will see the mpd echoed to screen.
[Attachment 80135 - Click to enlarge] - Select the license URL its fetch method will be POST; select 'Copy Value' -> 'Copy as Curl' in the menu-boxes (posix or bash)
[Attachment 80136 - Click to enlarge] - With cURL copied go back to hell3.py and paste in response to the prompt. Before you paste (Ctrl+v) the screen looks like this:-
[Attachment 80138 - Click to enlarge] - And after you paste the screen looks like this:-
[Attachment 80139 - Click to enlarge] - Absolutely NOTHING HAPPENS ON THE SCREEN. The curl may contain gibberish which could mess up your display so it does not echo to screen.
- But after you press 'ENTER' the program interprets the data and produces a key
[Attachment 80140 - Click to enlarge] - You can stop here if you just need the key for use elsewhere.
- Or enter the name for your video to be saved as - what will you call it?
- Just do not use spaces in the name:- for example My_Fair_City_23_06_2024 or'video_from_RTE - you choose whatever you want here.
[Attachment 80141 - Click to enlarge] - The script responds and prepares to download but offers the download command for users who may wish to bulk download later or modify the N_m3u8DL-RE command.
- you can choose to stop here or continue
- Continuing runs the downloader
- The downloader pauses for you to select the video resolution you want. To accept the default choices (best video audio streams) just press ENTER.
- The video now downloads
[Attachment 80143 - Click to enlarge]
The image in your last post shows your curl is 'copy as cURL (windows). All the instructions say copy as curl (posix) or (bash).
[Attachment 80356 - Click to enlarge]
But what do you do??
You've got to be a wind-up merchant; you are arent't you. No-one could make an error at every step; could they?
Post the curl at curlconverter.com and complain
Run the script in WKS-KEYS folder and complain
Alter the script to import pywidevine.L3.cdm (ie WKS-KEYS) and complain
Get confirmation the script works but complain
Try Firefox and hell3 and complain.
Where may I post my complaints about irresponsible and incompetent users?
I am now out.Last edited by A_n_g_e_l_a; 1st Jul 2024 at 08:50.
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Can you see where this is wrong?
(venv) C:\xxx\Administrator\Downloads\Compressed\hellyes2 >py hell3.py
[32m __ ________
/ / ___ / / /_ /
/ _ \/ -_) / //_ <
/_//_/\__/_/_/____/
[0m
[31mA Generic L3 Downloader:
[0m
[31mFor DRM content only.
[0m
Prepare three inputs.
1. MPD URL
2. cURL of license server request
3. Video name
MPD URL? https://vod.imagination.m-78.jp/video/m000/00/m0000001me/20210527111304/manifest.mpd?resolution=1080
Found default_KID using regex: CF414520-741E-4A2D-9C48-037F8146D004
Found pssh element: AAAAWXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADkSEM9BRS B0HkotnEgDf4FG0AQaDXdpZGV2aW5lX3Rlc3QiEEAtE6wQw0gP vkeoo+8LVuZI49yVmwY=
Extracted or generated PSSH: AAAAWXBzc2gAAAAA7e+LqXnWSs6jyCfc1R0h7QAAADkSEM9BRS B0HkotnEgDf4FG0AQaDXdpZGV2aW5lX3Rlc3QiEEAtE6wQw0gP vkeoo+8LVuZI49yVmwY=
Paste cURL of license server request:
And press ENTER.
cURL is saved but not displayed.
cURL?
URL:
Method: GET
Headers: {}
Data:
Traceback (most recent call last):
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_transports\default.py", line 69, in map_httpcore_exceptions
yield
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_transports\default.py", line 233, in handle_request
resp = self._pool.handle_request(req)
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpcore\_sync\connection_pool.py", line 167, in handle_request
raise UnsupportedProtocol(
httpcore.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\Administrator\Downloads\Compressed\helly es2\hell3.py", line 370, in <module>
key_results = get_key(pssh, lic_url)
File "C:\Users\Administrator\Downloads\Compressed\helly es2\hell3.py", line 184, in get_key
license_response = httpx.post(url=license_url, data=payload, headers=headers)
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_api.py", line 319, in post
return request(
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_api.py", line 106, in request
return client.request(
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_client.py", line 827, in request
return self.send(request, auth=auth, follow_redirects=follow_redirects)
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_client.py", line 914, in send
response = self._send_handling_auth(
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_client.py", line 942, in _send_handling_auth
response = self._send_handling_redirects(
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_client.py", line 979, in _send_handling_redirects
response = self._send_single_request(request)
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_client.py", line 1015, in _send_single_request
response = transport.handle_request(request)
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_transports\default.py", line 232, in handle_request
with map_httpcore_exceptions():
File "C:\Users\Administrator\AppData\Local\Programs\Pyt hon\Python310\lib\contextlib.py", line 153, in __exit__
self.gen.throw(typ, value, traceback)
File "C:\Users\Administrator\Downloads\Compressed\helly es2\venv\lib\site-packages\httpx\_transports\default.py", line 86, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.UnsupportedProtocol: Request URL is missing an 'http://' or 'https://' protocol.
licen:(Firefox Copy as cURL (Posix))
curl 'xxxxx Can't watch (He does.)' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:127.0) Gecko/20100101 Firefox/127.0' -H 'Accept: */*' -H 'Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2' -H 'Accept-Encoding: gzip, deflate, br, zstd' -H 'AcquireLicenseAssertion: wwrV2QEfo0uUrhy96KLSEsFjIvUqposUg0Qj6w2AGZVKFgedb+ 7OYOLS1QDC7HhSiZoEY2r5Kjid/CLCUUSqYOVMVEjf/X2wW0wuxkvhYEVo49ZhnPhoq4KXY3qtoxqKsMHn1U6kTF9CO7V dDDAEsV+w+QltWQOgidEgeIYjM9/Eef8aZkLxafcebzOF6b8d2uHsuipT4PdFFBoF8Uv2Wud9Vo1UQ 4ahFWxGBZh9F2MPW8y7yA0OEDgB/SzbwUdn1t8eXXUTRSsoz/A5Gs9XDzB6S4xadwMgBCYpwhh2iaT61/8DoPxWVqs5gVghHCSTU8snahVC+1ILv5gL/ZMKz4Aa0NhZrwqMUfv9nkJy/aQ0bLrlEGYr+e8ia+ohlUcJI5o5jZulzUAhptIAyO/pi3t8qwOaumRMdapyy32C+wKI3x5t/i/HtG1GFQbjNzW5CA2vGpf3Y1ks7zP7SPQoWYLfGd8ZR2I92O7tl 2bcRyU6+b9ISSIhcqSCKaTyJ7XK33HpMPtfGkTT4cNCJrODrNM MCsLhUHo9dOa45rImrMyLy3ogo77mq4mZAQ3MCQxZnqJlacUa+ jTMPXlWa7bpmcYcuthjVTszRVH5iL3/YH7S1CNmmG+WJ/2pEcaL2iips31AtC7hCp39H94Lov8fb6k4AmFz6Q8ORV6ipSSr x33IOWb43g/5AlCOsYgrDTz3FE0Qu6Cg2Z4OvNwY53v0scRLSTQSsCommBO7J Y1dgdqoh3alzzGbLMGrz6zcmekjwtCtwfAvoK8XI/9q4aeGVwcAy5e0+xjKqXui7QMwXLDKkkUh3SMO78uGfpQsgvak 223TJuU4w1CTCZrqVwqvGpVmcJ2aJGMUYohDjjfq08vtyCQDod OhCSZnLggjWgEQ+5FizPXYTsdEi4rwaMz1r8Ur/J0Ayx7mVzh48dslmhimy2iKa5vtUNVncxFNHBWb9AxFe/KUWxPV4Hivr7eJTjQPNehn+qbR2unvye5DhM9i/UhV6aC8JQCzHTQSRk0rV/PvbD8ZojbgFOlzIvAFmh9EL+S3ZsAXuX9rlPNPsvjgh4pnxJgw qR9+hbth3VWpUwXink84QZKFInH8s+v3G8IAMbpeRavflQV6tX L/K6nf2IQir8EzeBOpbEAqMeoR9lBeLZG+Nf+qTfYTZwSiw8+8jF yi1zOCDqI7yvveckArlhtXieIO4lELDFI5nA/2' -H 'Origin: https://imagination.m-78.jp' -H 'Connection: keep-alive' -H 'Referer: https://imagination.m-78.jp/' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: cross-site' -H 'TE: trailers' --data-raw $'\x08\x01\x12\xa3,\x12Q\nO\n9\x12\x10\xcfAE t\x1eJ-\x9cH\x03\x7f\x81F\xd0\x04\x1a\rwidevine_test"\x10 @-\x13\xac\x10\xc3H\x0f\xbeG\xa8\xa3\xef\x0bV\xe6H\x e3\xdc\x95\x9b\x06\x10\x01\x1a\x10\xc4b1\x05\r\xec \xe6\x02/\xd6\xb5\x98\x1f>\xd1\x18\x18\x01 \xd5\xe3\x8a\xb4\x060\x168\x93\xc7\xe1\x89\x03B\xb 0+\n\x14license.widevine.com\x12\x10\x17\x05\xb9\x 17\xcc\x12\x04\x86\x8b\x063:/w*\x8c\x1a\xf0(\x99\xaa*U\xf3=\xe7\xe9\x9e\xc1\xbc \xc5\xff<\x90\xa8\xacBU\x11a\xd5\x128\xbd;%\xb4\xf c\xdf`h\x8c\xff\xd8\x0e \x86\x87\xbe\xdc\xe9\xc3\xb7\xad\xbf7F\xd2Z\x14\x1 dqF\xb9\x08\xf9\xed\xa4\xe2\xf3\xb8\r\xf1\x16\xc7\ x82x3\xc9\x8f\xbaj\xe2x\\\xec\x04<\x8c\xff\x89\x8c xjf6\xbf\xa9|(\x9c\x14I\xc5\x8c\xcex\x80\xe2\x1e~1 \xe6\x9f\xb2\xf2a\x8cZ\xea\x9e\xfa\xd9nP\xab\xdff\ x9f\xd7\x02\xe4\x97~\xab\xd0O\xa9\xa7\xe1\xfc\xbd9 r"\x04\x9b\xa5\xfc\xe0cU\x01$\x1bw)<\x04\x91\xf0S\ x91z\x98h\xc0/ \x0e\xbd\x09\xd6P\xdcy\x04\xdb\xa7\x07jlJb\xc1\xfd \x15\xc4\x92\x81>\xa7\x09\x8d2Kbix(B\x16}\xda\xf1\ xd4\xd7S\xa6,\xb0p\x80\xd0+?79(\xfe\xb6dl\x89\\\x1 1\x1bu\xcf7\x00c\xbf\x93\x95\x1f\x832\x8b\xac\xeb7 \x9a\x80\x92V\x83\x14\x8btS\xa1\x9f\xf1\xa9\x85\xd 2\xeb\xb1\xc7\xa9l\'\xc9\x89B\x00%\xa3\xd9FO\xec\x e5\xf6\x96\x11\r\x82\xd9\x96\xc9\xbb\xfb^\xeb\xd0K \x9a-\xa1\xb8z)C9\xfc\x84N\x11H\xea\'\n]\x01w\x93t\xef\x8b,\xcc\xdf\xa5U\x9d\xb44\xfb\x1f\ x8c\xe8in\xe7\x1e\x92\x18\x9e3c\xffC\xd03;\x16)\x0 4.\x9d\x86\xc8O\xdbd\xa7\xce\x13\xac2\xd44d\x06\xe 5\xfb\x1c\x9e\x0e\xa5d\x11\xbd\xaf>\xeb\x8c9\xf9\x e5\x92h`a\x04\xefSOO\xf4]\xbe0}\xac\xb5C/\xac\xe8\x80\x87E\041_\xbc`\x84\xda\xfc\x171\xdf\x cax\x83\xaf\xecq\xe26\x99\xd0\xc4\xa2\x0bc\xce\x89 \xcdC\041\xd7\xc3\x88\x03q\xafxg\x02\xc0\xef?\xd2\ xe7\xael\xd6o\xed\x84\xbe\xf0[\x1a.\xd9uAX\xf4\xb4\xb5\xe1V_\xcc\x9c\x1d\xa4\xdc j0\xf0\xd4)\x00\x8f\xfclm\xe7b@\xf7\xefAlC\xdb\x02 :\x8efy\x0c\xd3\xb9\x9e`3$\x87\xde2\xcc\\ou\x11y\x aa\xb6\xa4\x19\041iz7\xbeRF`\x80C\x89\xea\x15\xcc\ xee\x91\x07\xf3\xbbP\x03I\xf9U\x01\x8d\x9b\xe9\x7f )Uv~\xec\xcc\x89\xb5EO\x97\xa0\x89\xc4\xcf\xdf\x84 \041\x8d\xbe7\x1f\x92\x90)\xf2\x91\x9b\xa3a\x12\xa 0$\xea(@\xf9\xa7\x9c\x93\x94\x1ec \x95E\x0c\xda\xcd\xc1\xabou9\x99+1/\x19\xa9\xf9\xcbh\x15\x9d~\xe8_\xec\xf2\x84b\r\x81 \x06\x80\x83a\xe9-3\x1e\x15q\x18?g\x94\x01\x81\x1a\x89\xc9\xc0p\x81\ xe6\x9b,v@\x057\xd8q\xdfO\xc89\x1b\xf3\xa9\x8a\xa8 \xe9U\xb8f\xbe\x97\xd0V\xb2\xc6.eh\xc9\x90\xaa\x92 B\xf1\x03-s\xca\xeb\x07b\xe8]\x9d\x08`\xef\xb7=\xce\xa7oX\x987\x8c\xdaj\x9es\xb 1U4X\x19\x05\x16\xd84\x11\x8e\xe4`i\x87\x89\x16\xf 9z\xd9\xa5\x97\x92Ew\\\x9df\xfc0\x1e\xc0\x96b;\xfa \xf2\x8a \x88\xdd\x9d\xe2\xe8\xbf\xab\x93\xa3b:\xa5\xa0W\xd b\xaf\x91\xda{\xbd\xa3\xa9-=-\x12\x17\x93#\xee\x9b\xb9\x03\x91\xa2\xdf\x81pk\x1 bHn*\x84\x8e/\xe2\xacK37\xc9G>\xbf\x9fh>\xb4\x9d\xc8Y1\x82\xe7\ x1f\xb2\x81\x0b\xfewGl\xee\xdfD\xee\x8e0\x0e\xb4r3 \x95s\\\xec\x9f\xb6R\xfbY\xb6\xd3\xeb\x10?\xb5\xfa \xa6\xec\x7feSE\x85\x16\xd1\xedG\x84\x95.\xc8]r\xb3\x17\x91\xfe@r=$\x1fl\x0eiVw=\n\xcc\041\xf4\x 15~_\xc1q\xf4\xe7:\xfc[\x9aR\xc3\xbe\xc7(%\x04~\xe3s\xaf\xa3\x9f\x8f\x88\ xa1@\xc57\xa0\x97\xbe\x95^.\xc5\n\x0b\xb5\xe5\xba% \xe6gh\x981\x90\x99\xc3#\x7f\xb6\041\x8b<\xca\xdc& O\x02\xd1\xbd3J\x86\xaat2\x90G\x81\xd5\xc6\x15pdoI \xca\x16|v7G\x90\xa6?\x15\xab\xa8\xb2\xa1T\x8fa\\1 \xc7\xbdN\xfaI\xe2\x87W\xde\xc5A\x94\xf7\x09G\x94\ x88\x0cf\xff?\xdc\xaf\xcc\xa2\xb3\xb1\x06b\xb0\x00 \041\xe4\xd2\xc3\xe2\x09\xa7\x19V\xe4j5\xdfm\x99\x 9d\xb7/o\xd5\xc4T7\x0c\x98\xb4\\\xd48\xfb\\3\xbe$i\xf9\xd f\xc1o\xbbB,\xa8vs8\x9c\x17\xa6\x93K\x92(\xd2\x04\ x05\xa6q\xfb\x9en\xc8\xdb\x85\xe3\x06\x0b]d\xe8\x85W7\n\x80\xae\xebO\x10\xdf7\xb2U)\x86\xb0\ '\xab\x16\xcd%\xac\xb7\xc8\xe2FkxJ\xe73\x13\x865\x 99\\\x128\xb8\xfaB\xa6\xab%q\x06\x02\xadb\xa3E\x9c \xf0\xc8\x80>\x197-s*6\x0e+Y\xed\xbf\xadou\xd2\xb4d)\xef\x96\x0ce\xc8 \xc5\xad\x94\xb8\x16\x16"\\\xf9\xe8\xef\xabi\x16*\ xc0Q\xda\xd5N\xaa\xc8\xd21C\xc0\xe5?\x00\xa40B\xaf CE?\xef9]\x10\xa6jK\x9a\xb1\x04L\xf6\x18\xbd\xc5\xd2\x1fo&\ x07\xf8\xb2w\x0b\x08T\xc55\xf3Uk\xedoi\x05\xb2\'\x ceK\x85\xcf\xa8\xb7r4\xc3.\x83/T\xca\xca\x13\xb5^\x0ck\xa4st\xb5\xaf^l\x850\x01\x 84\xc3\xbd}\xec\x19\xd6{\xe7{\xe2B\xbc\xb3y\x97\xd d\x7f\xb2\xc8\xce8\xf6\xe4\x1b4 16Y\xce7E4\xab\x06\xeb\xac\xc2qS\xf6I8\x04\xben\xf 7\x0fTT\x9e\xe5\x1dY\x8a%\x0e\xfaJK\x03\xc3k\xe7\x a5\xc6\x93\xdfmU\x81\xb5\xd7\xa2>\xd0C\x98\x05\xce[\xfcKao&0\x07K\x06\xeb\xa2\xbe\x1a;|\x84\x1a\x92\x 177\xcb\x82\xa8\x07\xd7\xd1\xdbYFI\x13}7\xfb\x0fA\ x98\xfbd\x87\xf3`\xc2\x0b\x9dS\x01\xba\x85\x04OI\x b7A\xb7\xb0v\x84n\x0b\xcew\x8e\x901(\x9f\xc9-\xc3\xbb\xa9\x0bP\xb8\xcf\xe9\xcf\xde\x89\xb9\x82\ xd9\xbb)\x06\r\xce\xb8-x\xbb8>\x81\xb5\xdc\xea4\xb6\x00?|e%R\xcd\xe8\xad\ xc9t\x0c\r\x8f\xbc\xf0\n\xac\xb9\xec\x0e\xad\xf2\x 8b\xc5\xfd\xb1\xcan\x9ao\xe9\x1a\x17M\x02\x82>\xba (9\n\xd0RIM\xef\x9f\x07\xf1#/\xb4E\xe4F\xc5\xcc\xf3\x80\xb6\x03;\x89\xcaw\xce\x e0\x08\xf8\xbd\xc5xw\xe1b\'\xb3\xffJ3\xb8o3\x8d\xd f\xf2\xa2=W\xe1\x8d\x94@\xd8BU*A\xe9\xa0\xd8y"\xcc {Al`\xb2\xb7\xc9$\xbc\n\x17^[\xc0\x1b\x0e~s\x8a\xc0L\x02F\xd5m\xc4\xe3+\x93\xf5 u\xd7z4R\x08\x12\xa6\xbc\x08:X\xc7V\xb8\x1a{~\x99I %Y\x81fX*\xdc8\xcf\xb5\xaafB\x9e {Y\x0b(b7\xcb\xa3\xc7\x17\xdbyR\x01\x10\xb5q\x1f\x 82R\xed\xe2\xf9e\x98(z\x1c\x1e+\xa2\xd2\xa6\x9c\xc d^-\xad\xa2\x97\041\x857\xf3\\Ux\xf5,7>Z\\\xf1\x94)\x ac$\x95\x09\xf9\xd0\xe2\xf4\xa3"\x10\xaa\'X%\xfbC\ x07I\xd9=\x92\x04n\n2Y\xd6\x07\x90\xd1k\xe4\xe8\x8 6\x81\xcb\x8eR\xd4G\xf2B\xd4\xc9yi>\x1f\xde\xfd\x1 4\x9c\xa8.r\xb7vm5\xea\xa3\x87\xffE\xa8\x9b\x0e\x8 0f-C@\xb0k\xc8\xef\xcb\x87)\xafG\x1c\xc3\x0c6\xdfZ\xa 0\x15\xb84\xad\xe7\x0b\x7f<\rD\xe7\xa5\x81\xf1\xc4 \xba\x82T#f\xa1\xb3\x07\x15\xf5\xbe\xd55\x18\x11\x 8d\x04{\x1f\xaa\xc3-\x14\xc4Q;\xf02h\xdd\xbd?\x7f^>\xeerLqY\xf1\xb7\\W \xdb\xbd\xf8\x05j4\xf7yj\x8a\xd9}\xd0\xec\xef\x97\ xe7\xe2O\xb2\xf0\xb2q\xa6\x1b\xff\x9e\xb1\x95\xc0\ xd6~\xb6/p-\xc6\x85G\'\xfa\xe9\x89/%nk0\x12\x09\xb9)Q\x12Y\xa5\xd8\xb2\x18E\xe9\x96\x d5]\xc5\xf8\x0f\xb5\xe14\xf6\x19\x81\xdb\xeb:\xd6\xc5 \x9aR\xf2a\xb5\x97x\x95\xe5\xe2H3\xfew\xe8`\x83\xa a~\xeb\x9b\x8a\xb6\xe4e3\xc9\x9f\x97a\xab\xf9\xe0\ x1b\x0cRu^\x93j?\x89\xd9|]\xfe\xa1\xc8\xde\xd2\xbb-hr\xae^/\x87*\xb8\xf7PL\xc3m\xa8\x91\x088l\xb5\xcfn\xcfTgt \x8c\xe6\xd2I\x1c\xfa\x96\xe5$ B\xda\xaca\xa4\xc3\xc1q\xa6P\xf8\xb1\x13\xb8\xa9\x f7\xf5o\x81\xf7\xa7Wz\x13\x8dO.\x7fX\xc9\xdd*7\xc1 m\xd5\xed\xbb*S\x880`\x03\'Cc\x19f\xca\x05M\x9a\x8 9K2\xac\xb8\x1d.{\x9a\xa5\xf2\x9d|\xb5\xcca\xfa\x8 7\x0c\xf1\x09e\x996\xf94\x07\xca\xd7\xea\xc5\n\xfa y\xdd\x92\xf1\x92\x90Ljjr\xf1\xd0z\x0b\xd0\xf9\x15/\x87W\xb9\xf8\xb8\x08\x10\xec\xb24\xf3F\xd6\xe4@\x fd@\xa9\x8dB\x0e3{\x00\xb0\xb9\xbb\xd5\xae\xf6\xa6 \xf0\xb9\xd3\xa1\xfd\xf0\xce`7\xa5\x80u\xc2\x1a\x9 f\x05\xb6~\xf2eG\x0e\x01\x8c\x99\xa2\xd9i\xef\x0b\ x0c&#U\x8a\xfcl\xd6\xfa.F\xab\x94\xde\x1fw#\xcf\xd d\xf0\xc5\x9b\x16\n\xe0\xc1B\x87=~\x13\xb6/F"\xd2\xc3\xf6\xdd\xd8v\xf9\xbe\xed\xf9\xe7\xab\xc c\xf3eF&3\xa0@\x0btm)\xcd\x87\x1b8\rP\xaf\xe0\x18\ x07Y\xba\xae\x14\xa9\xfd\xe9y\xc7\xc0y\xc1~ZEon\x0 c\x7f06l\x19\xa5\x8a3\xa9zE\xa1\x97\x1d\xb9\xae\xa 0L\xc2n\x16y\x87\xf2\x8e\xcb\xc9$\n\xab\x0fM\xbf\x cb-\x8cVVyj_\xb3W\xdd\x17\x95\x84\xa8\xbd\'\xa9\x83e\ x1e\x09G\xab\xf8M7\x0f\x86\041\xcb\xcaj\xf7\x06&\x ae\xb9+\x8c\xc5AB\xcc\xcf\xa0\x17b\xf4\xf9\x95\xba W\xc7@6\xfe\x0cwQ\x9e\xb5-O\xbc\x87\xbc\x92\xde\x17\xa0\xf3\x03\x90\x1bfC\x9 9\xf7C%8\x15\x13\xdb\x94J\xedm\xbd\x13S\xf6<\xefo\ x93\xf9\x8d\x809\x09\xc4\xe1\x12\xbd\x82\x15\xf8Fu \x1d\x9b\xfd\x95ko\x1c\xd6\xb6~\xe2[\xc3\xf6\xca\x0b\xef\xdc\xbdw\x91\xd9(\xd4f\x88p;K \x92Ti\x8f\xd2\x97\xa0\xcc\x01\x0f\xb57\xfbK\xd4\x d1\xec\x14\xde\x0eD.\xac& QL\xe9R\xd5\xcb\xd4\x19e[\xa9\xbe\xb4\xb1q\x1e~\x125 %\041\xdb+@\x0f\xfd\xe9\xfc\xd4W\x10\xc1\xee\xc3\x 82+i\xe4\xf4Jg\r\x1b0<\xf8UGq\xf8-\xb5,\x9b+TjG\xfc\xdcx\xf0,\xf3\x15;\xd8r\xfc\xfb\ xb7d5\xe40\x04\xb1\xe7k\xc4\xa9\x99\x17h_\x1d\xac\ x12\xff\x82\xc8RZ\xf5y\xed}\xab\xcc\x9a\x06va\xdfg \x15W\xe5\x83\xfe:\xd0\x86\xba\xbej\xc7\xfd\x97\x8 a\xba\xfd^\x82\x1e4\x0c\xb7\xeam|_S\xe5\xe9Sgn\x81 \x90\x18\xf0#d\x153\xbb\xd0\x82\x8f>\xfb5sr\xe7\xb 3\xec\xcf\x1c\xa6\\\xa6L\xff\x8d.\x1a>\xc8o\xa0Y\x b1\xfe\xe8y\xfc\xd6\x05\xb4\xd37l\x03s\x1c\x10[\041?\xbb=\xa8\xdb\x07~\x0f\x7f\xd37\xd4\xa5\xb6\x bcs\x12}\041\x07\x948\x96\xc25\xbe\x93\xc9\x11<\xd 5\xe2\x82\xb4\xeb\x94w\x89\x88"\xb5$\xbbd\xf8\xe1* \xe0X\x1c\xb5^\x91\xb0`v\xd9)bb\x06\xc2\x89\xe2\xb 1\x9c\x87\xa3_\x1d\x93V\xd1\x13\x0f\xd7\xc6V\xef,C u\r\x88\\#\xc5\xa6\r\xf6\xf9T-@w\x86\x06\xac\xd5\xbc\xafz\xa8\'\xb1\xb4A\xe2\x19 \x17\xfc:\x9d\\[\x16r\x8f \xff\xb5\xe0I-Y[\x1d{\xdb\xb7_\x9d<F\x01\x16\x0fXX\xd9\xc1\x86o\x9 e\xc0\xa5\xc6\x1b\x1b;\x8c\xd8Lf\x83\xc2H\xb5\xa5\ xea\x9c\xc8fz\n\xd5\x85x\xca\xe8\xad{b\xb1\xf6\x81 \xeb/~tX?i|\xd7C[\xf3\x8c\041\x86+\x1cy\xc96\xdb+\xcf\xc4\xdf\xdd\x c9\x93W\x1c\x04\xbc\xe0\xe5e\xe41$\xbeUe\x8d\xe0\x ac\xf9n\xb9\xa0g\xa0\x14\xc3\xad\xcd5V8\xe3\x84e\x fc\x08e\xa7Pc\xc2\x7f<\x07\xbd(\xd5\xfa\x8a\xacqZ\ xbd\xf9\x19:GgQg\x82#\xc4pE\041\'\xed\xa9\x83\x15\ xc2\xbf`M-F\x13p`U\xad\xd5\xf1\x80\xa9w\xba\xf2\xb3\xd3\xa8\ xcb?*\xce\xbe?\x1a\xfcL"Tf~\x9a\x8dz\x0e\x088eM\xe c\xcf\xc1v8\x8a\xc9\x8c\xc4\xea\x9a\xfa\x83\xfd/F\x90\xf3{\xe2\x0f#*\x95\xa0x\x8b\x13d\xb1\xa6J\xb e\xc8Os\xa9a\x1f\xe6\xafGU\x98z4\xe8\xf3\xf7\xbd\x a7\xd9\x83\xd1\x1c\xc7Qa\x91\xa2\xa7\r\xb2\xe7\x8d KQs-\x1b:\x8dI\xd2q\xbf\xe0\x82\xf2\xbc4\xaf\xf0bzcP*q \xd7y\xbbq|\xed\xb4n\xa9\xadfd\x10S=\xae\xd4b\xb7\ x08rs\xdb\xe4[ySV\n\xdc\xcfLq\x15\xa4\xe4\xea\x7f$p\xe0\xc1\x11u \x7f\x8ab@9\xf2\x88\x84\xc9\xb3\xe9\xef\xbd\xf8\xa 8\xe7\x19%\xf5\xcbv\xa1\x99\x89\xc8}V\xdd\xc6\x89x \x88\x046\xc7\xb0\xe6\xb8Q\x17\xe5\xa3\x05N\x10e\x 98qaq\x05\xecm\\\x06\x85\x9fu\xf9\x01\xf3e\041\x93 \x9b\xc4L\xf2\x08\xc9\xed1\xb1\x84\xf6\xdd\x81\xae :"\x8a\xfa\xfdwV\xe7\rI\x8aE\xe1b\xe6\xce\xa8;\x01 \x1c\xb4r{\xd2\xb73\xc3\x0e\x8a\x90\x02\xe9\xb2\xa e\xad+\xcf\xdf\xd0?,\xadj\xac\xedB@\xaeA\xfaxx\xe9 \xaf>\x1c"t(\xbbq\xcc\x10\xd9\xb8\x99?\x00p\xbf\n* )"\xcf\x81\xda\xdbj#\xf4\x12je\x84\x0b-\xcch\xddLb\xd2z\x04<\xef\xed\xf0\xc4\x94\x95O\xa7 \xef\xde\xd2\xfb\xe5\xe8c,\xedsoi\x1av\xc9\x95r\xc e\x1b\xdf\x947@\xbf-\xc1\x9a\x92X*]\xe69{\xeb2\xa8\xdf\xdf\x7f]c\xddB\x8d\xe6\x87\xea\xf1(\x9b\x92\\\xa5\xf0\x11\ xae\x99\xb57\xe3\xf8\x11\x9e\xd3/\xe1\xf2Ef\xbdY\xd5\xaa\n*\xcf\xf8Y\x9ew\x1f\x9dA\ x9a{\x8a\x97\xd5\xd5"Z_d\x844\x9bn\xf1\xaf\xa5\x8b }\xfb\xcc\xa0\xa6#p\xafQ\xa1\x94\xe4H\x81\xae\xe4: \xbe\xbe\xe7\xceM\xfe\xe2G?,\xedY\x05qA\xef\xaf}z\ xdc`\xe2\x18\x9a\xb5\x05\xb62\xda\xd4L\x1c\x90C\x9 7\x9c\x1eP=\x1e\xb4U\x04zk\x0f=\x16G\xbe\x8f\x13H\ x0fx\x18\xc59NB\x1d=\x96\xe9D\xa1,5\x88\xcf2\xb0\x b0\x9aZ\x06\xe2\xca\xe1\xa5ZSE\x06=\xc0O^\xd9C\x98 iX\xfaJ\xc0?X\xfbyS<\xca\x0e\xbe\xa9c\xed\xf2\xcf\ xbb\xe0~A\xb3\x87\xben\x94\xf5mX"\x1d\x95#\'\xb6\x d8\x99\x95\x86\xec\xdd|\xb7\xd5vk&3)\xe2\xa74W\x9c \x85w\xc1\x1c\x8b\xb0J\xe7-/`\x0cD\xd3\xa8\'G\xd7\xb4\x1a\xd1Q\041}9\x14^\xb2s \x9c\x02"\xe3X\x7f\x12\041\xad\x90r)\xdd\xaa\x07\x 92\x1aeT\x1d\xb4u\x1c\xb8ge^\x1bGo\x1byZtZ\n\xe5\x eb\xca\x89\x8d\xf8\x03v\x14+\x8cb\xad\xae\xec\xe3\ xe2\xfd^\xf2\xa1\xe2\xa9\xfa\xfd\x7f\xb2\r\xfe\xdc \xd3\xb1,p\x0f\xffs\xbev\x9c\x9d\x90\xf5\xaez\x84\ xad\xe2\x99\xf5\x0e\xc6-\x13\xe3D0f\x9d\x0b7\x19\xac\x17m\xea|.*\xe1\xa5\x b4\x80\x1e\041\xd2\x90\xab\x96\x8b@D\x8b"\x8c\rUW\ xcdB\xab_\n\x85\xccE\xc0\xaa8\xc1#_\x15\xc0\xfb\xd f\xb6\xd6&`Ew\x06\x09\x98\xafg\xda\x14?\x84\xb8\x1 0\x90\x84;\xed\xa2]\xc2\x0b\xfb\xf6-\xc3y\x97L\xb3\xc4\xd3\xc7(GH\xdc=\x8a\xb3\x8bP\xd b~\xccH\xdae\xa1%C\xade\xefG\xc3\xb6:\xa5\xe41\x05 \xa1)\x1b\xe7\xe5\xe0\xeeU(4O\x17\x1d\xd1F\xb8qT>= \xfa(\x1a\x9e\xbe\xec\xb9*N\xfa1\xc0\xc0\xe3{\xa5\ x80A\xdf*\xe7>\xda7L\x1ad)\xda\x14\xf9G&3n\xb5oG\x d9\xc5\xee\xd1c\x16\xebV\xea\xaf\x92p\x08\xd4M\x93 \x9a\xc4\xc4\x01\x12\x18\x9e\xcf8U\xa4\x10\xe7p/,\x17\x1e\x11"\xa3\xd7\041\x9c\xf8\xd9\x14\xa6G\xe 54g7\xc0\xab\xd6\xe3\x12\xf2\x03\xca\xcc\xca\xd3ZO \x88j\x02]\xd9\x84m\x840\x8fz?k\x11\x8a\x06\x1a>\x00\xa3\xcf j\x00\x81\xc1\xd6\x85\xe07>\xcd\x9dv\xd78\xe6p\xa0 7\x18l\xcb}\x1bD\xf4\xe7\x12\xb7\x1c~\xf3\x12\xac\ x94\xf0z\xff\xb3\xe4\x81\xa9\n\xb8\x16\xe5\x1d\xcb ZOE\x17y\xee\xc7\xbeu\x90\x12\x0f\x83}\xe5$$\x1f6N \xf4H\xe0\xd7FAq0\xe4\xd2Y\x94\x922\xea\xb2{x\xa2\ x15\xae=J\xc0o\x84\x17\x90\x03K\xbd"\xc4\xff5U\xfe \xb0\xc2\x06\x7fO\xe7pW<\xcdQ\x0f\xb6\x0b:\x07\xcc ~O\xf7N.\x16\xf0\xdd\xd6]D\xe7-kjX4t\x15\xb4\xb4\x7f5\xcb\xae\xb5\r\x19RP\x1a~y\x 9a*\x83/RXB\xb94y\x10\x9a\xd2\xdc\x85\xe0\x8cR%6\x87\xda\x cf\xb8\xce\xf9\x03\xa7\x1f\xa2\xe9\x1e\x13\xd8\xc9 ^\\\xdcA\x83\'8\x1b\xa3\xd6\x84iB\xfe\xbf\xdd\xb0`\xf2|\x 18\xf4\xeb\x1bb\xbe}X\x9e@\n#\xe6\xcfE\x06\x96\xb0 \xa0\x978\xe4\xee\xf2\x81\xaf\x88\x8d-\xc0\xbb\xf2\xee\xe1\x1cp\xb8\x16\xa6\x18#\x8a\x16 Y\041\x8aw\x02ZR%\x8f\xe6.\xcbj\x1dc<\xe4\x0bQ$\x0 3\x13\xddIj\xc0wRn\x99\xce\xbaUG1\xae\xdf~\xa4\xb6 \xbc\xb2\x90\'\x07\\\xc5h\xee\xf78\xb7\'\xa8\xeft\ x0e*\xc9\x8dB;\x85\xf0\x83\xed\xfa\xb2\x01_\xe8\x0 0\xd0\xcd\xa9b\x09YMN\xbc\xbaOH\x90\xb9\x06\xcd\xd 2ijC/\x00\xb3\xde\xfb\xe3u\xc5\xaf\xb0\xa6\xaf\x17\xc0\ x07Z\xaaC\xe2CC\xa9DN\xef\x12\x83M\xf6d\xbc\xf1\xb 98~hY\xdb\xccU*n\xe2\x910K\xdb\x95\x03^\x17\xa1&\x b5o\r\x9e\x8e\xef5b4\x1cn\xefuxt\x82J\x15\xf7\x01\ x03\x10\xa9sx\xb6B\xae\xa3J\x86Kk\xfe{\xc6kl\xe4(\ xe9\xf1\xbb\x18\x0c\xb4j\xdf\x14G\xfc\xa8\xfb\xb3\ x8b\xec\xe9\xb3g#\xf9\x18\xf3\xa66v3\xfa\x1a,\x8e\ x0f\xef\xa4\x00\xb0\xb8+"\xb0\x1a(\xe41\xbd\xa5\x9 5\x19\x12\x80\xd2\'\xc6\x9a&\xc5(\xbb\x07\x987f\xd 8\x10\x9a<\xcfS\x04\xc0K\xa5\x87\xba\x0c\x08\xdb\x f0G\xc2\xbf\xaba\xb2\x03\xb7\x93\xb3\xddS\xfd]\x05\xe8\xcck\x81\xb3cd)S\xef|\xba\xb5C\xf3\xd3\xc 4\x80&\x94\x8a\xd1_\x9d\xdc\xe5\x8c\xfb?\x86#\x8e\ x83\x84\xac\xfe;:\xa25\xb9\x9eU\xd6\x04 \x19\x8eo\x8f\xca\xfb\xbc\x18\x84]\x0f\xcbqT.\xa1f\xaf\x16w\xf6<\xb9\xd3<N\xf4\x9c\x b2\x92\xa4h\xf9\xb8\xa5\x0bQ\xff\x00\xdf\xa6\x8b\x 1d\xaa\xac\x18\xd8\xe6\xfe\x968O\x81T\x9f\xe2\xa2\ xa9U$\xde\x18&\xebW\xee\xd3^\xa9XA^\x1c\x08\xe7j\x 8b\'\x07\xf16\xb1\xcb\xa5\xdd\xa3\xfft\xab=\xe2:\x 96$z\x16\x80h\x91\xc1j\xb5)\xa2\x9a\x85+\xbeY`0\\; \x94Q\x08T\xaa\x9e\x18y\xd31*2\x15\xceA\xa1\x10f\x 87\x96[\xd3\xdb\x85\xb8\xc7#\xcf6\xa5\xb0\x98Q\xd8r\xdd\x 92\xe34\x92db\xc5\xe89\xaaQ\xfd\x11\xbf\xd9\r\xec\ xbb\xae\xe3\xdc\xceB\xe49\xaf|\xb8JF\x1d\xb7.\xf8\ xee`\xc1GrC.\xb5\x8f\xcd\xb0}\xf0\x8cj\x13\xfe\xb4 \xf4 t\x1e\\\xb7T\xb7\xd6\xed6\xecy\x88\xa3\xb3p\x91R\x 0c\x16\xaa\xd0#\xb4R\xf7*7\xa8\xba]W\xefW\xfa:\x8b\xbez\x12i\xbb\x91\xd0>]g\xa9\xcf2\x12.\xe4>\x99\xd0\xc8P\x871\x1f\xc1\x97/\xe4\xbaG\x1f\x940\\\x7fD\xab\xed\x1a;i\x91\xb0\xd fH3\x8d?9\x11\x90\xcc?{\xcf\xef\xdf9xz\x8f\x86SwP\ x060\xf5Y\x0eJ\xec\xf7\xf3\xa6\x998\xf3\x05p\xe2\x b5\xab\xac\x8f\\\x9a\xb7\x14\xef2-\xfd\x95%\x10\xe2\xb2\x08g\x09\x975\xb8\xbc\x1f\xc 5\x96\x97\x11a\x18O\x9c\x97\xd0>\xc8\x80\xa4\xb8K\ xd5\xc2\xe9\xa7\xcb;\x09\xeb\x85\x84\xb6\xee\x00=\ x83\xa1\xc4\x02E\x9b\xb8\041\xa3*\x7f~|\xaaN\xc1\x e4\xc1\xc0\xd0z(\x9c\xf5\xa7t(\xfc\xf1\xe1G\xdd4\x b6\xfb\x13\x83\x817u\xcbB\xc4\x9d\xc4\xb8\x8c\xd2L \xa4\xeb\xba)\xee`\xf0bd\xd3\x07\xd8\xa2\x00\n\x0b H}\x81\x8c\xf9\xe0\x93ck\xd9\xa8C\xed\xc2Y\xa0[\x05r\xb9d\xe9\'\x0c\xe4\xc7\x95\x93s\xea\x09l\xe0 \xba\xef\xe9\xc2&}\xc88e$^\x8a6\x80\xb7j2\xa3e\x00 9\xd2\x0eOg\xa8\xf6\xc9\x01\xfb\\,\x06*x\xa9\xe3\x e2\xb1\xfbN\x00W\xb7\xac\x17\xe4\x88\xd7\x9fUD\x00 \xc8\xc6XB^\xd7\xa6k\xd9\x86\x9fF\xdb\xe6\x08b\xf1 \'\x09\xa0\x0c\x9b\xd3\x1b\xa0cz\x09\xd6\xb6h\x00\ \\xdd\x18kf\x99\x84\n>\xe40\xe0e\x89l\xbf\x02\xba\ xda?\x89\xbaE\xf5\r\xa6\x95\x165>Y\xe6)\xca\x80\x0 bO*\xd0\x91\x9b\xd4\x1c\x17_\xc7\xd7\xa3\xa6s8\xef b\xbb\xa3\xfdS\x8f\x1d^\xbe\xb8Q\xf3\xe1\xc7x\x09L \xcb\x98\xcc\xf5*\x9dG:\x04\xbc\xbd\x94\xe0\xe9.\x c1P\x13tqw\xc8\x04c\xb6\xb1\x8aZ\x96A\xa5\xadO\x9c \xe0\x19.\xf0V\xb1\xcaV@\xdb\x00b\x00\xe3d\x0fq7J\ xe7i\xba\x94\xc5\xec\xf2\x9d\x8c\xdbT|"\xfdQDq\xce \x92J.\xaf\xa7@9S\xb0\xedqk\xf0\xcefk\x05\xd77\xa8 \xca\x1cBm\x0c\x9au\x8eA\x9d\xe3\xa3\xea\x9c\x84<\ xd5\xc8\xc2\xb8\x16\xac\xe0\xfde\x94i\xeb\x15\x8d\ x01R\xaaD"H\xcf\x07\x83|p\x0f\x08\xa3\xbcU\xc0\x1e ,\xbe\xc4\x0exA\xd0\xd0"\x10z\xd74\xa6\xe5\xa1A\xc 8\xd3\n\xbe\xf0<\x1a\x0f,*\x80\x02\x11p\xced\xac0\ x0e\xbfo\xf4\x97\xa7y\xd8|\r\xfeX\x02\xd4\xc8&#\xe 3\xf7\xa5\x8a\xe2e\xd9\x15\x1e#\xc8\x88\xb4\xb7\xb 1\xafV\xe8\xb1\xe5\xd0\'\xcd\xac\x04\x16\xe2yq\xad cE\x85\x97\xc6\x91_\x8b\xb2\xe29\x7f\x8eh\x14B\xe3 \x10\xcc\xdcL8\xb1\xdf}\xef>\xf2@A{\xc1+\xea\xe1Eg \xb3\xc8\xdb\x95\x85\x8f\xd7\x1a>\xbc\xdf\xd3\xa5\ xa1R\x97\x08\xc0J\x94\xe8\xde\xb5E@\x1a\xc3\xc4\xc 0[\x87Q\xa9\x9fHdj\xd3\x87\xbb\xbe\xa8\xe3\xd0\xfe\x ba\xcf\xa5\xd8jP\xeb\xbak\x97 <\x80*\xbe\x91|\xca\xd0\x95\xd9\xcfQ.\x02x7\'\xb7\ xfdC`=\xa6\xf7\x02\x07a\xf0\xde\x08\xa8\xd5\xf6\xd 3DAQ%\x060\xc4\xd5\x16I\xbdS-\x9f\x9e\xddU\xa1\\\041{a\xbc`\xe1\x00\xfb\x0b\xa3 \xd8\x85\xde{\xa9\x91\x8d\xd6\x1b\xb7\x8d\x86\xc1\ xcf\x08C\x1f\x98\xb7\xf0&\xf4\x96\x1e^7\xb2\xc8\x1 8\\`G\xb84Q\xbe\x98:\xa7\xa0\xb0,=\x7f\n7OJ\x0b4.1 0.2710.0\x1a\x80\x01-\xe8\xc4G\xc7u\x80\x16\x7f:\xe9\xa04\x08yk\xedb\xe 8\xc5\xe4\xd6\x94\xbbZ\xbc|\xf3\xcc\x97\xb0\x99\x9 6\x12\xcd\xb9\x15 \xfc\xc4H\xf3\x06\x13\x91\xc3\xb2\x8f\x9d\x04\x95\ x864(x\xd7\\\x96\x00\xa9\xa3\xce\xaf~%\x0co\xdd\xb aQG\x9e[@C nKp6\xa3\x9b\xf4O\xfc\x8bKD\xc5(.\x88A\x90\x9f\x1e \xc0\xd0Zf\xf6P\xc6V\x07@\xa6(?gz\xf0\x0e\xf7R\xa7 \x00\xf5\xeb\x08\xa8\xff\xa8\x13\xf0\xa0`\xb0J\x14 \x00\x00\x00\x01\x00\x00\x00\x14\x00\x05\x00\x1018 c\x93Y1\xe1\xe7'
[Attachment 80357 - Click to enlarge]
[Attachment 80358 - Click to enlarge]
[Attachment 80359 - Click to enlarge]
this path
Can you see where this is wrong? -
@Angela
so many (too many) words for nothing
[Attachment 80363 - Click to enlarge]
thanxs for your explanation, but i can use python from for some years with wks tool (i've make also some script myself) so i know how to find mpd and lic url
I've made some mistakes, i admit, and I've also edited your script (before) because I had mistakes
and i know i need to copy lic url as curl(bash) but i use by default one browser chromium based, FF sometime only. so because with my chromium browser (not chrome...) i get error, i've tried with FF (not my browser for every day). also i don't use FF bur waterfox (fork of Firefox, deployed on github)
and as you can see, on waterfox i can't have curl(bash) but only curl(window) or curl(posix) (and among the 2 I chose the wrong one...!)
Understood this now, after your useless outburst, and also understood that you got wrong instructions on file start.html (which of course I opened and read before asking here in the forum)
[Attachment 80365 - Click to enlarge]
i know CTRL+V is paste and CTRL+Z is one operation back, it seemed weird, but i read this and ran this. Now since your last post, I finally realized my mistake which was for this misunderstanding (now i've edited also my start.html with right command CTRL+V)
Having said that, and admittedly I'm wrong (again) with copy as curl (bash not present on waterfox as you can see from my post 39), however, i thank you for your support, for your last post, clear, even if perhaps a little polemical, and as you can see in the end i also solved all my problems -
also: the same script hell3.py work also with chromium based browser, i get the key, with copy as curl(bash) and paste CRTL+V (not Z!)
instead allhell3.py (the right script for chromium based as you can says) does not work !!
with my chromium based browser, copy lic url as curl(bash) and paste with CRTL+V i get same error from my post 32
with same browser and same script copy lic url as curl(bash) and paste with CRTL+Z (as your script script says) i get a mess:
[Attachment 80366 - Click to enlarge]
[Attachment 80367 - Click to enlarge]
All this stuff has created confusion for me, for a tool that new one for me -
Last edited by A_n_g_e_l_a; 1st Jul 2024 at 11:29.
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
There's a python library for interacting with the clipboard.
https://pypi.org/project/pyperclip/
Might help with these copy/pasting issues. -
No ctrl+v pastes, and ctrl+Z ends the input. Technically you could ctrl+V and do another ctrl+V before ending the inputs with ctrl+z. Ctrl+V and ctrl+Z are two actions not one process.
Yes. So many times and is all your mis-reading and misunderstanding of the information already given or you not reading at all. The fact that you charged in and put a curl through curlconverter .com is staggering. And then you tried to run it in WKS-KEYS because that's what you always do! I understand the language difficulties but google translate works well enough. Shame on you for your lack of care.
Next time read, check you understand, and read again to make sure, But, preferably, share the love and use someone else's software. .... Please!!!Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
for me work only hell3.py and not allhell3.py (with CTRL+V got error, with CTRL+Z got data mess)
hell3.py work in my win SO and on chromium browser AND FF (or waterfox for me)
with copy curl(bash) chromium or curl(posix) on FF
then paste curl data with CTRL+V into cdm window and press ENTER. and i get the key
for both browser. anyway solved from my side -
It was me that introduced pyperclip to VH, a year or so ago. I've used it in a number of earlier scripts and dealt with the outcome. It confused the hell out of those that enjoy confusion as a lifestyle.
I feel that the current process is easy enough to understand without adding extra complications for the troops. Technically there may be backslashes in the copy (an escape character) and sometimes the escapes themselves get escaped - the escaped characters grow in number,Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
another consideration: maybe my mess is also due to the fact that i don't use the window terminal from microsoft store, but cmder, terminal from GitHub. maybe little different
anyway, now all work fine for me too.
thank you for your wondeful script, thanks for support, and sorry again for all my useless post (but isn't easy for everyone). cheersLast edited by whs912km; 2nd Jul 2024 at 03:11.
-
thank you
Downloaded a terminal App in the Microsoft store.
It runs.
Although the error was reported later, it does not matter
I still need to save it to another location.
Thanks again for your program.
[Attachment 80376 - Click to enlarge]
[Attachment 80377 - Click to enlarge]
I can read re's commands and use re's commands.
It's no big deal that there is a running error in the back
Thanks again for your program.
Thank you!!!
A_n_g_e_l_a!!! -
Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
Sites that use one-time-only tokens
If a site uses a one-time-only token then the browser uses it up. In normal use, that is.
However, in the browser there is a menu item in the Web-Tools window, (shift+ctrl+c), under the network tab, that allows you to disable a particular request for a url. So if you allow the browser to load properly once, find the url for the license and then block it requesting, then Ctrl+R to reload the page, it will deliver you a license url with an unused token. Allhell3.py will work in these circumstances BUT ONLY with your own CDM. The one in the kit is an emulated CDM and will not work on heavily protected sites.
For those boys that always assume that when a script does not work, it must be the fault of the script, kindly think again!
For this script, technically there is absolutely no difference in the manner the script presents requests to the license server from the way the browser does. If it works in your browser, whether with or without subscription or sign-in, then it will work in the script.
It will only fail because of operator error. Your error! Just remember that before you post.
(I posted most of this in another thread; it seems more useful here)Noob Starter Pack. Just download every Widevine mpd! Not kidding!.
https://files.videohelp.com/u/301890/hellyes6.zip -
[Attachment 80394 - Click to enlarge]
[Attachment 80395 - Click to enlarge]
I succeeded, but I don't like configuring the environment very much, which will make me feel very troublesome. I like configuring the absolute path.
Thank you at last
A_n_g_e_l_a!!!
You can add the code of -mt in the place where you edit re and download it at the same time.
The second one is whether you can write a code of-use --use-shaka-packager. I feel that some websites may have poor compatibility with mp4decrypt.
With shaka-packager, I feel the compatibility will be better.
The third hope is to add a --save-dir command. Of course, you don't need to change the location, but it is very troublesome to change the environment configuration, which is why I like the absolute path.
Fourth, you can choose on --auto-select to automatically select the best stream.
The current program is very good, and I respect other people's code programs very much. This is more like a work of art to me. I can only use or use it, and I have no right to modify it, because I respect every effort.
This is my personal opinion.
Thank you again.
A_n_g_e_l_a!!! -
@A_n_g_e_l_a
Thank you for this tool, but more importantly to me, for the venv. It proved immensely useful for running various scripts that would otherwise conflict.
Your program works seamlessly, however one hurdle Im unable to cross despite tinkering with it since yesterday. I can run the script only within the hellyes2 folder and vis-a-vis the env running within it. No problems there.
I have the folder set in PATH, still if I change the directory to anywhere else, device.wvd(set in the same .py folder) stops getting detected with error:
Code:Data: None Traceback (most recent call last): File "C:\Users\Desktop\allhell3.py", line 424, in <module> key_results = get_key(pssh, lic_url) ^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Desktop\allhell3.py", line 166, in get_key device = Device.load(WVD_PATH) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Desktop Tools\hellyes2\Lib\site-packages\pywidevine\device.py", line 163, in load with Path(path).open(mode="rb") as f: ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\pathlib.py", line 1013, in open return io.open(self, mode, buffering, encoding, errors, newline) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: 'device.wvd'
As a workaround, I tried to set the Descriptor file to my cdm folder via the env running pywidevine, but that too doesnt seem to work.
Any way I can get a fix for this?Last edited by Karn; 10th Jul 2024 at 01:15.
Similar Threads
-
"From Hell to Texas (1958)-And Disney's Vault Hoarders from Hell
By dped91 in forum DVD RippingReplies: 5Last Post: 9th Jul 2023, 13:48 -
Having a hell of a time transfering VHS
By Inniss in forum CapturingReplies: 2Last Post: 28th Mar 2023, 19:18 -
Panasonic HC-x1500 loose battery trick
By realspeed in forum Newbie / General discussionsReplies: 0Last Post: 7th Jul 2022, 10:39 -
very Buggy if u loose password - back after 10 years
By melani in forum FeedbackReplies: 2Last Post: 25th Jan 2022, 21:56 -
USB-C Braided 10' Cord Loose And Doesn't Charge Tablet
By Tom Saurus in forum Off topicReplies: 5Last Post: 30th Dec 2020, 23:42