Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. Alias auf Shelly - unerwartete Änderung des Aliastyps

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    929

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Alias auf Shelly - unerwartete Änderung des Aliastyps

Geplant Angeheftet Gesperrt Verschoben Error/Bug
aliasshellysblockly
40 Beiträge 3 Kommentatoren 3.5k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • I Offline
    I Offline
    ioMas
    schrieb am zuletzt editiert von
    #6

    @iomas
    Kleiner Nachtrag das neustarten des Scriptes (nicht des adapters) ändert daran leider auc nichts

    I 1 Antwort Letzte Antwort
    0
    • I ioMas

      @iomas
      Kleiner Nachtrag das neustarten des Scriptes (nicht des adapters) ändert daran leider auc nichts

      I Offline
      I Offline
      ioMas
      schrieb am zuletzt editiert von
      #7

      @iomas
      Nachtrag 2, In der Adminoberfläche macht es keinen Unterschied ob ich konvertiere oder nicht in beiden Fällen wird entsprechend true oder false angezeigt, habe mich dennoch entschieden es wieder auf val=='on' zu setzen da das mit meiner Logik irgendwie mehr entspricht :?

      1 Antwort Letzte Antwort
      0
      • I ioMas

        @paul53
        Meinst du im Alias die Zeile 15 leeren "read": "val=='on'",?
        Im Admin Adapter stet dann direkt val, das kann man wohl nicht löschen.
        ich habe das jetzt mal getestet: allerdings ohne den javascriptadapter neu zu starten, ich hätte da ein anderes Ergebnis erwartet aber das folgende ist passiert:

        #case normal durch bewegungsmelder
        19:32:50.355	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
        19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
        19:32:50.357	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
        19:32:50.358	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
        19:32:50.361	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
        19:33:22.338	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
        19:33:22.339	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
        19:33:50.366	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
        
        #case durch beweg an durch manuelles schalten ausgeschaltet
        19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
        19:33:53.270	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
        19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
        19:33:53.271	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
        19:33:53.272	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
        19:34:25.254	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
        19:34:25.255	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
        19:34:53.274	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
        19:35:36.111	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
        19:35:36.113	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
        19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
        19:35:36.114	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0.5b: aus
        19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: erkanntfalse
        19:35:36.115	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 2: Licht ist aus
        19:35:36.117	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
        19:36:08.093	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 0: Bewegung
        19:36:08.094	debug	javascript.0 (783) script.js.EG.kueche.beweg2: 1: nicht erkannt
        19:36:36.122	debug	javascript.0 (783) script.js.EG.kueche.beweg2: X: Licht ausschalten
        

        das verhalten hat sich nicht geändert :? soll ich den js adapter einmal neu starten?

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #8

        @iomas sagte: soll ich den js adapter einmal neu starten?

        Der Alias wird im js-controller verarbeitet.

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        I 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @iomas sagte: soll ich den js adapter einmal neu starten?

          Der Alias wird im js-controller verarbeitet.

          I Offline
          I Offline
          ioMas
          schrieb am zuletzt editiert von
          #9

          @paul53
          habe die readfunktionalität noch einmal entfernt und auch den js adapter neu gestartet leider mit gleichem Ergebnis.

          paul53P 1 Antwort Letzte Antwort
          0
          • I ioMas

            @paul53
            habe die readfunktionalität noch einmal entfernt und auch den js adapter neu gestartet leider mit gleichem Ergebnis.

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #10

            @iomas sagte: js adapter neu gestartet

            Starte mal ioBroker neu.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            I 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @iomas sagte: js adapter neu gestartet

              Starte mal ioBroker neu.

              I Offline
              I Offline
              ioMas
              schrieb am zuletzt editiert von
              #11

              @paul53
              hat leider nichts gebracht :(

              paul53P 1 Antwort Letzte Antwort
              0
              • I ioMas

                @paul53
                hat leider nichts gebracht :(

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #12

                @iomas sagte: hat leider nichts gebracht

                Noch ein Versuch: Ändere die Rolle des Alias in "switch".

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                I 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @iomas sagte: hat leider nichts gebracht

                  Noch ein Versuch: Ändere die Rolle des Alias in "switch".

                  I Offline
                  I Offline
                  ioMas
                  schrieb am zuletzt editiert von
                  #13

                  @paul53
                  habe die Rolle in switch geändert leider bleibt es dabei, es wird ein string draus.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • I ioMas

                    @paul53
                    habe die Rolle in switch geändert leider bleibt es dabei, es wird ein string draus.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #14

                    @iomas sagte: bleibt es dabei, es wird ein string draus.

                    Mal InfluxDB auf dem Alias deaktiviert?

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    I 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @iomas sagte: bleibt es dabei, es wird ein string draus.

                      Mal InfluxDB auf dem Alias deaktiviert?

                      I Offline
                      I Offline
                      ioMas
                      schrieb am zuletzt editiert von
                      #15

                      @paul53
                      InfluxDB abschalten hat leider keinen Einfluß auf das beschriebene Verhalten.

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • I ioMas

                        @paul53
                        InfluxDB abschalten hat leider keinen Einfluß auf das beschriebene Verhalten.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #16

                        @iomas
                        Ich habe den Javascript-Code mal zum Testen übernommen, zwei Aliase und zwei MQTT-Datenpunkte erstellt und getestet: Ich erhalte immer nur:

                        0.1: Hinweise: Typ:boolean Wert ist: false
                        

                        oder true. Mit welchem Ablauf erscheint?

                        0.1: Hinweise: Typ:string Wert ist: off
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        1
                        • I Offline
                          I Offline
                          ioMas
                          schrieb am zuletzt editiert von ioMas
                          #17

                          @paul53
                          Dieser erscheint wenn ich den shelly über die app frühzeitig ausschalte, also Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird, dann kommt es zu besagtem Wechsel des Typs.

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • I ioMas

                            @paul53
                            Dieser erscheint wenn ich den shelly über die app frühzeitig ausschalte, also Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird, dann kommt es zu besagtem Wechsel des Typs.

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #18

                            @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                            Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                            Habe ich mal nachgestellt:

                            16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                            16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                            16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                            16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                            16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                            16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                            16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                            16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                            16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                            16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                            16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                            16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                            16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                            

                            Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                            on({id: idLichtSchalter}, function(dp) {
                                log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                            });
                            

                            Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                            17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                            17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                            17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                            

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            I 2 Antworten Letzte Antwort
                            0
                            • paul53P paul53

                              @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                              Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                              Habe ich mal nachgestellt:

                              16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                              16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                              16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                              16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                              16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                              16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                              16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                              16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                              16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                              16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                              16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                              16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                              16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                              16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                              16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                              16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                              16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                              

                              Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                              on({id: idLichtSchalter}, function(dp) {
                                  log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                              });
                              

                              Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                              17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                              17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                              17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                              
                              I Offline
                              I Offline
                              ioMas
                              schrieb am zuletzt editiert von
                              #19

                              @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                              on({id: idLichtSchalter}, function(dp) {

                              Ich habe mein Script mal um folgendes erweitert, analog zu deinem JS, hoffe ich...
                              5440c641-5f17-4b15-8f4c-984ede15e422-grafik.png

                              on({id: [].concat(idLichtSchalter), change: "ne"}, async function (obj) {
                                var value = obj.state.val;
                                var oldValue = obj.oldState.val;
                                console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                              });
                              

                              ist was im blockly unter JS dazukam.
                              Die Ausgabe sieht bei mir danach wie folgt aus:

                              17:21:44.814	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                              17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                              17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                              17:21:44.817	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                              17:21:44.821	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                              17:21:44.913	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                              17:22:03.022	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                              17:22:16.783	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                              17:22:16.784	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                              17:22:44.823	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                              17:22:54.973	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                              17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                              17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                              17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                              17:22:54.975	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                              17:22:54.976	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                              17:22:54.977	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                              17:22:55.046	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                              17:23:26.961	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                              17:23:26.962	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                              17:23:54.979	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                              17:23:55.052	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                              

                              hilft das weiter?

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • I ioMas

                                @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                on({id: idLichtSchalter}, function(dp) {

                                Ich habe mein Script mal um folgendes erweitert, analog zu deinem JS, hoffe ich...
                                5440c641-5f17-4b15-8f4c-984ede15e422-grafik.png

                                on({id: [].concat(idLichtSchalter), change: "ne"}, async function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                });
                                

                                ist was im blockly unter JS dazukam.
                                Die Ausgabe sieht bei mir danach wie folgt aus:

                                17:21:44.814	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                17:21:44.815	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                17:21:44.817	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                17:21:44.821	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                17:21:44.913	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                17:22:03.022	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                17:22:16.783	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                17:22:16.784	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                17:22:44.823	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                17:22:54.973	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                17:22:54.974	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                17:22:54.975	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                17:22:54.976	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                17:22:54.977	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                17:22:55.046	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                17:23:26.961	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                17:23:26.962	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                17:23:54.979	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                17:23:55.052	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                

                                hilft das weiter?

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von paul53
                                #20

                                @iomas sagte: hilft das weiter?

                                Nicht wirklich. Ich kann das Verhalten mit "Wert ist: off" bei mir nicht nachstellen - bei gleichem Ablauf. Version des Hosts (js-controller)?
                                Außerdem triggert mein Debug-Trigger auf "wurde aktualisiert".

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                I 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @iomas sagte: hilft das weiter?

                                  Nicht wirklich. Ich kann das Verhalten mit "Wert ist: off" bei mir nicht nachstellen - bei gleichem Ablauf. Version des Hosts (js-controller)?
                                  Außerdem triggert mein Debug-Trigger auf "wurde aktualisiert".

                                  I Offline
                                  I Offline
                                  ioMas
                                  schrieb am zuletzt editiert von
                                  #21

                                  @paul53
                                  habe es auf aktualisiert geändert:
                                  f1d217cb-bd75-4c31-a783-205b3f147578-grafik.png

                                  on({id: [].concat(idLichtSchalter), change: "any"}, async function (obj) {
                                    var value = obj.state.val;
                                    var oldValue = obj.oldState.val;
                                    console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                  });
                                  

                                  Debugausgabe:

                                  17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                  17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                  17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                  17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                  17:36:35.504	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                  17:36:35.588	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                  17:36:45.637	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                  17:37:07.496	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                  17:37:07.498	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                  17:37:35.507	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                  17:37:49.309	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                  17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                  17:37:49.311	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                  17:37:49.417	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                  17:38:21.305	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                  17:38:21.306	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                  17:38:49.312	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                  17:38:49.425	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                  
                                  

                                  e30f3e69-2935-4d43-a5d8-122d7e17ab72-grafik.png

                                  Host js sollt 4.0.24 sein.

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • I ioMas

                                    @paul53
                                    habe es auf aktualisiert geändert:
                                    f1d217cb-bd75-4c31-a783-205b3f147578-grafik.png

                                    on({id: [].concat(idLichtSchalter), change: "any"}, async function (obj) {
                                      var value = obj.state.val;
                                      var oldValue = obj.oldState.val;
                                      console.debug((['Alias: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                    });
                                    

                                    Debugausgabe:

                                    17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                    17:36:35.502	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:boolean Wert ist: false
                                    17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                    17:36:35.503	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                    17:36:35.504	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                    17:36:35.588	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                    17:36:45.637	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                    17:37:07.496	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                    17:37:07.498	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                    17:37:35.507	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                    17:37:49.309	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                    17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.1: Hinweise: Typ:string Wert ist: off
                                    17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5: Bugfix wrong typestring Wert ist: off
                                    17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0.5b: aus
                                    17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: erkanntfalse
                                    17:37:49.310	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 2: Licht ist aus
                                    17:37:49.311	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 3: kleiner Schwellwert->Licht anschalten
                                    17:37:49.417	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: true, Ack: true, Skript: system.adapter.mqtt.0
                                    17:38:21.305	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 0: Bewegung
                                    17:38:21.306	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: 1: nicht erkannt
                                    17:38:49.312	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: X: Licht ausschalten
                                    17:38:49.425	debug	javascript.0 (291426) script.js.EG.kueche.beweg2: Alias: false, Ack: true, Skript: system.adapter.mqtt.0
                                    
                                    

                                    e30f3e69-2935-4d43-a5d8-122d7e17ab72-grafik.png

                                    Host js sollt 4.0.24 sein.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #22

                                    @iomas sagte: Debugausgabe:

                                    Wie bei mir - außer der Typänderung in String mit "off".

                                    @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                    Host js sollt 4.0.24 sein.

                                    Bei mir auch. An der Version kann es nicht liegen. Ich nutze allerdings noch Node.js 16.

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @iomas sagte in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                      Licht geht an, ich schalte per App oder phsyikalisch den Schalter aus. Wenn danach erneut der Bewegungsmelder aktiviert wird

                                      Habe ich mal nachgestellt:

                                      16:49:48.115	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                      16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                      16:49:48.116	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                      16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                      16:49:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                      16:49:48.248	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                      16:50:00.164	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      16:50:48.117	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      16:50:48.176	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0: Bewegung
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 0.1: Hinweise: Typ:boolean Wert ist: false
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 1: erkanntfalse
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 2: Licht ist aus
                                      16:51:02.813	info	javascript.1 (2077) script.js.common.Neuer_Test: 3: kleiner Schwellwert->Licht anschalten
                                      16:51:02.886	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: true, Ack: true, Skript: script.js.common.Shelly1
                                      16:52:02.817	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      16:52:02.916	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      

                                      Der zusätzliche Log-Eintrag kommt aus dem Debug-Log auf dem Alias:

                                      on({id: idLichtSchalter}, function(dp) {
                                          log('Alias: ' + dp.state.val + ', Ack: ' + dp.state.ack + ', Skript: ' + dp.state.c);
                                      });
                                      

                                      Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                      17:25:49.123	info	javascript.1 (2077) script.js.common.Neuer_Test: X: Licht ausschalten
                                      17:25:49.127	info	javascript.1 (2077) script.js.common.Neuer_Test: MQTT Command: off, Ack: false
                                      17:25:49.180	info	javascript.1 (2077) script.js.common.Neuer_Test: Alias: false, Ack: true, Skript: script.js.common.Shelly1
                                      
                                      I Offline
                                      I Offline
                                      ioMas
                                      schrieb am zuletzt editiert von
                                      #23

                                      @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                      Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                      Da bin ich tatsächlich noch am schwimmen, bin erst seit Anfang des Monats dabei und habe diese Woche noch dazu ein Video angeschaut...

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • I ioMas

                                        @paul53 said in Alias auf Shelly - unerwartete Änderung des Aliastyps:

                                        Was mir auffällt: Der Debug-Trigger liefert stets "Ack: true", d.h. auf das ursprüngliche Setzen mit ack = false reagiert der Trigger nicht. Allerdings reagiert das MQTT-Kommando:

                                        Da bin ich tatsächlich noch am schwimmen, bin erst seit Anfang des Monats dabei und habe diese Woche noch dazu ein Video angeschaut...

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von
                                        #24

                                        @iomas sagte: Da bin ich tatsächlich noch am schwimmen

                                        Dieses Verhalten ist offenbar nur bei Alias-DP mit getrennten IDs für Status und Kommando so: Es wird nur auf den Status getriggert.

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        I 2 Antworten Letzte Antwort
                                        1
                                        • paul53P paul53

                                          @iomas sagte: Da bin ich tatsächlich noch am schwimmen

                                          Dieses Verhalten ist offenbar nur bei Alias-DP mit getrennten IDs für Status und Kommando so: Es wird nur auf den Status getriggert.

                                          I Offline
                                          I Offline
                                          ioMas
                                          schrieb am zuletzt editiert von ioMas
                                          #25

                                          @paul53
                                          Ich habe jetzt mal umgestellt auf 2 Aliase, einen auf lesen (EGKuecheFensterLichtRead) einen auf schreiben(EGKuecheFensterLichtWrite). Das JS von Blockly sieht nun so aus:

                                          var LichtNachdetektionAnbleiben, schwellWertLicht, idLichtSchalterWrite, LichtDurchBewegAn, idLichtSchalterRead, lichtIstAn, verl_C3_A4ngerungLicht, initLichtAus;
                                          
                                          // Beschreibe diese Funktion …
                                          async function Licht_ausschalten() {
                                            console.debug('X: Licht ausschalten');
                                            LichtDurchBewegAn = false;
                                            setStateDelayed(idLichtSchalterWrite, false, false, parseInt(((0) || "").toString(), 10), false);
                                          }
                                          
                                          
                                          LichtNachdetektionAnbleiben = 60000;
                                          schwellWertLicht = getState("0_userdata.0.Technik.EG.Kueche.EGKuecheFensterBeweg.BrigthnessSchwellwert").val;
                                          idLichtSchalterWrite = 'alias.0.eg.Kueche.EGKuecheFensterLichtWrite';
                                          idLichtSchalterRead = 'alias.0.eg.Kueche.EGKuecheFensterLichtRead';
                                          LichtDurchBewegAn = false;
                                          on({id: "alias.0.eg.Kueche.EGKuecheFensterBeweg"/*EGKuecheFensterBeweg*/, change: "any", ack: true}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            console.debug('0: Bewegung ');
                                            if ((obj.state ? obj.state.val : "")) {
                                              lichtIstAn = getState(idLichtSchalterRead).val;
                                              console.debug((['0.1: Hinweise: Typ:',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
                                              if (true && typeof lichtIstAn != 'boolean') {
                                                console.debug((['0.5: Bugfix wrong type',typeof lichtIstAn,' Wert ist: ',lichtIstAn].join('')));
                                                if (lichtIstAn == 'on') {
                                                  lichtIstAn = true;
                                                  console.debug('0.5a: an');
                                                } else {
                                                  lichtIstAn = false;
                                                  console.debug('0.5b: aus');
                                                }
                                              }
                                              console.debug(('1: erkannt' + String(lichtIstAn)));
                                              if (lichtIstAn) {
                                                console.debug('2: Licht ist bereits an');
                                                if (LichtDurchBewegAn) {
                                                  console.debug('3: verlängere Lichtdauer');
                                                  (function () {if (initLichtAus) {clearTimeout(initLichtAus); initLichtAus = null;}})();
                                                  (function () {if (verl_C3_A4ngerungLicht) {clearTimeout(verl_C3_A4ngerungLicht); verl_C3_A4ngerungLicht = null;}})();
                                                  verl_C3_A4ngerungLicht = setTimeout(async function () {
                                                    await Licht_ausschalten();
                                                  }, parseInt(LichtNachdetektionAnbleiben));
                                                } else {
                                                  console.debug('3:nothing2do Licht nicht durch Algo gesetzt');
                                                }
                                              } else {
                                                console.debug('2: Licht ist aus');
                                                if (getState("alias.0.eg.Kueche.EGKuecheFensterBewegLux").val < schwellWertLicht) {
                                                  console.debug('3: kleiner Schwellwert->Licht anschalten');
                                                  LichtDurchBewegAn = true;
                                                  setStateDelayed(idLichtSchalterWrite, true, false, parseInt(((0) || "").toString(), 10), false);
                                                  initLichtAus = setTimeout(async function () {
                                                    await Licht_ausschalten();
                                                  }, parseInt(LichtNachdetektionAnbleiben));
                                                } else {
                                                  console.debug('3: größer Schwellwert');
                                                }
                                              }
                                            } else {
                                              console.debug('1: nicht erkannt');
                                            }
                                          });
                                          on({id: [].concat(idLichtSchalterRead), change: "any"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            console.debug((['AliasRead: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                          });
                                          on({id: [].concat(idLichtSchalterWrite), change: "any"}, async function (obj) {
                                            var value = obj.state.val;
                                            var oldValue = obj.oldState.val;
                                            console.debug((['AliasWrite: ',(obj.state ? obj.state.val : ""),', Ack: ',(obj.state ? obj.state.ack : ""),', Skript: ',(obj.state ? obj.state.from : "")].join('')));
                                          });
                                          
                                          //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMjklMjRLaHElNjBaJTNGIUhMWSUzQTdFcmclM0R0bCUyMiUzRWlkTGljaHRTY2hhbHRlcldyaXRlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMi1uJTVCX1duJTdDOHElN0RMbGhYZmslNDBrKCU1QiUyMiUzRWlkTGljaHRTY2hhbHRlclJlYWQlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwdHlwZSUzRCUyMnRpbWVvdXQlMjIlMjBpZCUzRCUyMnZlcmwlQzMlQTRuZ2VydW5nTGljaHQlMjIlM0V2ZXJsJUMzJUE0bmdlcnVuZ0xpY2h0JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJpbml0TGljaHRBdXMlMjIlM0Vpbml0TGljaHRBdXMlM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiotJTNGSCU2MFduNGdEJTdEMF8pKTdZb2REJTIyJTIweCUzRCUyMjE2MyUyMiUyMHklM0QlMjIxMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMnB1NlUuQyUyM1dSYlAlNURQOShNeCU0MC1LJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNjAwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTJDZzZhfjh1ciUyRk9tYSUzRGRWRjMlNUR4JTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMnZoQ3dnLTlsM01vQ2lUVk0lN0JnNDglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuVGVjaG5pay5FRy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyQmV3ZWcuQnJpZ3RobmVzc1NjaHdlbGx3ZXJ0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMjlGQiUyMyU3REV1JTVEbVBzNndDJTVEUSUzREopJTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI5JTI0S2hxJTYwWiUzRiFITFklM0E3RXJnJTNEdGwlMjIlM0VpZExpY2h0U2NoYWx0ZXJXcml0ZSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMnNMJTIzKiolMjRFayUyNSU1RFhBaGVUTzcoNV8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VhbGlhcy4wLmVnLkt1ZWNoZS5FR0t1ZWNoZUZlbnN0ZXJMaWNodFdyaXRlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyNCU3Q21MdShnJTdDN0ghT3p6MERfZHFqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyaVZyJTNBMDIlM0J3JTdDNCUzRCUzQjE0NE5Yd1VZJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFYWxpYXMuMC5lZy5LdWVjaGUuRUdLdWVjaGVGZW5zdGVyTGljaHRSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiU1QnNNNUMhaHllJTdDNkV+SWxZajU5biUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJfcyUyQiU3QiU0MGElMkNkc2ZPJTVEJTVEKkl3TlkzJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uJTIyJTIwaWQlM0QlMjJ1MSpsOClHUkElM0ZQQmolNUJSQTBhJTI0UyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWFsaWFzLjAuZWcuS3VlY2hlLkVHS3VlY2hlRmVuc3RlckJld2VnJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VhbnklM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0V0cnVlJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMllhUWElN0IlNURyVTlMeGh3WHJXJTI0RiUyNX4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnRFMClqc3MlMkZTTEhKeWQlM0YuTGkxRyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UwJTNBJTIwQmV3ZWd1bmclMjAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIxSW03JTNGS2J1VSUzQSUzQmMlN0MpYyUzQiUyNWRUJTJCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjIpJTI0LW4lNURZJTNCX0trWTMlMjVNKnFBOVRMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJmJTNEVWYlNUJ0WE54T2t5c3Z5JTVFa1g0dyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMiUzRDglNDBpeSU0MEg0bWMpSVUlNUVJdiU1RDZjYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJXOS5HM3QlM0ZmOSUzRHJ2T0g2Y1FqRiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJOTWl2JTNEJTIzJTJCKSU3QyUyNSU0MCUyQyhYa0gtKVN+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTVEb29OKTMyWCU3RG0lM0ZmVjA1NSlLRCUzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyJTVEanp5KU00dXFDQSUyM0ljR35HZ1VzJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjQlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0R5JTIzeVolMkYyNDUlMjMlMjUlN0RNIWdTNFclMkIoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuMSUzQSUyMEhpbndlaXNlJTNBJTIwVHlwJTNBJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnZlcnRfdHlwZSUyMiUyMGlkJTNEJTIyaiUzQmklMjQyWkpZUGolMjRoISUzRCUyRmZmOUctJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySVRFTSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlB0TWJrJTYwJTQwJTVEJTNEJTJDJTdCRV9VM0F6bWpmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUzQSUzRiU3QkhUJTJGcDBrYyU1RVpzUm5TQkElM0JJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyMFdlcnQlMjBpc3QlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyU1BfdFYlNjBuR3V+Mm9relMlNURTMDAlN0MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMndHaSU3QmIlN0N3JTNCQU4xLi1sJTVCKnk4eHElMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19vcGVyYXRpb24lMjIlMjBpZCUzRCUyMkI0JTVEKTQxVXUlM0QqdGx6IWYqZCUyMyUyRiUyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFQU5EJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyeDdmcV9VZkVxJTNCLiUyNFZTJTVEJTI0TUFUMSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMkdHJTdEVUMpJTI1OCUyRmg4cU4zcXRuUmVtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VORVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X3R5cGUlMjIlMjBpZCUzRCUyMipHJTQwJTNGUiE2dCUyQiUzQWJjSFAzJTNEKXolM0E4JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySVRFTSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUyQm9KOCU2MDRPNWYuejlnc1ElM0E1JTdDRTMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTJCaHRLKiU3Qn4lNDBVc3pwJTVEcktNVSp6QSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0Vib29sZWFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMmlzdmFvek5rSyUyNCU3Q3p2MiUzRDBqYX5hJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjI3JTYwciFoJTNEQmFQejFrRW5QaG9+JTIzJTI1JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjQlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJuaGtQcXRDYXZTOEMlNjBhS2FGRjBPJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuNSUzQSUyMEJ1Z2ZpeCUyMHdyb25nJTIwdHlwZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb252ZXJ0X3R5cGUlMjIlMjBpZCUzRCUyMiooJTIzWCUyQmN4KCpEeSU0ME1FeiUzQnElNUUuQSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklURU0lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ5YWU1OCU1RChwRGsxJTVFJTdDJTI0biU1QjFiNSU1RSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJpbWNUZkgwVjNiJTIzKX4lNURjOCU3RCpZKiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMjBXZXJ0JTIwaXN0JTNBJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMi55THAlNURSJTI1QmR0biU2MCUzREMlN0Q1VENKTSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyc19mWEMyJTQwcnRpV04lMjNiSlQ0Z0JKJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIydyUzQkglMjN5SDNhZSU1RHolM0RsMiU1RVJJNColMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTVFeTVnTHYlNUUtJTQwZWYlM0Y0NWtWVnVyMCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMk5PJTVCVihxJTNCJTIzZC05U1NUJTJGMG1PYiUzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VvbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyVkJXbCU2MGclMkMlM0ElNjBVMSUyQjYlM0ZDIV96VWElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIzYiFtKCUyNEJqJTI0NnJxbCUyNVQlN0RoRkd6JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUzRCUyNH44YiU3QiFYZDZ6emIzKXNqR2tjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJlJTdDYUklMkZJSyU3QkklNUVGQUtJNnIuLTcyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTAuNWElM0ElMjBhbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyaSU0MCU3RHFrUngpflB4LlElN0R3OGUlMkMyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIycmglMjMlMkZOYkglM0ZWLkpOcWMlMjNUclAlN0MlNUQlMjIlM0VsaWNodElzdEFuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMk5kdGtLWlJ0dU5UWDFYJTVCMmlyZUYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyM0YlNUUhfn5VSEY3ODFHaTUzQyU2MCFkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJOaWN2T0VVLTglMkZENmdlQ0wlMkMlMjVWbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UwLjViJTNBJTIwYXVzJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMl9GNEFzSSolN0QzJTdDMiU3QiUyM0YlNDAlNUJlMDkyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJka2xVODFEbTFtSzFINHJpJTVFJTdCdColMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMjl1Si5qZmNNRC0lN0IlN0MlMkMlM0QlMkZMMXJ4OSUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyLkRTUEN2aXYpZ0E1eVE4b0YtQjklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMSUzQSUyMGVya2FubnQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIybCUzQTUuSkZwJTdCa2tBT1JaRjFGUFYpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyaCUyMyUyRk5iSCUzRlYuSk5xYyUyM1RyUCU3QyU1RCUyMiUzRWxpY2h0SXN0QW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlNjBITSUyNGJvWklXOEUlNDAyQUolN0JDeChCJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyNDQlM0FZTHElNUJpeiU1RCUzRiUzQUJ5QzMhJTNBaWwlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJoJTIzJTJGTmJIJTNGVi5KTnFjJTIzVHJQJTdDJTVEJTIyJTNFbGljaHRJc3RBbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIybmtGQyUyNHclMkMlMjRCJTVEJTNBJTVELiU3QyU3RGpuQzNkJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJKc2VFay1+VCUzQWpoNilhTC5iMnUhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTIlM0ElMjBMaWNodCUyMGlzdCUyMGJlcmVpdHMlMjBhbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMm1YOTJUJTNCaTlRdCUzRiUyNVkpb3F2JTVFemUlMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJtb3dyYmwxJTIzTE5oeW9UXy1OaCU1QmclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk4pJTJCKjF+M1pTbG0qZHhmZWglNjAlNUJFJTIyJTNFTGljaHREdXJjaEJld2VnQW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyQ1lxNUJTUmYhWClHM3ZGSGRrJTNBMSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIybDUtTSUyQiUyNCpmdjMlN0QpU2kqbnd4JTVEaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UzJTNBJTIwdmVybCVDMyVBNG5nZXJlJTIwTGljaHRkYXVlciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfY2xlYXJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ3RUkwYlNpVzlHYmw4JTVFSXIlM0ElMkZ+JTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRWluaXRMaWNodEF1cyUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX2NsZWFydGltZW91dCUyMiUyMGlkJTNEJTIyKipXMyU1RSU2MGVmJTJDJTVEUSUyM18hUSFLJTdELkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdmVybCVDMyVBNG5nZXJ1bmdMaWNodCUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXRfdmFyaWFibGUlMjIlMjBpZCUzRCUyMk1+NFolMkZ5JTJDJTdEJTVCcXYlMkYlM0YlNUVNIVVzdiElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdmVybCVDMyVBNG5nZXJ1bmdMaWNodCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiU3Q1hFfm54TXQpJTQwLikySlZwTmlQWCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTEwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUyQ1R0JTNGQWdUJTVCMS5wS2xuJTQwWCU1QiFrQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTNBTiU1QmNJJTNGJTdEMiU3Qjh3ZHZmJTNGOGM0VyolMjIlM0VMaWNodE5hY2hkZXRla3Rpb25BbmJsZWliZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsbm9yZXR1cm4lMjIlMjBpZCUzRCUyMiU2MHolN0JLQktYTCU0MEotQyU2MChjVElidVMlMjIlM0UlM0NtdXRhdGlvbiUyMG5hbWUlM0QlMjJMaWNodCUyMGF1c3NjaGFsdGVuJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyRzFiSCUyRiU3Qk9nNyUzQUJYKCohJTVFTWQ0MSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFZGVidWclM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyLWRiaCUyQ1dKLkYlM0Y4MVBCIWh6bmUlN0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMyUzQW5vdGhpbmcyZG8lMjBMaWNodCUyMG5pY2h0JTIwZHVyY2glMjBBbGdvJTIwZ2VzZXR6dCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyTiUzQmxwKWFDJTI0JTYwZilmLnpLSVR6TVMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlolN0NzJTQwLVklN0NjendsJTdCLjMpRnBZbn4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMiUzQSUyMExpY2h0JTIwaXN0JTIwYXVzJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyUiUyQ3FhdSU0MFVsWnAlNUJrJTVFRSUzRDkqWHF5JTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyWSpDUWstWmhOXzR2JTVCJTdEJTVCbCFKJTVCbSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFTFQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiFfJTYwSjRhJTdCMSU3QktfJTNCJTJDUHQlM0ElNjAlNjBkNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWFsaWFzLjAuZWcuS3VlY2hlLkVHS3VlY2hlRmVuc3RlckJld2VnTHV4JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnpHemhLUG5PLjhDV2QqJTNESS0lMjMlMjVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJofiU3RHQ5TUxMJTVEaXRfViU3Q1ZSWTNNJTI1JTIyJTNFc2Nod2VsbFdlcnRMaWNodCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMkYocyUzRnYlMkYwVExUZUElNUVWa2UlMjVQQVolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmlwYiElM0YodU1qbnlRJTVEWDguJTVFJTJDX2clMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMyUzQSUyMGtsZWluZXIlMjBTY2h3ZWxsd2VydC0lMjZndCUzQkxpY2h0JTIwYW5zY2hhbHRlbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyUnUzZEVNT3ElM0R+ZEMhOCo0QmIlM0RwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJOKSUyQioxfjNaU2xtKmR4ZmVoJTYwJTVCRSUyMiUzRUxpY2h0RHVyY2hCZXdlZ0FuJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMnAlNDA1SnNOS34lM0YlN0IlMjRwR2dYUTQlMjUyZyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xfZXglMjIlMjBpZCUzRCUyMl8lM0RkZE9xZDRRNGclMjQxc19QdllxaSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRZUEUlMjIlM0VmYWxzZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJSM3RUSThlQyUyRmUlMjVzJTJCci0lMkJNekFjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFT2JqZWN0JTIwSUQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMjBEM0g1JTIzZlVkXyUzQWJDOUJjLigwMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOSUyNEtocSU2MFolM0YhSExZJTNBN0VyZyUzRHRsJTIyJTNFaWRMaWNodFNjaGFsdGVyV3JpdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjI5JTYwMVM4NHlVJTVEbHo4aHN3TSpQbDIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyLShTJTIzQ3lVOW5keiUzQnNrWSUzRFZ2JTJCLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVvdXRzX3NldHRpbWVvdXRfdmFyaWFibGUlMjIlMjBpZCUzRCUyMklQKCUzQjhmeSU3RHBmJTdDS3MqJTJDTURONWolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFaW5pdExpY2h0QXVzJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIycHMlMjUlNUVYZk0qJTNEciUzRCU1QlRQejBxLkwyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFNjAwMDAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnUlN0J+bEQlM0ZSfjRxXyUyQ1AuckUlNUJkflclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUzQU4lNUJjSSUzRiU3RDIlN0I4d2R2ZiUzRjhjNFcqJTIyJTNFTGljaHROYWNoZGV0ZWt0aW9uQW5ibGVpYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfY2FsbG5vcmV0dXJuJTIyJTIwaWQlM0QlMjJtJTdCJTJDbEMwMnROSThqXzZMMyUzQipweSUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMkxpY2h0JTIwYXVzc2NoYWx0ZW4lMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJoZlUhbklMKlclM0EqJTdDSnolMjVodlolN0RFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ3KjE3diUyRiU3QmguJTI0QXZKbilDV0clM0JSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRTMlM0ElMjBnciVDMyVCNiVDMyU5RmVyJTIwU2Nod2VsbHdlcnQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyYyUzRGcqZkklMjMtTHklMjMlMkNISyU3Qkd6c3E2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0I1JTdENFAlMjRhNEtqTWNjNkFsT1lkNiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UxJTNBJTIwbmljaHQlMjBlcmthbm50JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJscDYlN0IlMkYlMjUpY3dSJTJCZWJpTHRLKEQlNUIlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMiglNUJ1JTVEJTYwJTI0eW0ybkIxenIlNDBOZ1klNURwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIybSkuUHdlZ19ieFBoJTNGZzYzMEN3JTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjItbiU1Ql9XbiU3QzhxJTdETGxoWGZrJTQwayglNUIlMjIlM0VpZExpY2h0U2NoYWx0ZXJSZWFkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJuKkRsX3IlM0RWMiUzREFhbF9+VTV+VlolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnAlN0NEJTJCJTNCbHU1LiUyNCU3Q0lucy5OQXglM0QpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIydSUyM2JINW1RRiUyNHZZYyU2MCU3Q0glM0FMVm9mJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjYlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJBQSU2MCp6ZHYqY2wlMjNYTFdUJTNBTG9XVCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VBbGlhc1JlYWQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJIYy5QdHEhUFMlN0JtbmlpcyU3QjllKSU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS52YWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaSU1QiFPJTNBfiFma1VtdHJ1bERTdzMpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUyQyUyMEFjayUzQSUyMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMjAwbSU1RWUlM0RTOX5Rdi5sRzVTYXVkcCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS5hY2slM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ0JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyOEYlNUU3eUMlMkJ5JTI0cWp1KiUyNTVvZHIwRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBTa3JpcHQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJndnpCYXNVJTVEU0NxLlVvTWhJRXYlM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUuZnJvbSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMkpUaHZhVG0uKiU3QkUlM0YlNUIyM2VHTiU3RG0lMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VkZWZhdWx0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJlJTI0JTNBQiUyNHN4MjAlMkMlNjB6dUN1JTNGJTNCWV8wJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI5JTI0S2hxJTYwWiUzRiFITFklM0E3RXJnJTNEdGwlMjIlM0VpZExpY2h0U2NoYWx0ZXJXcml0ZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTJDISUzRDFHOUFxNShvSEoodSlVWlBpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU2V2ZXJpdHklMjIlM0VkZWJ1ZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXRlc3QlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfam9pbiUyMiUyMGlkJTNEJTIyYXBLMlUxeEZFaiUyQ01seW1sZCUyM3J2JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjYlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJBayU3RE8lNjAlMkNvdlk0RUw1JTNGZCU1QiU3QmEwSCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VBbGlhc1dyaXRlJTNBJTIwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIyYWhuJTJDKXpaJTI1eS1XT35TTmUlNUIlMjMlM0FpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJhJTQwZU14JTI1UUl5eW5VJTVEVyUyMyU1QmclM0JDSCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBBY2slM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQzJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjI0JTQweSUyNFlOJTQwenBTbCUyQiU1RW1hMmpXcVElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFc3RhdGUuYWNrJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU1QiU3Qio3JTdCcE5+KGNhOCU3RCU0MGRhMjZfeCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlMkMlMjBTa3JpcHQlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fc291cmNlJTIyJTIwaWQlM0QlMjJOSTRzWnMtZyhFV2ZBJTNBWHgybl83JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLmZyb20lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnByb2NlZHVyZXNfZGVmbm9yZXR1cm4lMjIlMjBpZCUzRCUyMnUwd1IlNDB5SGtsJTNBZCUyQiUyNCU1QnElMjRKOF9mJTIyJTIweCUzRCUyMjgzOCUyMiUyMHklM0QlMjI5NjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFTGljaHQlMjBhdXNzY2hhbHRlbiUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFDSyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJmMHctJTdERUZ3WnYlM0IlM0QxTEMlM0ElM0FtR2olMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWRlYnVnJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnRWJTJDSzQlMjVCZiUzQS5RZ3VDWEclN0QlMjRVJTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVglM0ElMjBMaWNodCUyMGF1c3NjaGFsdGVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlM0RkJTJGaCUzRFNFT20oJTNEbyUyNGtlQlRwMyUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTiklMkIqMX4zWlNsbSpkeGZlaCU2MCU1QkUlMjIlM0VMaWNodER1cmNoQmV3ZWdBbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIlMjUlNUQqNFh2aCU1RCUzQmRkUSUyMzZmJTI1JTVFMyglM0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbF9leCUyMiUyMGlkJTNEJTIyZF9LMS1EcSUyQiU3QjIlMkMqV3EtZTFfJTNCJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVFlQRSUyMiUzRWZhbHNlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VPYmplY3QlMjBJRCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyYmQlNUIxRmpmViU1RWQlM0ZtaiU3QnF0Wm50KSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyOSUyNEtocSU2MFolM0YhSExZJTNBN0VyZyUzRHRsJTIyJTNFaWRMaWNodFNjaGFsdGVyV3JpdGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ3aiUyQzByV2hwdWsyJTdCJTQwRlFRNWlqdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyMiUyQmJVSCU3Q2MlM0JsbmtXSyU1RGJSJTNEbFNLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
                                          

                                          Alias Read:

                                          {
                                            "common": {
                                              "name": "EGKuecheFensterLichtRead",
                                              "desc": "Manuell erzeugt",
                                              "role": "switch",
                                              "type": "boolean",
                                              "read": true,
                                              "write": true,
                                              "def": false,
                                              "alias": {
                                                "id": "mqtt.0.shellies.shelly1l-XXX.relay.0",
                                                "read": "val=='on'"
                                              }
                                            },
                                            "type": "state",
                                            "native": {},
                                            "_id": "alias.0.eg.Kueche.EGKuecheFensterLichtRead",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            },
                                            "from": "system.adapter.admin.0",
                                            "user": "system.user.admin",
                                            "ts": 1677258916765
                                          }
                                          

                                          Alias Write:

                                          {
                                            "common": {
                                              "name": "EGKuecheFensterLichtWrite",
                                              "desc": "Manuell erzeugt",
                                              "role": "switch",
                                              "type": "boolean",
                                              "read": true,
                                              "write": true,
                                              "def": false,
                                              "alias": {
                                                "id": "mqtt.0.shellies.shelly1l-XXX.relay.0.command",
                                                "write": "val?'on':'off'"
                                              }
                                            },
                                            "type": "state",
                                            "native": {},
                                            "_id": "alias.0.eg.Kueche.EGKuecheFensterLichtWrite",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            },
                                            "from": "system.adapter.admin.0",
                                            "user": "system.user.admin",
                                            "ts": 1677258607761
                                          }
                                          

                                          führte zu folgender Debugausgabe (ich habe den IOBroker neugestartet,da dieser den lesen alias am Anfang nicht aktualisiert hatte, dies ging aber ohne Probleme nach dem Neustart)
                                          Debug ausgabe:

                                          18:24:13.157	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                          18:24:13.158	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0.1: Hinweise: Typ:boolean Wert ist: false
                                          18:24:13.158	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: erkanntfalse
                                          18:24:13.159	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 2: Licht ist aus
                                          18:24:13.159	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 3: kleiner Schwellwert->Licht anschalten
                                          18:24:13.173	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: false, Skript: system.adapter.javascript.0
                                          18:24:13.182	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: true, Skript: system.adapter.mqtt.0
                                          18:24:13.197	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: true, Ack: true, Skript: system.adapter.mqtt.0
                                          18:24:26.354	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: false, Ack: true, Skript: system.adapter.mqtt.0
                                          18:24:45.147	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                          18:24:45.148	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: nicht erkannt
                                          18:25:13.160	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: X: Licht ausschalten
                                          18:25:13.177	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: false, Skript: system.adapter.javascript.0
                                          18:25:13.198	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: true, Skript: system.adapter.mqtt.0
                                          18:25:26.413	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                          18:25:26.414	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0.1: Hinweise: Typ:boolean Wert ist: false
                                          18:25:26.414	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: erkanntfalse
                                          18:25:26.415	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 2: Licht ist aus
                                          18:25:26.416	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 3: kleiner Schwellwert->Licht anschalten
                                          18:25:26.431	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: false, Skript: system.adapter.javascript.0
                                          18:25:26.440	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: true, Ack: true, Skript: system.adapter.mqtt.0
                                          18:25:26.507	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: true, Ack: true, Skript: system.adapter.mqtt.0
                                          18:25:58.387	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 0: Bewegung
                                          18:25:58.388	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: 1: nicht erkannt
                                          18:26:26.418	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: X: Licht ausschalten
                                          18:26:26.452	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: false, Skript: system.adapter.javascript.0
                                          18:26:26.466	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasWrite: false, Ack: true, Skript: system.adapter.mqtt.0
                                          18:26:26.480	debug	javascript.0 (545343) script.js.EG.kueche.beweg3: AliasRead: false, Ack: true, Skript: system.adapter.mqtt.0
                                          
                                          

                                          Zeile 16 zeigt nun den richtigen Wert an :).
                                          Ich denke die Lösung liegt tatsächlich darin zwei Alias zu verwenden. Vielen, vielen Dank @paul53

                                          paul53P 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          738

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe