From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp-42a9.mail.infomaniak.ch (smtp-42a9.mail.infomaniak.ch [84.16.66.169]) by mail.toke.dk (Postfix) with ESMTPS id E2184A92D49 for ; Wed, 23 Oct 2024 08:42:35 +0200 (CEST) Authentication-Results: mail.toke.dk; dkim=pass (2048-bit key; unprotected) header.d=mecadu.org header.i=@mecadu.org header.a=rsa-sha256 header.s=20230720 header.b=LjOUfHtK Received: from smtp-4-0000.mail.infomaniak.ch (smtp-4-0000.mail.infomaniak.ch [10.7.10.107]) by smtp-4-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4XYKGy51r1zrhW for ; Wed, 23 Oct 2024 08:42:34 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mecadu.org; s=20230720; t=1729665754; bh=TIpmvcgjYouIZ8wKqwJ+GZZ++kF2GJu4NliQpOHCMaU=; h=From:To:Subject:Date:From; b=LjOUfHtK/ezY3LQVv2iO+aA6uggag3sL0cBi2OqXGKuYfy8ido3OU8BNLwWudxmpl 8sj1kdrMJRDoNETdFGnn7jBtfrDLGTarJPsq50bWpfTqBkiPu6MPuY9Q14sKOAwpJ8 WhEncuOSA0fcPUfBxCixPuSnxAwNyKizMGBXNjCqslxu7WCEa3Bd6P/fGHYD00c9ET 7s6BrFZWPcx2DmMVuB8+Bl+f5rWwp8ZD7giFyAsywPeZO23j5T7yuEp5HOKPuvO3UN NL2Bcd2M4VS82E19ALQkYvm9zcnmKEzHi3fseECOgapHKFiHuAuASI8t/cHQHm4iio AwCWlpIO3UMjA== Received: from unknown by smtp-4-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4XYKGy27D6zV75 for ; Wed, 23 Oct 2024 08:42:34 +0200 (CEST) From: Franck Routier To: galene@lists.galene.org Date: Wed, 23 Oct 2024 08:42:33 +0200 Message-ID: <1987495.PYKUYFuaPT@tibook> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="nextPart22471664.EfDdHjke4D" Content-Transfer-Encoding: 7Bit X-Infomaniak-Routing: alpha Message-ID-Hash: LBYN63L5O2F2PGBA6IPKELYARDK5FFYX X-Message-ID-Hash: LBYN63L5O2F2PGBA6IPKELYARDK5FFYX X-MailFrom: alci@mecadu.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Subject: [Galene] Help needed on network settings List-Id: =?utf-8?q?Gal=C3=A8ne_videoconferencing_server_discussion_list?= Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: This is a multi-part message in MIME format. --nextPart22471664.EfDdHjke4D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" Hi, I'm trying to setup a galene instance in the following context: * one physical server (hosted at OVH) with public IP ww.xx.yy.zz * on this server, incus (https://linuxcontainers.org/incus/docs/main/) is u= sed to handle different containers: galene is in one of this containers (ru= nning Ubuntu) * another container is running nginx as a reverse proxy * dns name galene.mydomain.net points to ww.xx.yy.zz What I did is: * on the main server, forward ports tcp/1194, upd/1194 and udp/18100-19100 = to same ports on galene container (I tested with netcat that this port forwarding is effective) * on nginx, proxypass url https://galene.mydomain.net to galene container o= n port 10000: server {=20 if ($host =3D galene.mydomain.net) {=20 return 301 https://$host$request_uri;=20 } listen 80;=20 server_name galene.mydomain.net;=20 return 301 https://$host$request_uri;=20 } server {=20 listen 443 http2 ssl;=20 server_name galene.mydomain.net;=20 location / {=20 proxy_pass http://10.87.94.201:10000/;=20 proxy_set_header Host $http_host;=20 proxy_set_header X-Forwarded-Host $host:$server_port;=20 proxy_set_header X-Forwarded-Server $host;=20 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;=20 proxy_set_header X-Real-IP $remote_addr;=20 proxy_set_header Upgrade $http_upgrade;=20 proxy_set_header Connection "Upgrade";=20 }=20 ssl_certificate /etc/letsencrypt/live/several.mydomain.net/fullchain.pem= ; # managed by Certbot=20 ssl_certificate_key /etc/letsencrypt/live/several.mydomain.net/privkey.p= em; # managed by Certbot * on galene container, systemd service is launched with 'galene -http 10.87= =2E94.201:10000 -insecure -turn ww.xx.yy.zz :1194 -udp-range 18100-19100' systemctl status galene says: =E2=97=8F galene.service - Galene=20 Loaded: loaded (/etc/systemd/system/galene.service; enabled; preset: en= abled)=20 Drop-In: /run/systemd/system/service.d=20 =E2=94=94=E2=94=80zzz-lxc-service.conf=20 Active: active (running) since Tue 2024-10-22 11:57:07 UTC; 18h ago=20 Main PID: 535 (galene)=20 Tasks: 17 (limit: 76943)=20 Memory: 4.9M (peak: 9.5M)=20 CPU: 2.413s=20 CGroup: /system.slice/galene.service=20 =E2=94=94=E2=94=80535 /home/ubuntu/galene/galene -http 10.87.94= =2E201:10000 -insecure -turn ww.xx.yy.zz:1194 -udp-range 18100-19100=20 Oct 22 11:57:07 galene galene[535]: 2024/10/22 11:57:07 Starting built-in T= URN server on ww.xx.yy.zz:1194=20 Oct 22 11:57:07 galene galene[535]: 2024/10/22 11:57:07 Relay test successf= ul in 12.038506ms, RTT =3D 162.921=C2=B5s=20 Oct 22 14:54:17 galene galene[535]: turn ERROR: 2024/10/22 14:54:17 Failed = to handle datagram: failed to create stun message from packet: unexpected E= OF: not enough bytes to read header=20 Oct 22 18:00:47 galene galene[535]: turn ERROR: 2024/10/22 18:00:47 Failed = to handle datagram: failed to create stun message from packet: unexpected E= OF: not enough bytes to read header=20 Oct 22 21:26:00 galene galene[535]: turn ERROR: 2024/10/22 21:26:00 Failed = to handle datagram: failed to create stun message from packet: unexpected E= OF: not enough bytes to read header=20 Oct 22 22:37:18 galene galene[535]: turn ERROR: 2024/10/22 22:37:18 Failed = to handle datagram: failed to create stun message from packet: unexpected E= OF: not enough bytes to read header=20 Oct 22 23:57:07 galene galene[535]: 2024/10/22 23:57:07 Relay test successf= ul in 18.841846ms, RTT =3D 203.679=C2=B5s=20 Oct 23 01:02:12 galene galene[535]: turn ERROR: 2024/10/23 01:02:12 Failed = to handle datagram: failed to create stun message from packet: unexpected E= OF: not enough bytes to read header=20 Oct 23 05:03:13 galene galene[535]: turn ERROR: 2024/10/23 05:03:13 Failed = to handle datagram: failed to create stun message from packet: unexpected E= OF: not enough bytes to read header=20 Oct 23 06:29:59 galene galene[535]: turn ERROR: 2024/10/23 06:29:59 Failed = to handle datagram: failed to create stun message from packet: unexpected E= OF: not enough bytes to read header Now, I can access the web UI, but it seems RTC cannot be established. What am I missed ? I'm not a network wizard, any help is appreciated :-) =46ranck --nextPart22471664.EfDdHjke4D Content-Transfer-Encoding: base64 Content-Type: text/html; charset="UTF-8" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD1VVEYtOCI+CjwvaGVhZD4KPGJvZHk+PHAgc3R5bGU9Im1hcmdpbi10 b3A6MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MDsiPkhpLDwv cD4KPGJyIC8+PHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxl ZnQ6MDttYXJnaW4tcmlnaHQ6MDsiPkknbSB0cnlpbmcgdG8gc2V0dXAgYSBnYWxlbmUgaW5zdGFu Y2UgaW4gdGhlIGZvbGxvd2luZyBjb250ZXh0OjwvcD4KPGJyIC8+PHAgc3R5bGU9Im1hcmdpbi10 b3A6MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MDsiPiogb25l IHBoeXNpY2FsIHNlcnZlciAoaG9zdGVkIGF0IE9WSCkgd2l0aCBwdWJsaWMgSVAgd3cueHgueXku eno8L3A+CjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO21hcmdpbi1sZWZ0 OjA7bWFyZ2luLXJpZ2h0OjA7Ij4qIG9uIHRoaXMgc2VydmVyLCBpbmN1cyAoPGEgaHJlZj0iaHR0 cHM6Ly9saW51eGNvbnRhaW5lcnMub3JnL2luY3VzL2RvY3MvbWFpbi8iPmh0dHBzOi8vbGludXhj b250YWluZXJzLm9yZy9pbmN1cy9kb2NzL21haW4vPC9hPikgaXMgdXNlZCB0byBoYW5kbGUgZGlm ZmVyZW50IGNvbnRhaW5lcnM6IGdhbGVuZSBpcyBpbiBvbmUgb2YgdGhpcyBjb250YWluZXJzIChy dW5uaW5nIFVidW50dSk8L3A+CjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTow O21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7Ij4qIGFub3RoZXIgY29udGFpbmVyIGlzIHJ1 bm5pbmcgbmdpbnggYXMgYSByZXZlcnNlIHByb3h5PC9wPgo8cCBzdHlsZT0ibWFyZ2luLXRvcDow O21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowOyI+KiBkbnMgbmFt ZSBnYWxlbmUubXlkb21haW4ubmV0IHBvaW50cyB0byB3dy54eC55eS56ejwvcD4KPGJyIC8+PHAg c3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6MDttYXJnaW4t cmlnaHQ6MDsiPldoYXQgSSBkaWQgaXM6PC9wPgo8YnIgLz48cCBzdHlsZT0ibWFyZ2luLXRvcDow O21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowOyI+KiBvbiB0aGUg bWFpbiBzZXJ2ZXIsIGZvcndhcmQgcG9ydHMgdGNwLzExOTQsIHVwZC8xMTk0IGFuZCB1ZHAvMTgx MDAtMTkxMDAgdG8gc2FtZSBwb3J0cyBvbiBnYWxlbmUgY29udGFpbmVyPC9wPgo8cCBzdHlsZT0i bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDow OyI+KEkgdGVzdGVkIHdpdGggbmV0Y2F0IHRoYXQgdGhpcyBwb3J0IGZvcndhcmRpbmcgaXMgZWZm ZWN0aXZlKTwvcD4KPGJyIC8+PHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7 bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MDsiPiogb24gbmdpbngsIHByb3h5cGFzcyB1cmwg aHR0cHM6Ly9nYWxlbmUubXlkb21haW4ubmV0IHRvIGdhbGVuZSBjb250YWluZXIgb24gcG9ydCAx MDAwMDo8L3A+CjxiciAvPjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO21h cmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6bW9u b3NwYWNlOyI+c2VydmVyIHsgPGJyIC8+wqDCoMKgaWYgKCRob3N0ID0gZ2FsZW5lLm15ZG9tYWlu Lm5ldCkgeyA8YnIgLz7CoMKgwqDCoMKgwqDCoHJldHVybiAzMDEgaHR0cHM6Ly8kaG9zdCRyZXF1 ZXN0X3VyaTsgPGJyIC8+wqDCoMKgfTxiciAvPsKgwqDCoGxpc3RlbiA4MDsgPGJyIC8+wqDCoMKg c2VydmVyX25hbWUgZ2FsZW5lLm15ZG9tYWluLm5ldDsgPGJyIC8+wqDCoMKgcmV0dXJuIDMwMSBo dHRwczovLyRob3N0JHJlcXVlc3RfdXJpOyA8YnIgLz59PC9wPgo8cD4mbmJzcDs8cCBzdHlsZT0i bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDow OyI+c2VydmVyIHsgPGJyIC8+wqDCoMKgbGlzdGVuIMKgNDQzIGh0dHAyIHNzbDsgPGJyIC8+wqDC oMKgc2VydmVyX25hbWUgZ2FsZW5lLm15ZG9tYWluLm5ldDsgPC9wPgo8cD4mbmJzcDs8cCBzdHls ZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdo dDowOyI+wqDCoMKgbG9jYXRpb24gLyB7IDxiciAvPsKgwqDCoMKgwqDCoMKgcHJveHlfcGFzcyBo dHRwOi8vMTAuODcuOTQuMjAxOjEwMDAwLzsgPGJyIC8+wqDCoMKgwqDCoMKgwqBwcm94eV9zZXRf aGVhZGVyIEhvc3QgJGh0dHBfaG9zdDsgPGJyIC8+wqDCoMKgwqDCoMKgwqBwcm94eV9zZXRfaGVh ZGVyIFgtRm9yd2FyZGVkLUhvc3QgJGhvc3Q6JHNlcnZlcl9wb3J0OyA8YnIgLz7CoMKgwqDCoMKg wqDCoHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtU2VydmVyICRob3N0OyA8YnIgLz7CoMKg wqDCoMKgwqDCoHByb3h5X3NldF9oZWFkZXIgWC1Gb3J3YXJkZWQtRm9yICRwcm94eV9hZGRfeF9m b3J3YXJkZWRfZm9yOyA8YnIgLz7CoMKgwqDCoMKgwqDCoHByb3h5X3NldF9oZWFkZXIgwqBYLVJl YWwtSVAgJHJlbW90ZV9hZGRyOyA8YnIgLz7CoMKgwqDCoMKgwqDCoHByb3h5X3NldF9oZWFkZXIg VXBncmFkZSAkaHR0cF91cGdyYWRlOyA8YnIgLz7CoMKgwqDCoMKgwqDCoHByb3h5X3NldF9oZWFk ZXIgQ29ubmVjdGlvbiAmcXVvdDtVcGdyYWRlJnF1b3Q7OyA8YnIgLz7CoMKgwqB9IDwvcD4KPHA+ Jm5ic3A7PHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6 MDttYXJnaW4tcmlnaHQ6MDsiPsKgwqDCoHNzbF9jZXJ0aWZpY2F0ZSAvZXRjL2xldHNlbmNyeXB0 L2xpdmUvc2V2ZXJhbC5teWRvbWFpbi5uZXQvZnVsbGNoYWluLnBlbTsgIyBtYW5hZ2VkIGJ5IENl cnRib3QgPGJyIC8+wqDCoMKgc3NsX2NlcnRpZmljYXRlX2tleSAvZXRjL2xldHNlbmNyeXB0L2xp dmUvc2V2ZXJhbC5teWRvbWFpbi5uZXQvcHJpdmtleS5wZW07ICMgbWFuYWdlZCBieSBDZXJ0Ym90 PC9wPgo8cD4mbmJzcDs8cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDttYXJn aW4tbGVmdDowO21hcmdpbi1yaWdodDowOyI+KiBvbiBnYWxlbmUgY29udGFpbmVyLCBzeXN0ZW1k IHNlcnZpY2UgaXMgbGF1bmNoZWQgd2l0aCAnPHNwYW4gc3R5bGU9ImNvbG9yOiMwMDAwMDA7Ij48 c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyI+Z2FsZW5lIC1odHRwIDEwLjg3 Ljk0LjIwMToxMDAwMCAtaW5zZWN1cmUgLXR1cm4gd3cueHgueXkueno8L3NwYW4+PC9zcGFuPjxi ciAvPjoxMTk0IC11ZHAtcmFuZ2UgMTgxMDAtMTkxMDAnPGJyIC8+PGJyIC8+c3lzdGVtY3RsIHN0 YXR1cyBnYWxlbmUgc2F5czo8L3A+CjxiciAvPjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2lu LWJvdHRvbTowO21hcmdpbi1sZWZ0OjA7bWFyZ2luLXJpZ2h0OjA7Ij48c3BhbiBzdHlsZT0iYmFj a2dyb3VuZC1jb2xvcjojZmZmZmZmOyI+PHNwYW4gc3R5bGU9ImNvbG9yOiM1NGZmNTQ7Ij48c3Ry b25nPuKXjzwvc3Ryb25nPjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMDsiPiZuYnNw O2dhbGVuZS5zZXJ2aWNlIC0gR2FsZW5lIDwvc3Bhbj48L3NwYW4+PGJyIC8+wqDCoMKgwqBMb2Fk ZWQ6IGxvYWRlZCAoL2V0Yy9zeXN0ZW1kL3N5c3RlbS9nYWxlbmUuc2VydmljZTsgPHNwYW4gc3R5 bGU9ImJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjsiPjxzcGFuIHN0eWxlPSJjb2xvcjojNTRmZjU0 OyI+PHN0cm9uZz5lbmFibGVkPC9zdHJvbmc+PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojMDAw MDAwOyI+OyBwcmVzZXQ6IDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzU0ZmY1NDsiPjxzdHJv bmc+ZW5hYmxlZDwvc3Ryb25nPjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzAwMDAwMDsiPikg PC9zcGFuPjwvc3Bhbj48YnIgLz7CoMKgwqBEcm9wLUluOiAvcnVuL3N5c3RlbWQvc3lzdGVtL3Nl cnZpY2UuZCA8YnIgLz7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDilJTilIB6enotbHhjLXNlcnZp Y2UuY29uZiA8YnIgLz7CoMKgwqDCoEFjdGl2ZTogPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29s b3I6I2ZmZmZmZjsiPjxzcGFuIHN0eWxlPSJjb2xvcjojNTRmZjU0OyI+PHN0cm9uZz5hY3RpdmUg KHJ1bm5pbmcpPC9zdHJvbmc+PC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojMDAwMDAwOyI+Jm5i c3A7c2luY2UgVHVlIDIwMjQtMTAtMjIgMTE6NTc6MDcgVVRDOyAxOGggYWdvIDwvc3Bhbj48L3Nw YW4+PGJyIC8+wqDCoE1haW4gUElEOiA1MzUgKGdhbGVuZSkgPGJyIC8+wqDCoMKgwqDCoFRhc2tz OiAxNyAobGltaXQ6IDc2OTQzKSA8YnIgLz7CoMKgwqDCoE1lbW9yeTogNC45TSAocGVhazogOS41 TSkgPGJyIC8+wqDCoMKgwqDCoMKgwqBDUFU6IDIuNDEzcyA8YnIgLz7CoMKgwqDCoENHcm91cDog L3N5c3RlbS5zbGljZS9nYWxlbmUuc2VydmljZSA8YnIgLz7CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDilJTilIA8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyI+PHNwYW4gc3R5 bGU9ImNvbG9yOiM4YThhOGE7Ij41MzUgL2hvbWUvdWJ1bnR1L2dhbGVuZS9nYWxlbmUgLWh0dHAg MTAuODcuOTQuMjAxOjEwMDAwIC1pbnNlY3VyZSAtdHVybiA8L3NwYW4+PHNwYW4gc3R5bGU9ImNv bG9yOiMwMDAwMDA7Ij53dy54eC55eS56ejwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzhhOGE4 YTsiPjoxMTk0IC11ZHAtcmFuZ2UgMTgxMDAtMTkxMDA8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9y OiMwMDAwMDA7Ij4mbmJzcDs8L3NwYW4+PC9zcGFuPjxiciAvPjxiciAvPk9jdCAyMiAxMTo1Nzow NyBnYWxlbmUgZ2FsZW5lWzUzNV06IDIwMjQvMTAvMjIgMTE6NTc6MDcgU3RhcnRpbmcgYnVpbHQt aW4gVFVSTiBzZXJ2ZXIgb24gPHNwYW4gc3R5bGU9ImNvbG9yOiMwMDAwMDA7Ij48c3BhbiBzdHls ZT0iYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmOyI+d3cueHgueXkueno8L3NwYW4+PC9zcGFuPjox MTk0IDxiciAvPk9jdCAyMiAxMTo1NzowNyBnYWxlbmUgZ2FsZW5lWzUzNV06IDIwMjQvMTAvMjIg MTE6NTc6MDcgUmVsYXkgdGVzdCBzdWNjZXNzZnVsIGluIDEyLjAzODUwNm1zLCBSVFQgPSAxNjIu OTIxwrVzIDxiciAvPk9jdCAyMiAxNDo1NDoxNyBnYWxlbmUgZ2FsZW5lWzUzNV06IHR1cm4gRVJS T1I6IDIwMjQvMTAvMjIgMTQ6NTQ6MTcgRmFpbGVkIHRvIGhhbmRsZSBkYXRhZ3JhbTogZmFpbGVk IHRvIGNyZWF0ZSBzdHVuIG1lc3NhZ2UgZnJvbSBwYWNrZXQ6IHVuZXhwZWN0ZWQgRU9GOiBub3Qg ZW5vdWdoIGJ5dGVzIHRvIHJlYWQgaGVhZGVyIDxiciAvPk9jdCAyMiAxODowMDo0NyBnYWxlbmUg Z2FsZW5lWzUzNV06IHR1cm4gRVJST1I6IDIwMjQvMTAvMjIgMTg6MDA6NDcgRmFpbGVkIHRvIGhh bmRsZSBkYXRhZ3JhbTogZmFpbGVkIHRvIGNyZWF0ZSBzdHVuIG1lc3NhZ2UgZnJvbSBwYWNrZXQ6 IHVuZXhwZWN0ZWQgRU9GOiBub3QgZW5vdWdoIGJ5dGVzIHRvIHJlYWQgaGVhZGVyIDxiciAvPk9j dCAyMiAyMToyNjowMCBnYWxlbmUgZ2FsZW5lWzUzNV06IHR1cm4gRVJST1I6IDIwMjQvMTAvMjIg MjE6MjY6MDAgRmFpbGVkIHRvIGhhbmRsZSBkYXRhZ3JhbTogZmFpbGVkIHRvIGNyZWF0ZSBzdHVu IG1lc3NhZ2UgZnJvbSBwYWNrZXQ6IHVuZXhwZWN0ZWQgRU9GOiBub3QgZW5vdWdoIGJ5dGVzIHRv IHJlYWQgaGVhZGVyIDxiciAvPk9jdCAyMiAyMjozNzoxOCBnYWxlbmUgZ2FsZW5lWzUzNV06IHR1 cm4gRVJST1I6IDIwMjQvMTAvMjIgMjI6Mzc6MTggRmFpbGVkIHRvIGhhbmRsZSBkYXRhZ3JhbTog ZmFpbGVkIHRvIGNyZWF0ZSBzdHVuIG1lc3NhZ2UgZnJvbSBwYWNrZXQ6IHVuZXhwZWN0ZWQgRU9G OiBub3QgZW5vdWdoIGJ5dGVzIHRvIHJlYWQgaGVhZGVyIDxiciAvPk9jdCAyMiAyMzo1NzowNyBn YWxlbmUgZ2FsZW5lWzUzNV06IDIwMjQvMTAvMjIgMjM6NTc6MDcgUmVsYXkgdGVzdCBzdWNjZXNz ZnVsIGluIDE4Ljg0MTg0Nm1zLCBSVFQgPSAyMDMuNjc5wrVzIDxiciAvPk9jdCAyMyAwMTowMjox MiBnYWxlbmUgZ2FsZW5lWzUzNV06IHR1cm4gRVJST1I6IDIwMjQvMTAvMjMgMDE6MDI6MTIgRmFp bGVkIHRvIGhhbmRsZSBkYXRhZ3JhbTogZmFpbGVkIHRvIGNyZWF0ZSBzdHVuIG1lc3NhZ2UgZnJv bSBwYWNrZXQ6IHVuZXhwZWN0ZWQgRU9GOiBub3QgZW5vdWdoIGJ5dGVzIHRvIHJlYWQgaGVhZGVy IDxiciAvPk9jdCAyMyAwNTowMzoxMyBnYWxlbmUgZ2FsZW5lWzUzNV06IHR1cm4gRVJST1I6IDIw MjQvMTAvMjMgMDU6MDM6MTMgRmFpbGVkIHRvIGhhbmRsZSBkYXRhZ3JhbTogZmFpbGVkIHRvIGNy ZWF0ZSBzdHVuIG1lc3NhZ2UgZnJvbSBwYWNrZXQ6IHVuZXhwZWN0ZWQgRU9GOiBub3QgZW5vdWdo IGJ5dGVzIHRvIHJlYWQgaGVhZGVyIDxiciAvPk9jdCAyMyAwNjoyOTo1OSBnYWxlbmUgZ2FsZW5l WzUzNV06IHR1cm4gRVJST1I6IDIwMjQvMTAvMjMgMDY6Mjk6NTkgRmFpbGVkIHRvIGhhbmRsZSBk YXRhZ3JhbTogZmFpbGVkIHRvIGNyZWF0ZSBzdHVuIG1lc3NhZ2UgZnJvbSBwYWNrZXQ6IHVuZXhw ZWN0ZWQgRU9GOiBub3QgZW5vdWdoIGJ5dGVzIHRvIHJlYWQgaGVhZGVyPC9wPgo8cD4mbmJzcDs8 cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDowO21hcmdp bi1yaWdodDowOyI+Tm93LCBJIGNhbiBhY2Nlc3MgdGhlIHdlYiBVSSwgYnV0IGl0IHNlZW1zIFJU QyBjYW5ub3QgYmUgZXN0YWJsaXNoZWQuPC9zcGFuPjwvcD4KPGJyIC8+PHAgc3R5bGU9Im1hcmdp bi10b3A6MDttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MDsiPldo YXQgYW0gSSBtaXNzZWQgPzwvcD4KPHAgc3R5bGU9Im1hcmdpbi10b3A6MDttYXJnaW4tYm90dG9t OjA7bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6MDsiPkknbSBub3QgYSBuZXR3b3JrIHdpemFy ZCwgYW55IGhlbHAgaXMgYXBwcmVjaWF0ZWQgOi0pPC9wPgo8YnIgLz48cCBzdHlsZT0ibWFyZ2lu LXRvcDowO21hcmdpbi1ib3R0b206MDttYXJnaW4tbGVmdDowO21hcmdpbi1yaWdodDowOyI+RnJh bmNrPC9wPgo8L2JvZHk+CjwvaHRtbD4= --nextPart22471664.EfDdHjke4D--