NEWS
MCP3008 in IoBroker einbinden
-
Hallo, nach über 5 Jahren habe ich meinen Raspie4 32bit auf Bookworm 64bit umgestellt und konnte IoBroker auch bis auf SPI MCP3008 wieder herstellen.
Da ich 8 analoge Kanäle (Feuchtesensor u.s.w) einbinde hatte ich hierzu den MCP3008 über getrennte + 3,3V an Pin 23, 21, 19 und 24 (10Mosi, 9Miso, 11 SCLK 8CEO) am Raspi angeschlossen.
In der Raspi-Config habe ich SPI eingeschaltet.
Alle Schritte die ich mir damals aufgeschrieben hatte funktionieren scheinbar nicht mehr unter 64bit.
z.B gpio readall.sudo gpio readall gpio: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
mit gpioinfo bekomme ich folgende Liste
pi@raspberrypi:~ $ gpioinfo gpiochip0 - 58 lines: line 0: "ID_SDA" unused input active-high line 1: "ID_SCL" unused input active-high line 2: "GPIO2" unused input active-high line 3: "GPIO3" unused input active-high line 4: "GPIO4" unused input active-high line 5: "GPIO5" unused input active-high line 6: "GPIO6" unused input active-high line 7: "GPIO7" "spi0 CS1" output active-low [used] line 8: "GPIO8" "spi0 CS0" output active-low [used] line 9: "GPIO9" unused input active-high line 10: "GPIO10" unused input active-high line 11: "GPIO11" unused input active-high line 12: "GPIO12" "opengpio_0_12_output" output active-high [used] line 13: "GPIO13" "opengpio_0_13_output" output active-high [used] line 14: "GPIO14" unused input active-high line 15: "GPIO15" unused input active-high line 16: "GPIO16" "opengpio_0_16_output" output active-high [used] line 17: "GPIO17" "opengpio_0_17_watch" input active-high [used] line 18: "GPIO18" "opengpio_0_18_watch" input active-high [used] line 19: "GPIO19" "opengpio_0_19_output" output active-high [used] line 20: "GPIO20" "opengpio_0_20_output" output active-high [used] line 21: "GPIO21" "opengpio_0_21_output" output active-high [used] line 22: "GPIO22" "opengpio_0_22_watch" input active-high [used] line 23: "GPIO23" "opengpio_0_23_watch" input active-high [used] line 24: "GPIO24" "opengpio_0_24_watch" input active-high [used] line 25: "GPIO25" "opengpio_0_25_output" output active-high [used] line 26: "GPIO26" "opengpio_0_26_output" output active-high [used] line 27: "GPIO27" "opengpio_0_27_watch" input active-high [used] line 28: "RGMII_MDIO" unused input active-high line 29: "RGMIO_MDC" unused input active-high line 30: "CTS0" unused input active-high line 31: "RTS0" unused input active-high line 32: "TXD0" unused input active-high line 33: "RXD0" unused input active-high line 34: "SD1_CLK" unused input active-high line 35: "SD1_CMD" unused input active-high line 36: "SD1_DATA0" unused input active-high line 37: "SD1_DATA1" unused input active-high line 38: "SD1_DATA2" unused input active-high line 39: "SD1_DATA3" unused input active-high line 40: "PWM0_MISO" unused input active-high line 41: "PWM1_MOSI" unused input active-high line 42: "STATUS_LED_G_CLK" "ACT" output active-high [used] line 43: "SPIFLASH_CE_N" unused input active-high line 44: "SDA0" unused input active-high line 45: "SCL0" unused input active-high line 46: "RGMII_RXCLK" unused input active-high line 47: "RGMII_RXCTL" unused input active-high line 48: "RGMII_RXD0" unused input active-high line 49: "RGMII_RXD1" unused input active-high line 50: "RGMII_RXD2" unused input active-high line 51: "RGMII_RXD3" unused input active-high line 52: "RGMII_TXCLK" unused input active-high line 53: "RGMII_TXCTL" unused input active-high line 54: "RGMII_TXD0" unused input active-high line 55: "RGMII_TXD1" unused input active-high line 56: "RGMII_TXD2" unused input active-high line 57: "RGMII_TXD3" unused input active-high gpiochip1 - 8 lines: line 0: "BT_ON" "shutdown" output active-high [used] line 1: "WL_ON" unused output active-high line 2: "PWR_LED_OFF" "PWR" output active-low [used] line 3: "GLOBAL_RESET" unused output active-high line 4: "VDD_SD_IO_SEL" "vdd-sd-io" output active-high [used] line 5: "CAM_GPIO" "cam1_regulator" output active-high [used] line 6: "SD_PWR_ON" "regulator-sd-vcc" output active-high [used] line 7: "SD_OC_N" unused input active-high gpiochip2 - 4 lines: line 0: unnamed kernel input active-high [used] line 1: unnamed kernel input active-high [used] line 2: unnamed kernel input active-high [used] line 3: unnamed kernel input active-high [used] gpiochip0 - 58 lines: line 0: "ID_SDA" unused input active-high line 1: "ID_SCL" unused input active-high line 2: "GPIO2" unused input active-high line 3: "GPIO3" unused input active-high line 4: "GPIO4" unused input active-high line 5: "GPIO5" unused input active-high line 6: "GPIO6" unused input active-high line 7: "GPIO7" "spi0 CS1" output active-low [used] line 8: "GPIO8" "spi0 CS0" output active-low [used] line 9: "GPIO9" unused input active-high line 10: "GPIO10" unused input active-high line 11: "GPIO11" unused input active-high line 12: "GPIO12" "opengpio_0_12_output" output active-high [used] line 13: "GPIO13" "opengpio_0_13_output" output active-high [used] line 14: "GPIO14" unused input active-high line 15: "GPIO15" unused input active-high line 16: "GPIO16" "opengpio_0_16_output" output active-high [used] line 17: "GPIO17" "opengpio_0_17_watch" input active-high [used] line 18: "GPIO18" "opengpio_0_18_watch" input active-high [used] line 19: "GPIO19" "opengpio_0_19_output" output active-high [used] line 20: "GPIO20" "opengpio_0_20_output" output active-high [used] line 21: "GPIO21" "opengpio_0_21_output" output active-high [used] line 22: "GPIO22" "opengpio_0_22_watch" input active-high [used] line 23: "GPIO23" "opengpio_0_23_watch" input active-high [used] line 24: "GPIO24" "opengpio_0_24_watch" input active-high [used] line 25: "GPIO25" "opengpio_0_25_output" output active-high [used] line 26: "GPIO26" "opengpio_0_26_output" output active-high [used] line 27: "GPIO27" "opengpio_0_27_watch" input active-high [used] line 28: "RGMII_MDIO" unused input active-high line 29: "RGMIO_MDC" unused input active-high line 30: "CTS0" unused input active-high line 31: "RTS0" unused input active-high line 32: "TXD0" unused input active-high line 33: "RXD0" unused input active-high line 34: "SD1_CLK" unused input active-high line 35: "SD1_CMD" unused input active-high line 36: "SD1_DATA0" unused input active-high line 37: "SD1_DATA1" unused input active-high line 38: "SD1_DATA2" unused input active-high line 39: "SD1_DATA3" unused input active-high line 40: "PWM0_MISO" unused input active-high line 41: "PWM1_MOSI" unused input active-high line 42: "STATUS_LED_G_CLK" "ACT" output active-high [used] line 43: "SPIFLASH_CE_N" unused input active-high line 44: "SDA0" unused input active-high line 45: "SCL0" unused input active-high line 46: "RGMII_RXCLK" unused input active-high line 47: "RGMII_RXCTL" unused input active-high line 48: "RGMII_RXD0" unused input active-high line 49: "RGMII_RXD1" unused input active-high line 50: "RGMII_RXD2" unused input active-high line 51: "RGMII_RXD3" unused input active-high line 52: "RGMII_TXCLK" unused input active-high line 53: "RGMII_TXCTL" unused input active-high line 54: "RGMII_TXD0" unused input active-high line 55: "RGMII_TXD1" unused input active-high line 56: "RGMII_TXD2" unused input active-high line 57: "RGMII_TXD3" unused input active-high
spidev lief damals noch unter python 2.7 und wenn ich jetzt was dazu finde ist es für python3.
Alle Pfade dazu sind unter bookworm komplett anders und sudo apt-get install -y python-spidev python3-spidev bring Fehlerpi@raspberrypi:~ $ sudo apt-get install -y python-spidev python3-spidev Reading package lists... Done Building dependency tree... Done Reading state information... Done Package python-spidev is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source E: Package 'python-spidev' has no installation candidate
Ich bekomme es somit schon gar nicht am Raspi selbst zum laufen. Dort hatte ich früher einen Pfad py-spidev in dem ich den MCP3008.py angelegt hatte. Leider bin ich kein Profi und leg mir jetzt die Karten.
Im IoBroker lief ein Script das jetzt beim Start viele Fehler bringt und Java in eine Bootschleife versetzt.
2025-02-09 11:22:24.604 error instance system.adapter.javascript.0 terminated with code 1 JS_CONTROLLER_STOPPED) host.raspberrypi 2025-02-09 11:22:24.604 error Caught by controller[0]: } host.raspberrypi 2025-02-09 11:22:24.603 error Caught by controller[0]: syscall: 'open' host.raspberrypi 2025-02-09 11:22:24.603 error Caught by controller[0]: code: 'EACCES', host.raspberrypi 2025-02-09 11:22:24.602 error Caught by controller[0]: errno: 13, host.raspberrypi 2025-02-09 11:22:24.596 error Caught by controller[0]: [Error: EACCES, Permission denied] { javascript.0 2025-02-09 11:22:24.385 error Error: EACCES, Permission denied javascript.0 2025-02-09 11:22:24.385 error Error: EACCES, Permission denied javascript.0 2025-02-09 11:22:24.385 error An error happened which is most likely from one of your scripts, but the originating script could not be detected.
SPI.Analogwerte.xml SPI.Analogwerte.txt
Kann mir hier jemand etwas weiter helfen, ich bin jetzt schon die ganze Woche dran mit eBus, GPIOs u.s.w. Komme aber hier irgendwie gar nicht mehr weiter und hoffe nur ich hab mir nicht schon einiges versaut. Letzte SD Sicherung war Gott sei Dank noch vor der SPI Orgie.
LG Horst
-
echad@chet:~ $ apt policy python3-spidev python3-spidev: Installed: 20200602~200721-1+bookworm Candidate: 20200602~200721-1+bookworm Version table: *** 20200602~200721-1+bookworm 500 500 http://archive.raspberrypi.com/debian bookworm/main arm64 Packages 100 /var/lib/dpkg/status 3.6-1+b1 500 500 http://deb.debian.org/debian bookworm/main arm64 Packages echad@chet:~ $
libcrypt.so.1: cannot open shared object file: No such file or directory
echad@chet:~ $ apt policy libcrypt1 libcrypt1: Installed: 1:4.4.33-2 Candidate: 1:4.4.33-2 Version table: *** 1:4.4.33-2 500 500 http://deb.debian.org/debian bookworm/main arm64 Packages 100 /var/lib/dpkg/status echad@chet:~ $
-
@thomas-braun sagte in MCP3008 in IoBroker einbinden:
apt policy libcrypt1
Hallo Thomas, danke erstmal, es kommt die selbe Meldung wie bei dir!
Komisch, dass das keiner im IoBroker braucht. Bin wahrscheinlich der letzte der noch löten kann;-).pi@raspberrypi:~ $ apt policy python3-spidev python3-spidev: Installed: 20200602~200721-1+bookworm Candidate: 20200602~200721-1+bookworm Version table: *** 20200602~200721-1+bookworm 500 500 http://archive.raspberrypi.com/debian bookworm/main arm64 Packages 100 /var/lib/dpkg/status 3.6-1+b1 500 500 http://deb.debian.org/debian bookworm/main arm64 Packages pi@raspberrypi:~ $ apt policy libcrypt1 libcrypt1: Installed: 1:4.4.33-2 Candidate: 1:4.4.33-2 Version table: *** 1:4.4.33-2 500 500 http://deb.debian.org/debian bookworm/main arm64 Packages 100 /var/lib/dpkg/status
Ich hab das im Netz zum Thema gpio readall gefunden
pi@raspberrypi:~ $ sudo gpio readall sudo: gpio: Befehl nicht gefunden pi@raspberrypi:~ $ wget https://project-downloads.drogon.net/wiringpi-latest.deb --2025-02-06 13:48:12-- https://project-downloads.drogon.net/wiringpi-latest.de pi@raspberrypi:~ $ sudo dpkg -i wiringpi-latest.deb Vormals nicht ausgewähltes Paket wiringpi:armhf wird gewählt. (Lese Datenbank ... 89919 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von wiringpi-latest.deb ... Entpacken von wiringpi:armhf (2.52) ... wiringpi:armhf (2.52) wird eingerichtet ... /bin/chown: warning: '.' should be ':': „root.root“ Trigger für man-db (2.11.2-2) werden verarbeitet ... pi@raspberrypi:~ $ sudo gpio readall gpio: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
Ob ich gpio readall überhaupt brauche?
Was ist gpizero? Hab dazu eine SPI Beschreibung im Netz gefunden https://github.com/pediehl
Der verwendet aber halt ganz andere Pfade und ob das dann im IoBroker geht ist unklar. Ich schau mir das mal auf meiner alten SD Karte an und vergleiche das. Unter 32bit bookworm hat ja alles funktioniert. -
wiringpi ist veraltet und wird nicht mehr verwendet.
Du knallst dir da nur deine Kiste mit noch mehr veraltetem Code zu.
Auch python 2.7 ist ein Ding aus der Vergangenheit. -
Ich komme einfach nicht weiter, im Raspi ist SPI ist eingeschaltet und für IoBroker freigegeben.
Gibt es einen Befehl der gpio readall in der 64bit Version ersetzt ?pi@raspberrypi:~ $ sudo adduser iobroker spi adduser: The user `iobroker' is already a member of `spi'.
Sobald ich vom IoBroker das mit IoBroker Backup übernommene Skript einschalte kommen die o.g. Fehler.
Wie gesagt hatte ich vorher Bookworm 32bit und jetzt Bookworm 64bit und ein Backup des IoBroker gemacht.
Was das Read_8AI_Modul und mcpadc genau bedeutet ist mir nach 5 Jahren leider ein RätselHier mal das Script
var busNumber, deviceNumber, Interval, dreisatz_zwischenwert, Einheit, dreisatz_zwischenwert_Garten, dreisatz_endwert, Einheit_Garten, Bodenfeuche_Prozent, dreisatz_endwert_Garten, Bodenfeuchte_Prozent_Garten; // Liest die Werte des 4-Kanal-Analogmoduls.busNumber // > Nr. des SPI-Busses (RasPi 1= 0, RasPi2/3=1, Tinker // Board=2deviceNumber > genutzte CS-Leitung (0 oder1) async function Read_8AI_Modul(busNumber, deviceNumber, Interval) { createState('Analogmodul.Channel0',0,read1); createState('Analogmodul.Channel0_in_%',{name: "Channel0_in_%"}); createState('Analogmodul.Channel1',0,read2); createState('Analogmodul.Channel1_in_%',{name: "Channel1_in_%"}); createState('Analogmodul.Channel2',0,read3); createState('Analogmodul.Channel3',0,read4); createState('Analogmodul.Channel4',0,read5); createState('Analogmodul.Channel5',0,read6); createState('Analogmodul.Channel6',0,read7); createState('Analogmodul.Channel7',0,read8); const mcpadc = require('mcp-spi-adc'); function read1(){ const input1 = mcpadc.openMcp3008(0, {busNumber: busNumber, deviceNumber:deviceNumber, speedHz: 20000}, (err) => { if (err) throw err; setInterval(() => { input1.read((err, reading) => { if (err) throw err; setState("Analogmodul.Channel0",(reading.rawValue)),true; }); }, Interval); }); } function read2(){ const input2 = mcpadc.openMcp3008(1, {busNumber: busNumber, deviceNumber:deviceNumber, speedHz: 20000}, (err) => { if (err) throw err; setInterval(() => { input2.read((err, reading) => { if (err) throw err; setState("Analogmodul.Channel1",(reading.rawValue)),true; }); }, Interval); }); } function read3(){ const input3 = mcpadc.openMcp3008(2, {busNumber: busNumber, deviceNumber:deviceNumber, speedHz: 20000}, (err) => { if (err) throw err; setInterval(() => { input3.read((err, reading) => { if (err) throw err; setState("Analogmodul.Channel2",(reading.rawValue)),true; }); }, Interval); }); } function read4(){ const input4 = mcpadc.openMcp3008(3, {busNumber: busNumber, deviceNumber:deviceNumber, speedHz: 20000}, (err) => { if (err) throw err; setInterval(() => { input4.read((err, reading) => { if (err) throw err; setState("Analogmodul.Channel3",(reading.rawValue)),true; }); }, Interval); }); } function read5(){ const input5 = mcpadc.openMcp3008(4, {busNumber: busNumber, deviceNumber:deviceNumber, speedHz: 20000}, (err) => { if (err) throw err; setInterval(() => { input5.read((err, reading) => { if (err) throw err; setState("Analogmodul.Channel4",(reading.rawValue)),true; }); }, Interval); }); } function read6(){ const input6 = mcpadc.openMcp3008(5, {busNumber: busNumber, deviceNumber:deviceNumber, speedHz: 20000}, (err) => { if (err) throw err; setInterval(() => { input6.read((err, reading) => { if (err) throw err; setState("Analogmodul.Channel5",(reading.rawValue)),true; }); }, Interval); }); } function read7(){ const input7 = mcpadc.openMcp3008(6, {busNumber: busNumber, deviceNumber:deviceNumber, speedHz: 20000}, (err) => { if (err) throw err; setInterval(() => { input7.read((err, reading) => { if (err) throw err; setState("Analogmodul.Channel6",(reading.rawValue)),true; }); }, Interval); }); } function read8(){ const input8 = mcpadc.openMcp3008(7, {busNumber: busNumber, deviceNumber:deviceNumber, speedHz: 20000}, (err) => { if (err) throw err; setInterval(() => { input8.read((err, reading) => { if (err) throw err; setState("Analogmodul.Channel7",(reading.rawValue)),true; }); }, Interval); }); } } // 10000 = 10 sec 300000 = 5 min await Read_8AI_Modul(0, 0, 60000); on({ id: 'javascript.0.Analogmodul.Channel0' /* AM_C0_Carport */, change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('javascript.0.Analogmodul.Channel0').val > 230 && getState('javascript.0.Analogmodul.Channel0').val < 600) { dreisatz_zwischenwert = 100 / 320; Einheit = getState('javascript.0.Analogmodul.Channel0').val - 255; dreisatz_endwert = dreisatz_zwischenwert * Einheit; Bodenfeuche_Prozent = Math.round(dreisatz_endwert); setState('javascript.0.Analogmodul.Channel0_in_%' /* AM_C0_%_Carport */, (100 - Bodenfeuche_Prozent)); } }); on({ id: 'javascript.0.Analogmodul.Channel1' /* AM_C1_Garten */, change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('javascript.0.Analogmodul.Channel1').val > 230 && getState('javascript.0.Analogmodul.Channel1').val < 600) { dreisatz_zwischenwert_Garten = 100 / 320; Einheit_Garten = getState('javascript.0.Analogmodul.Channel1').val - 255; dreisatz_endwert_Garten = dreisatz_zwischenwert_Garten * Einheit_Garten; Bodenfeuchte_Prozent_Garten = Math.round(dreisatz_endwert_Garten); setState('javascript.0.Analogmodul.Channel1_in_%' /* AM_C1_%_Garten */, (100 - Bodenfeuchte_Prozent_Garten)); } }); // Kleinster Wert -20 in nasser Erde // Größter Wert Trocken +30 // + 20 mehr als delta Trocken/Nass // +5 mehr als Wert in ganz nasser Erde //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyS35+ZUt2VW0lN0JkZSU2MHFSMVklM0FGTHYlMjIlM0VidXNOdW1iZXIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJIKUhKeCUzRC5XZnRhbiUyQ3hfSjZ3VUYlMjIlM0VkZXZpY2VOdW1iZXIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJUNzQlN0NOeUpvZDRHdkIoLjNSREMtJTIyJTNFSW50ZXJ2YWwlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjIqNCU1RVNOciUyNTglN0NuJTNGcShZSUEyJTVEMiUyQiUyMiUzRWRyZWlzYXR6X3p3aXNjaGVud2VydCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMiUyNUMlNUI3V0ElN0JBdCUzRjNKYkhHJTI1MyUyNCU0MCElMjIlM0VFaW5oZWl0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIybTUlMkJCeXYlMkNmJTdCUkZYRDBwR1piaFElMjIlM0VkcmVpc2F0el96d2lzY2hlbndlcnRfR2FydGVuJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyY0xaTzElMjVSdSUyQiUzQTRtJTJDRlIlMkNLcjdzJTIyJTNFZHJlaXNhdHpfZW5kd2VydCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMjFJXyo2Z2IlM0EoZyUyMyp+MURNNXhoJTJDJTIyJTNFRWluaGVpdF9HYXJ0ZW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjIlN0IzZ1AlMjVQdko0JTYwWGslMkNFRGowIXlXJTIyJTNFQm9kZW5mZXVjaGVfUHJvemVudCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMkUlNUR3MkxYUkY4QyU2MEx0Sm4lNUUlN0JvQzAlMjIlM0VkcmVpc2F0el9lbmR3ZXJ0X0dhcnRlbiUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMiUyNSl3cjIlNUJkdnAlMkYlMkZCUyU3Qn5lc3VvdCUyMiUzRUJvZGVuZmV1Y2h0ZV9Qcm96ZW50X0dhcnRlbiUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZjdXN0b21ub3JldHVybiUyMiUyMGlkJTNEJTIyJTJCTXclNURZMiUzRi45M29CZihnZSU3Qmp0fiUyMiUyMHglM0QlMjI4OCUyMiUyMHklM0QlMjItMTYyJTIyJTNFJTNDbXV0YXRpb24lMjBzdGF0ZW1lbnRzJTNEJTIyZmFsc2UlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyYnVzTnVtYmVyJTIyJTIwdmFyaWQlM0QlMjJLfn5lS3ZVbSU3QmRlJTYwcVIxWSUzQUZMdiUyMiUzRSUzQyUyRmFyZyUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJkZXZpY2VOdW1iZXIlMjIlMjB2YXJpZCUzRCUyMkgpSEp4JTNELldmdGFuJTJDeF9KNndVRiUyMiUzRSUzQyUyRmFyZyUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJJbnRlcnZhbCUyMiUyMHZhcmlkJTNEJTIyVDc0JTdDTnlKb2Q0R3ZCKC4zUkRDLSUyMiUzRSUzQyUyRmFyZyUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRVJlYWRfOEFJX01vZHVsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTQ1JJUFQlMjIlM0VZM0psWVhSbFUzUmhkR1VvSjBGdVlXeHZaMjF2WkhWc0xrTm9ZVzV1Wld3d0p5d3dMSEpsWVdReEtUc0tZM0psWVhSbFUzUmhkR1VvSjBGdVlXeHZaMjF2WkhWc0xrTm9ZVzV1Wld3d1gybHVYeVVuTEh0dVlXMWxPaUFpUTJoaGJtNWxiREJmYVc1ZkpTSjlLVHNLWTNKbFlYUmxVM1JoZEdVb0owRnVZV3h2WjIxdlpIVnNMa05vWVc1dVpXd3hKeXd3TEhKbFlXUXlLVHNLWTNKbFlYUmxVM1JoZEdVb0owRnVZV3h2WjIxdlpIVnNMa05vWVc1dVpXd3hYMmx1WHlVbkxIdHVZVzFsT2lBaVEyaGhibTVsYkRGZmFXNWZKU0o5S1RzS1kzSmxZWFJsVTNSaGRHVW9KMEZ1WVd4dloyMXZaSFZzTGtOb1lXNXVaV3d5Snl3d0xISmxZV1F6S1RzS1kzSmxZWFJsVTNSaGRHVW9KMEZ1WVd4dloyMXZaSFZzTGtOb1lXNXVaV3d6Snl3d0xISmxZV1EwS1RzS1kzSmxZWFJsVTNSaGRHVW9KMEZ1WVd4dloyMXZaSFZzTGtOb1lXNXVaV3cwSnl3d0xISmxZV1ExS1RzS1kzSmxZWFJsVTNSaGRHVW9KMEZ1WVd4dloyMXZaSFZzTGtOb1lXNXVaV3cxSnl3d0xISmxZV1EyS1RzS1kzSmxZWFJsVTNSaGRHVW9KMEZ1WVd4dloyMXZaSFZzTGtOb1lXNXVaV3cySnl3d0xISmxZV1EzS1RzS1kzSmxZWFJsVTNSaGRHVW9KMEZ1WVd4dloyMXZaSFZzTGtOb1lXNXVaV3czSnl3d0xISmxZV1E0S1RzS0NtTnZibk4wSUcxamNHRmtZeUE5SUhKbGNYVnBjbVVvSjIxamNDMXpjR2t0WVdSakp5azdDZ29LQ21aMWJtTjBhVzl1SUhKbFlXUXhLQ2w3Q21OdmJuTjBJR2x1Y0hWME1TQTlJRzFqY0dGa1l5NXZjR1Z1VFdOd016QXdPQ2d3TENCN1luVnpUblZ0WW1WeU9pQmlkWE5PZFcxaVpYSXNJR1JsZG1salpVNTFiV0psY2pwa1pYWnBZMlZPZFcxaVpYSXNJQ0J6Y0dWbFpFaDZPaUF5TURBd01IMHNJQ2hsY25JcElEMCUyQklIc0tJQ0JwWmlBb1pYSnlLU0IwYUhKdmR5Qmxjbkk3Q2dvZ0lITmxkRWx1ZEdWeWRtRnNLQ2dwSUQwJTJCSUhzS0lDQWdJR2x1Y0hWME1TNXlaV0ZrS0NobGNuSXNJSEpsWVdScGJtY3BJRDAlMkJJSHNLSUNBZ0lDQWdhV1lnS0dWeWNpa2dkR2h5YjNjZ1pYSnlPd29LSUNBZ0lDQWdjMlYwVTNSaGRHVW9Ja0Z1WVd4dloyMXZaSFZzTGtOb1lXNXVaV3d3SWl3b2NtVmhaR2x1Wnk1eVlYZFdZV3gxWlNrcExIUnlkV1U3Q2lBZ0lDQjlLVHNLSUNCOUxDQkpiblJsY25aaGJDazdDbjBwT3dwOUNncG1kVzVqZEdsdmJpQnlaV0ZrTWlncGV3cGpiMjV6ZENCcGJuQjFkRElnUFNCdFkzQmhaR011YjNCbGJrMWpjRE13TURnb01Td2dlMkoxYzA1MWJXSmxjam9nWW5WelRuVnRZbVZ5TENCa1pYWnBZMlZPZFcxaVpYSTZaR1YyYVdObFRuVnRZbVZ5TENBZ2MzQmxaV1JJZWpvZ01qQXdNREI5TENBb1pYSnlLU0E5UGlCN0NpQWdhV1lnS0dWeWNpa2dkR2h5YjNjZ1pYSnlPd29LSUNCelpYUkpiblJsY25aaGJDZ29LU0E5UGlCN0NpQWdJQ0JwYm5CMWRESXVjbVZoWkNnb1pYSnlMQ0J5WldGa2FXNW5LU0E5UGlCN0NpQWdJQ0FnSUdsbUlDaGxjbklwSUhSb2NtOTNJR1Z5Y2pzS0NpQWdJQ0FnSUhObGRGTjBZWFJsS0NKQmJtRnNiMmR0YjJSMWJDNURhR0Z1Ym1Wc01TSXNLSEpsWVdScGJtY3VjbUYzVm1Gc2RXVXBLU3gwY25WbE93b2dJQ0FnZlNrN0NpQWdmU3dnU1c1MFpYSjJZV3dwT3dwOUtUc0tmUW9LWm5WdVkzUnBiMjRnY21WaFpETW9LWHNLWTI5dWMzUWdhVzV3ZFhReklEMGdiV053WVdSakxtOXdaVzVOWTNBek1EQTRLRElzSUh0aWRYTk9kVzFpWlhJNklHSjFjMDUxYldKbGNpd2daR1YyYVdObFRuVnRZbVZ5T21SbGRtbGpaVTUxYldKbGNpd2dJSE53WldWa1NIbzZJREl3TURBd2ZTd2dLR1Z5Y2lrZ1BUNGdld29nSUdsbUlDaGxjbklwSUhSb2NtOTNJR1Z5Y2pzS0NpQWdjMlYwU1c1MFpYSjJZV3dvS0NrZ1BUNGdld29nSUNBZ2FXNXdkWFF6TG5KbFlXUW9LR1Z5Y2l3Z2NtVmhaR2x1WnlrZ1BUNGdld29nSUNBZ0lDQnBaaUFvWlhKeUtTQjBhSEp2ZHlCbGNuSTdDZ29nSUNBZ0lDQnpaWFJUZEdGMFpTZ2lRVzVoYkc5bmJXOWtkV3d1UTJoaGJtNWxiRElpTENoeVpXRmthVzVuTG5KaGQxWmhiSFZsS1Nrc2RISjFaVHNLSUNBZ0lIMHBPd29nSUgwc0lFbHVkR1Z5ZG1Gc0tUc0tmU2s3Q24wS0NtWjFibU4wYVc5dUlISmxZV1EwS0NsN0NtTnZibk4wSUdsdWNIVjBOQ0E5SUcxamNHRmtZeTV2Y0dWdVRXTndNekF3T0NnekxDQjdZblZ6VG5WdFltVnlPaUJpZFhOT2RXMWlaWElzSUdSbGRtbGpaVTUxYldKbGNqcGtaWFpwWTJWT2RXMWlaWElzSUNCemNHVmxaRWg2T2lBeU1EQXdNSDBzSUNobGNuSXBJRDAlMkJJSHNLSUNCcFppQW9aWEp5S1NCMGFISnZkeUJsY25JN0Nnb2dJSE5sZEVsdWRHVnlkbUZzS0NncElEMCUyQklIc0tJQ0FnSUdsdWNIVjBOQzV5WldGa0tDaGxjbklzSUhKbFlXUnBibWNwSUQwJTJCSUhzS0lDQWdJQ0FnYVdZZ0tHVnljaWtnZEdoeWIzY2daWEp5T3dvS0lDQWdJQ0FnYzJWMFUzUmhkR1VvSWtGdVlXeHZaMjF2WkhWc0xrTm9ZVzV1Wld3eklpd29jbVZoWkdsdVp5NXlZWGRXWVd4MVpTa3BMSFJ5ZFdVN0NpQWdJQ0I5S1RzS0lDQjlMQ0JKYm5SbGNuWmhiQ2s3Q24wcE93cDlDZ3BtZFc1amRHbHZiaUJ5WldGa05TZ3Bld3BqYjI1emRDQnBibkIxZERVZ1BTQnRZM0JoWkdNdWIzQmxiazFqY0RNd01EZ29OQ3dnZTJKMWMwNTFiV0psY2pvZ1luVnpUblZ0WW1WeUxDQmtaWFpwWTJWT2RXMWlaWEk2WkdWMmFXTmxUblZ0WW1WeUxDQWdjM0JsWldSSWVqb2dNakF3TURCOUxDQW9aWEp5S1NBOVBpQjdDaUFnYVdZZ0tHVnljaWtnZEdoeWIzY2daWEp5T3dvS0lDQnpaWFJKYm5SbGNuWmhiQ2dvS1NBOVBpQjdDaUFnSUNCcGJuQjFkRFV1Y21WaFpDZ29aWEp5TENCeVpXRmthVzVuS1NBOVBpQjdDaUFnSUNBZ0lHbG1JQ2hsY25JcElIUm9jbTkzSUdWeWNqc0tDaUFnSUNBZ0lITmxkRk4wWVhSbEtDSkJibUZzYjJkdGIyUjFiQzVEYUdGdWJtVnNOQ0lzS0hKbFlXUnBibWN1Y21GM1ZtRnNkV1VwS1N4MGNuVmxPd29nSUNBZ2ZTazdDaUFnZlN3Z1NXNTBaWEoyWVd3cE93cDlLVHNLZlFvS1puVnVZM1JwYjI0Z2NtVmhaRFlvS1hzS1kyOXVjM1FnYVc1d2RYUTJJRDBnYldOd1lXUmpMbTl3Wlc1TlkzQXpNREE0S0RVc0lIdGlkWE5PZFcxaVpYSTZJR0oxYzA1MWJXSmxjaXdnWkdWMmFXTmxUblZ0WW1WeU9tUmxkbWxqWlU1MWJXSmxjaXdnSUhOd1pXVmtTSG82SURJd01EQXdmU3dnS0dWeWNpa2dQVDRnZXdvZ0lHbG1JQ2hsY25JcElIUm9jbTkzSUdWeWNqc0tDaUFnYzJWMFNXNTBaWEoyWVd3b0tDa2dQVDRnZXdvZ0lDQWdhVzV3ZFhRMkxuSmxZV1FvS0dWeWNpd2djbVZoWkdsdVp5a2dQVDRnZXdvZ0lDQWdJQ0JwWmlBb1pYSnlLU0IwYUhKdmR5Qmxjbkk3Q2dvZ0lDQWdJQ0J6WlhSVGRHRjBaU2dpUVc1aGJHOW5iVzlrZFd3dVEyaGhibTVsYkRVaUxDaHlaV0ZrYVc1bkxuSmhkMVpoYkhWbEtTa3NkSEoxWlRzS0lDQWdJSDBwT3dvZ0lIMHNJRWx1ZEdWeWRtRnNLVHNLZlNrN0NuMEtDbVoxYm1OMGFXOXVJSEpsWVdRM0tDbDdDbU52Ym5OMElHbHVjSFYwTnlBOUlHMWpjR0ZrWXk1dmNHVnVUV053TXpBd09DZzJMQ0I3WW5WelRuVnRZbVZ5T2lCaWRYTk9kVzFpWlhJc0lHUmxkbWxqWlU1MWJXSmxjanBrWlhacFkyVk9kVzFpWlhJc0lDQnpjR1ZsWkVoNk9pQXlNREF3TUgwc0lDaGxjbklwSUQwJTJCSUhzS0lDQnBaaUFvWlhKeUtTQjBhSEp2ZHlCbGNuSTdDZ29nSUhObGRFbHVkR1Z5ZG1Gc0tDZ3BJRDAlMkJJSHNLSUNBZ0lHbHVjSFYwTnk1eVpXRmtLQ2hsY25Jc0lISmxZV1JwYm1jcElEMCUyQklIc0tJQ0FnSUNBZ2FXWWdLR1Z5Y2lrZ2RHaHliM2NnWlhKeU93b0tJQ0FnSUNBZ2MyVjBVM1JoZEdVb0lrRnVZV3h2WjIxdlpIVnNMa05vWVc1dVpXdzJJaXdvY21WaFpHbHVaeTV5WVhkV1lXeDFaU2twTEhSeWRXVTdDaUFnSUNCOUtUc0tJQ0I5TENCSmJuUmxjblpoYkNrN0NuMHBPd3A5Q2dwbWRXNWpkR2x2YmlCeVpXRmtPQ2dwZXdwamIyNXpkQ0JwYm5CMWREZ2dQU0J0WTNCaFpHTXViM0JsYmsxamNETXdNRGdvTnl3Z2UySjFjMDUxYldKbGNqb2dZblZ6VG5WdFltVnlMQ0JrWlhacFkyVk9kVzFpWlhJNlpHVjJhV05sVG5WdFltVnlMQ0FnYzNCbFpXUkllam9nTWpBd01EQjlMQ0FvWlhKeUtTQTlQaUI3Q2lBZ2FXWWdLR1Z5Y2lrZ2RHaHliM2NnWlhKeU93b0tJQ0J6WlhSSmJuUmxjblpoYkNnb0tTQTlQaUI3Q2lBZ0lDQnBibkIxZERndWNtVmhaQ2dvWlhKeUxDQnlaV0ZrYVc1bktTQTlQaUI3Q2lBZ0lDQWdJR2xtSUNobGNuSXBJSFJvY205M0lHVnljanNLQ2lBZ0lDQWdJSE5sZEZOMFlYUmxLQ0pCYm1Gc2IyZHRiMlIxYkM1RGFHRnVibVZzTnlJc0tISmxZV1JwYm1jdWNtRjNWbUZzZFdVcEtTeDBjblZsT3dvZ0lDQWdmU2s3Q2lBZ2ZTd2dTVzUwWlhKMllXd3BPd3A5S1RzS2ZRbyUzRCUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUxpZXN0JTIwZGllJTIwV2VydGUlMjBkZXMlMjA0LUthbmFsLUFuYWxvZ21vZHVscy5idXNOdW1iZXIlMjAlMjZndCUzQiUyME5yLiUyMGRlcyUyMFNQSS1CdXNzZXMlMjAoUmFzUGklMjAxJTNEJTIwMCUyQyUyMFJhc1BpMiUyRjMlM0QxJTJDJTIwVGlua2VyJTIwQm9hcmQlM0QyZGV2aWNlTnVtYmVyJTIwJTI2Z3QlM0IlMjBnZW51dHp0ZSUyMENTLUxlaXR1bmclMjAoMCUyMG9kZXIxKSUyMCUyMCUyMCUyMCUzQyUyRmNvbW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMiU1QkhhWVolMjUlNUIqSmVZJTYweFAlM0EhWEVIUiUyMiUyMHglM0QlMjI4OCUyMiUyMHklM0QlMjItMTEyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRTEwMDAwJTIwJTNEJTIwMTAlMjBzZWMlMjAlMjAlMjAzMDAwMDAlMjAlM0QlMjA1JTIwbWluJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsY3VzdG9tbm9yZXR1cm4lMjIlMjBpZCUzRCUyMllhb1dHUkx5TSUyQ3VERiU1RTMlMkIlMkNMJTNEbCUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMlJlYWRfOEFJX01vZHVsJTIyJTNFJTNDYXJnJTIwbmFtZSUzRCUyMmJ1c051bWJlciUyMiUzRSUzQyUyRmFyZyUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJkZXZpY2VOdW1iZXIlMjIlM0UlM0MlMkZhcmclM0UlM0NhcmclMjBuYW1lJTNEJTIySW50ZXJ2YWwlMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFSRzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyWFF3JTdDOHRjcShWNkdyJTVEWThtKiUyNHYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVJHMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJ5ZCU0MGtyWXJHWml+JTVFJTNBcSUzRCUzRFAlNDBDRyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBUkcyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMjZoQWNJJTIzNlhtJTVFJTI0TnNZQ21MKiU0MCglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0U2MDAwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb24lMjIlMjBpZCUzRCUyMn5TLSlZJTQwWFFLdmVnLWJKbTB+JTNGbyUyMiUyMHglM0QlMjI4OCUyMiUyMHklM0QlMjI2MyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC5BbmFsb2dtb2R1bC5DaGFubmVsMCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFYW55JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMiUzQmpqVm9kdSU3RE4lN0JLSCUyMyFGMnYzaWMlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19vcGVyYXRpb24lMjIlMjBpZCUzRCUyMiU1QiU1RSUzQWJlJTNCJTNBUn5YJTYwRSUyQjdGX1ZpMCElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUFORCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUzRHF1bFdFJTIzUyUzQWJKSi0hWG9iZHY4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VHVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIydFg0dCFmN1pSZSUzRiUyQ0NVYSgxMVVHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLkFuYWxvZ21vZHVsLkNoYW5uZWwwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJfY25JOSFwU1FIMjBWdDNGOEElNjAlNjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyMzAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMihGV3UhfnElNUQlNUVQfmZfdiU3RCUyQldqJTVEJTI1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIydWZpLi0lNUJFQiU3RHZzcyUyQlp1JTI1YipOISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC5BbmFsb2dtb2R1bC5DaGFubmVsMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycyUyNEgpJTdEUnhmJTI1JTYwcmtMcWMlNUJGVSUzQkclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0U2MDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJlJTYwVUgxVCU1RE9IJTJCcmxUb3JfKCUyNDFUJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIqNCU1RVNOciUyNTglN0NuJTNGcShZSUEyJTVEMiUyQiUyMiUzRWRyZWlzYXR6X3p3aXNjaGVud2VydCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMkluZlViN29YQ05aWEYtXyU3Q0k1RkglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRURJVklERSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyaWIlMjNOKSUzRCUyQmQlNUJGOXMlMkJkJTVCZyU1RSUyQ0d2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMi5Rb0glMkM3TiUyNU4lN0QlNDBaTXctJTJCM0VidyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTMyMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMk4zOSUyM1R4Q2UxZms0SG8lM0F5JTdCVzMyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjVDJTVCN1dBJTdCQXQlM0YzSmJIRyUyNTMlMjQlNDAhJTIyJTNFRWluaGVpdCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMkhTJTNGb2glNjApT1l+b3E5dkElMjRkcSU1QkUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU1JTlVTJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIpNmQlMjV2JTI0ZE5lTlZIWSUzQlFOWVclMkZvJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJ0JTJCJTQwRyUzRHJTdilRLUhJJTIzTi1nJTNBR28lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuQW5hbG9nbW9kdWwuQ2hhbm5lbDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIhTyoqdyU1QlFhTSUyRlZrJTNERyklNjBKYzAlNUIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyNTUlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJHTiUyRm9LUm8xJTI1JTQwdmglM0ElN0JTLTRMcGolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmNMWk8xJTI1UnUlMkIlM0E0bSUyQ0ZSJTJDS3I3cyUyMiUzRWRyZWlzYXR6X2VuZHdlcnQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjJZKWMyZ2MlNUJvYSUyNGNVaSkxJTdCM2JmJTI1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNVUxUSVBMWSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycyU2MFVSRDRZJTIzdjl+YjRrUSUzRCpDRCklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ0NzdQWk9YISU0MEpiJTdCJTYwZUx1Z2hQYiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyKjQlNUVTTnIlMjU4JTdDbiUzRnEoWUlBMiU1RDIlMkIlMjIlM0VkcmVpc2F0el96d2lzY2hlbndlcnQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJaTkklNURCJTVEJTNGa1h+bHZIUDkxQ1h0dyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMkQlNjBVNGNLQkN6JTJDZ3dvdmJCIUluUCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTI1QyU1QjdXQSU3QkF0JTNGM0piSEclMjUzJTI0JTQwISUyMiUzRUVpbmhlaXQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMjJCJTNGNkJrOWtFRXU1JTI0OW1Xb050UiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTdCM2dQJTI1UHZKNCU2MFhrJTJDRURqMCF5VyUyMiUzRUJvZGVuZmV1Y2hlX1Byb3plbnQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9yb3VuZCUyMiUyMGlkJTNEJTIyOUQlM0R0JTQwamdnd08zaCU1REwlM0JTUDFtciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFUk9VTkQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk5VTSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTNCJTNBb0R5WlZWSiUyQ19JcVpDc2RyJTNGNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTMuMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTI1JTYwUWlwVyUzQkYlNDBoNyUzRE1CJTJCJTIzWiUyMyl5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJjTFpPMSUyNVJ1JTJCJTNBNG0lMkNGUiUyQ0tyN3MlMjIlM0VkcmVpc2F0el9lbmR3ZXJ0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJIWE1mMEtBdXBtWU8lNUUlMjVWKEMxciglMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuQW5hbG9nbW9kdWwuQ2hhbm5lbDBfaW5fJTI1JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjI4aSUyQ1klMjQ0QXIlM0YlMjQtTihPJTJGa3JKKWclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU1JTlVTJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlM0ZuTyUyRnRrbnhRLkFRSyUyNUMlN0QucnFzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkM2b3UlNjBDeSUyM00lMkIlM0QlM0JoJTNBNGpfZTYzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyciUzRnpxQjBkbSh2QyU1RVcwJTNEaSU1QiUyNUthJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlN0IzZ1AlMjVQdko0JTYwWGslMkNFRGowIXlXJTIyJTNFQm9kZW5mZXVjaGVfUHJvemVudCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uJTIyJTIwaWQlM0QlMjJ3JTVCNSU2MGclNUQxTUwlMjR3dUxMKnludWUlMjQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuQW5hbG9nbW9kdWwuQ2hhbm5lbDElM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJIZCUzQX4lMjVVKXZiMCUyMyUyRiUyMzQlN0R2VTElN0NoJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfb3BlcmF0aW9uJTIyJTIwaWQlM0QlMjIlMjRUQSElN0QlMjQlN0JRb1hGJTdEWSUyNG4lNDBUcFJOJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VBTkQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJjckY2JTYwV20wY08lMjNpTyExJTNGLkNHJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VHVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyJTIzZHNKa0IlNURGKDhJaW82bFclMkNHJTJCMiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC5BbmFsb2dtb2R1bC5DaGFubmVsMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTdESSUzRnVpJTJDJTdEJTI1aSg2NzR6MUMxZUElN0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyMzAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiU2MENJJTJCUypEUFRTdChKeUNXJTQwRWdqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VMVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIydTJ+TSU1QnYlMkIwTCUzQjFHQzk5JTJDaCUyMyUyM0wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuQW5hbG9nbW9kdWwuQ2hhbm5lbDElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMlQteHolM0FsZyo5eiklM0IlM0E1MzNqY0JSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNjAwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIydUxpdyUzRDFGX2NCJTdEc09+U0tVbUdqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJtNSUyQkJ5diUyQ2YlN0JSRlhEMHBHWmJoUSUyMiUzRWRyZWlzYXR6X3p3aXNjaGVud2VydF9HYXJ0ZW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjIlNDBvTUolM0IlN0RXJTQwcF9ETSU1RTNOS3ZPTHclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRURJVklERSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyRmwzR0VzJTdCJTJCaFNqJTI0KSUyQiUyQ1Q5b0FhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkJhSyUyQ1klMkN1eHhHRkpzYiUyQlglNUUlM0IlN0MqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMzIwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIydShNSXRQbXklNjAlMjMlNDBVISUzRkJpLUF4JTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIxSV8qNmdiJTNBKGclMjMqfjFETTV4aCUyQyUyMiUzRUVpbmhlaXRfR2FydGVuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfYXJpdGhtZXRpYyUyMiUyMGlkJTNEJTIyTmhHR3ElNUJzUTkoJTNEJTNGJTJGNlElMkJNa2wlMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU1JTlVTJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlM0YzcDNuaEgqRG1JUXBmNyU1QjhSRF8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMmJ4QnRnJTNCKSU1RWVpJTQwNSUyNCpFdFNlLW8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuQW5hbG9nbW9kdWwuQ2hhbm5lbDElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJ2dikyJTIzRDhiTyUzRG9jWUpCZFBxa1YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UyNTUlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJGR19iJTNEJTVCa3p6V2xsKE8zbmlCVHElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkUlNUR3MkxYUkY4QyU2MEx0Sm4lNUUlN0JvQzAlMjIlM0VkcmVpc2F0el9lbmR3ZXJ0X0dhcnRlbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2FyaXRobWV0aWMlMjIlMjBpZCUzRCUyMjNpcyUyRlBRJTNEfnZRNShoSCElMkY3YyUyMy4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU1VTFRJUExZJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJOJTI0dnlsc19JJTdENWJsJTNEVyUzQSFWZS54JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyYTBBWiU1QjN+JTVEVXRQVkV1SyUyMypYJTNBcSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIybTUlMkJCeXYlMkNmJTdCUkZYRDBwR1piaFElMjIlM0VkcmVpc2F0el96d2lzY2hlbndlcnRfR2FydGVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTVEb0IqJTdEZVBWJTYwUEJhT0UzKG4pUCglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ1NHZLJTI0JTVFa3BpMTVCJTI1fiUzRClOcWZyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIxSV8qNmdiJTNBKGclMjMqfjFETTV4aCUyQyUyMiUzRUVpbmhlaXRfR2FydGVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJvYXcuTFpmKms1JTJGIXclNUQzfmdLITYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNSl3cjIlNUJkdnAlMkYlMkZCUyU3Qn5lc3VvdCUyMiUzRUJvZGVuZmV1Y2h0ZV9Qcm96ZW50X0dhcnRlbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX3JvdW5kJTIyJTIwaWQlM0QlMjIlM0ElM0QlNURJN2UlMkIlN0J4JTIzeG9SY0RYZyElNUJWJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VST1VORCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyTlVNJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlM0ZYZ3NTVkFWJTNGckFxQU4lMkIuU0pRSSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTMuMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIya1R5JTI1JTNCbGU0JTJDakNZTnh0cnF6OFYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkUlNUR3MkxYUkY4QyU2MEx0Sm4lNUUlN0JvQzAlMjIlM0VkcmVpc2F0el9lbmR3ZXJ0X0dhcnRlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyRjF2WGslMkJMJTdCSGIlMjNwTVo1Wn53WFklMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuQW5hbG9nbW9kdWwuQ2hhbm5lbDFfaW5fJTI1JTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjIlM0E2JTJDQWNvLSE0WVNBRyU1RTBzbi4lNUR+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNSU5VUyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyKG5rNkVBJTI0RTRWSjd5JTQwcSp2dUFjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiUyNSU1Qi4lM0E0JTI0SSU3RCU3QiU1RCU1RWJwLkZHZE1jVSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmFKKClYTWclM0RkY0J1OSU3RCUyRm1qXyU1QiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNSl3cjIlNUJkdnAlMkYlMkZCUyU3Qn5lc3VvdCUyMiUzRUJvZGVuZmV1Y2h0ZV9Qcm96ZW50X0dhcnRlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJRY00lMjMyfjhkajEtYyUyNU5Na0t0ViU0MCUyMiUyMHglM0QlMjI1NjMlMjIlMjB5JTNEJTIyMTM4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUtsZWluc3RlciUyMFdlcnQlMjAtMjAlMjBpbiUyMG5hc3NlciUyMEVyZGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyZXh5JTNENVklM0IlM0FGUE5TJTNCM1NaJTNEdm1zJTIyJTIweCUzRCUyMjEwNjIlMjIlMjB5JTNEJTIyMTM3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUdyJUMzJUI2JUMzJTlGdGVyJTIwV2VydCUyMFRyb2NrZW4lMjAlMkIzMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJVZmNOS1hFJTQwX3gpTlF+JTJGNEhuayU3QyUyMiUyMHglM0QlMjI3ODglMjIlMjB5JTNEJTIyMjM4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRSUyQiUyMDIwJTIwbWVociUyMGFscyUyMGRlbHRhJTIwVHJvY2tlbiUyRk5hc3MlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJCaiFvNiUzRDglNUROJTNCQk1TbHNvJTJDciUyRi0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFJTJCNSUyMG1laHIlMjBhbHMlMjBXZXJ0JTIwaW4lMjBnYW56JTIwbmFzc2VyJTIwRXJkZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
Brauche hier weiterhin eure Hilfe.
Edit 13.02.2025: Es funktioniert!!! Leider kann ich aber nicht nachvollziehen warum. Aus lauter Frust hab ich nochmals
https://www.raspilc.de/Tutorials/4-Kanal-Analog-Modul-in-ioBroker-nutzen über die Katze im IoBroker eingespielt. Ging ohne Fehler und ich hatte im Objekt 8 Kanäle und 1 und 5 hatten auch etwas angezeigt. Hab dann mein Java Script aufgerufen und auch das ging ohne Fehler. Was jetzt anders war als in den letzten Tagen kann ich leider nicht sagen. Falls jemand eine nachvollziehbare Idee hat kann das ja nicht schaden die hier zu posten.
LG Horst