Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.7k Beiträge

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    Michael SchmittM
    @Homoran sagte: Aber hier geht's ja nicht um die Seite "Protokolle" sondern um die Ausgabe unter dem Skript Ist das was unter dem Script steht nicht das selbe was auch von dem Javascript Adapter ins Protokoll geschrieben wird ?
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    OliverIOO
    @matze55 referenzier mal den post wo du das geschickt hast. ich finde nur widget export und das html was aus deinem script hinten raus kommt. lese mal nochmal diesen post https://forum.iobroker.net/topic/84961/ausgabe-name-des-senders/32?_=1785448461574 2-3 Beispiele eines events. Wenn dir die Ausgabe peinlich ist, kannst du die Texte (also Text zwischen 2 Anführungsstriche " anonymisieren. Aber vorsichtig, nicht das json zerstören.
  • Hilfe für Skripterstellung mit Node-RED

    962 13k
    962 Themen
    13k Beiträge
    Marc BergM
    @Thomas-Braun sagte: In der Konfigurationsdatei von Node Red, also in der settings.js, kann durch hinzufügen der Zeitzone das Problem behoben werden. Wenn man den Adapter nutzt, werden Änderungen in der settings.js immer wieder überschrieben. Das bringt nichts. @taddy81 Was konkret ist denn das Problem? Lösen die inject Nodes falsch aus? Oder geht es nur um diese Meldung, bei der niemand weiß, woher sie kommt? @Taddy81 sagte: Auszug: 7/26/2026, 11:15:23 AMnode: debug 3msg.payload : string[24]
  • Auf zu Befehl, statt an und aus in Yahka

    5
    0 Stimmen
    5 Beiträge
    684 Aufrufe
    CinimodC
    @asgothian Du scheinst dich ja damit ganz gut auszukennen, ich habe inzwichen ein anderes Problem. Gibt es auch eine Möglichkeit einen Schalter mit mehreren Schaltstellungen in Yahka einzubinden ? So wie das mit der Alarmanlage geht ... nur andere Bezeichnungen der Zustände ... oder diesen nutzen, und die Zustände umbenennen geht vermutlich nicht oder ? LG
  • Windows Konsole "msg" über iobroker senden

    2
    0 Stimmen
    2 Beiträge
    273 Aufrufe
    UncleSamU
    @iomax Unter Linux gibt es den smbclient mit dem kannst du genauso wie mit msg eine Nachricht an einen Windows PC schicken: https://www.cyberciti.biz/tips/freebsd-sending-a-message-to-windows-workstation.html Ich habe es noch nie ausprobiert, aber sollte gehen.
  • Brötje Heizung Brennwerttherme Adapter für VIS

    3
    0 Stimmen
    3 Beiträge
    728 Aufrufe
    DillioD
    @wendy2702 der Adapter ist nicht kompatibel. Dieser ist nämlich lediglich für den BSBLAN-Adapter implementiert worden.
  • Bei ausfall des Routers, über ZigBee Steckdose neu starten

    2
    0 Stimmen
    2 Beiträge
    253 Aufrufe
    mickymM
    @paul-ol Ich nutze den Ping Adapter ;) und dann halt meine Logikmaschine. Wenn Du unterschiedliche Intervalle haben willst, musst halt ggf. mehrer Instanzen machen.
  • setTimeout innerhalb if-Ausführungsblock

    9
    3
    0 Stimmen
    9 Beiträge
    826 Aufrufe
    M
    @paul53 genial, vielen Dank für die Hilfe, es funktioniert wie gewollt... und das mit sooo wenig Quellcode. Klasse. Ich hab nur eine kleine Änderung/Ergänzung virgenommen: Bisher hatte ich es so, dass die broadlinkszenen die Befehle "Lampe an, 1000," + den Sendebefehl für die Farbe enthielten. Dies habe ich aufgelöst und nun nur noch den betreffenden Farbcode drin und eine eigene Szene für das Einschalten der Lampe mit Farbe weiss gesetzt. Im "Schedule-Anweisungsblock" sende ich dann gleich den Befehl für das Einschalten der Lampe mit, damit dann in der Farbwechsel-Funktion nur noch das Umschalten zwischen den Farben erfolgt. Das Ausschalten will ich bewusst manuell halten - als Erinnerungsstütze weil man vielleicht nicht immer in der Küche steht wenn die Lampe angeht. EDIT: Da ich ja ich den Schefule-Part das Einschalten der Lampe mit reingekommen habe, würde ja folglich die Lampe zu den Schedule-Zriten angehen - unabhängig davon ob überhaupt ein Entsorgungsrermin ansteht oder nicht. schedule('0 12,16,20 * * *', function() { Leichtverpackungen = getState('ical.0.events.1.Leichtverpackungen').val; Papiertonne = getState('ical.0.events.1.Papiertonne').val; Bioabfallbehaelter = getState('ical.0.events.1.Bioabfallbehaelter').val; Restmuelltonne = getState('ical.0.events.1.Restmuelltonne').val; Problemmuell = getState('ical.0.events.1.Problemmuell').val; cnt = 0; muelllicht(); Um das zu verhindern habe ich hier noch eine if-Abfeage eingebaut, welche dann zu den Schefule-Zeiten als erstes prüft, ob eine der Events überhaupt ein True hat. Wenn ja, dann wird die Funktion aufgerufen oder eben nicht. schedule('0 14,17,20 * * *', function() { Leichtverpackungen = getState('ical.0.events.1.Leichtverpackungen').val; Papiertonne = getState('ical.0.events.1.Papiertonne').val; Bioabfallbehaelter = getState('ical.0.events.1.Bioabfallbehaelter').val; Restmuelltonne = getState('ical.0.events.1.Restmuelltonne').val; Problemmuell = getState('ical.0.events.1.Problemmuell').val; cnt = 0; if(Leichtverpackungen === true || Papiertonne === true || Bioabfallbehaelter === true || Restmuelltonne === true || Problemmuell === true) { setState("broadlink2.0.Scenes.Lampe an", true); muelllicht(); } Nochmals vielen, vielen Dank. Gruß Markus
  • [gelöst] Blockly - per ssh an anderen Rechner und script ausführen

    Verschoben
    42
    0 Stimmen
    42 Beiträge
    15k Aufrufe
    wauzziW
    @oliverio Klasse ! Kann evtl. ein Mod die Anleitung irgendwo zentral platzieren ? Ich denke so haben Mehrere etwas davon. Und ich finde die Anleitung, wenn ich es in ein paar Jahren mal wieder benötige ;-)
  • Markisensteuerung mittels enet Einfahren mit aus statt 0

    2
    0 Stimmen
    2 Beiträge
    162 Aufrufe
    M
    @msh Wie sieht denn die Objektstruktur von Gira enet in ioBroker aus? Bitte Bilder darstellen und das Objekt um das es geht mit RAW-Experten Daten. [image: 1618178646607-ec652355-327e-4aa9-9e77-12f56f11a97e-image.png] Stift anklicken und die Daten in Codetags (</>) schicken. Genau beschreiben in welchem Objekt du die Daten eingibst und wann soll welcher Wert eintragen werden. Kommt die Ansage über Alexa? Alexa2-Adpater installiert?
  • Werte aus einem SNMP Otect-String herausfiltern

    1
    4
    0 Stimmen
    1 Beiträge
    208 Aufrufe
    Niemand hat geantwortet
  • Lichteten durch Skript starten?

    14
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    M
    @mcu vielen Dank für Deine Hilfe. Mit Blockly habe zwar noch wirklich überhaupt keine Berührungspunkte gehabt aber das werde ich auf jeden Fall probieren. Danke.
  • Philips-TV Apple Homekit

    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • LED aufdimmen und abdimmen

    3
    0 Stimmen
    3 Beiträge
    553 Aufrufe
    F
    @mickym Sorry, hatte vergessen hier eine Rückmeldung zu geben :man-facepalming: aber ich habe damit mein Problem beheben können. Danke für den Tipp
  • [erledigt] Subscription a. Ordnerelemente einfacher möglich?

    3
    0 Stimmen
    3 Beiträge
    291 Aufrufe
    PeoplesP
    @paul53 sagte in Subscription auf Ordnerelemente einfacher möglich?: on(/^0_userdata.0.Shutters.ventilate.+/, function(dp) { Genau so meinte ich das, Danke Paul!
  • [Problem]Daten aus JSON nutzen

    Verschoben
    10
    4
    0 Stimmen
    10 Beiträge
    4k Aufrufe
    PLCHome 0P
    @thomytp said in [Problem]Daten aus JSON nutzen: Die Daten kommen von der Growatt API über MQTT: Schon mal den ioBroker Growatt Adapter getestet?
  • Hilfe, irgend ein Script verhaut mein Daten

    javascript
    20
    3
    0 Stimmen
    20 Beiträge
    2k Aufrufe
    AtifanA
    Hi Leute, wollte hier mal das Thema nochmal aufgreifen. Das Problem besteht bei mir immer noch weiterhin. Meistens funktioniert alles und meine Werte werden ab 23:58 sauber umgeschrieben. Manchmal funktioniert aber irgendwas nicht richtig, so dass die Werte alle nicht stimmen. Es werden ja mehrere Blockly-Scripte ausgeführt. Habe diese Scripte mir jetzt mal in Javascript anzeigen lassen und da ist mir eine Sache aufgefallen. Die meisten Scripte nutzen "function", aber bei zwei Scripten ist mir aufgefallen dass da "async function" steht. Kann das evtl. die Probleme verursachen? Wenn ich mir die Scripte als Blockly anschaue sehen sie identisch aus, als Javascript angezeigt ist aber dieser Unterschied zu erkennen. Ich habe die Punkte wo "async function" vorkam jetzt mal in "function" geändert und teste mal ob das funktioniert. Könnte das das Problem sein? Oder muss ich evtl. überall statt "function" eine "async function" draus machen? Vielleicht funktioniert es dann? var Strom_Bezug_aus_Netz_Variable_07, Strom_Bezug_aus_Netz_Variable_06, Strom_Bezug_aus_Netz_Variable_05, Strom_Bezug_aus_Netz_Variable_04, Strom_Bezug_aus_Netz_Variable_03, Strom_Bezug_aus_Netz_Variable_02, Strom_Bezug_aus_Netz_Variable_01, Strom_Bezug_Durchschnitt, Strom_Bezug_aus_Netz_Variable_00; // Berechnung Durschnittsverbrauch letzte 7 Tage schedule('{"time":{"exactTime":true,"start":"23:58"},"period":{"days":1}}', function () { // muss um 23:59 Uhr starten, damit aktueller Wert // heute_aktuell noch mit berücksichtigt wird Strom_Bezug_aus_Netz_Variable_07 = getState("0_userdata.0.Strom_Bezug_aus_Netz_07_vor_6_Tagen").val; Strom_Bezug_aus_Netz_Variable_06 = getState("0_userdata.0.Strom_Bezug_aus_Netz_06_vor_5_Tagen").val; Strom_Bezug_aus_Netz_Variable_05 = getState("0_userdata.0.Strom_Bezug_aus_Netz_05_vor_4_Tagen").val; Strom_Bezug_aus_Netz_Variable_04 = getState("0_userdata.0.Strom_Bezug_aus_Netz_04_vor_3_Tagen").val; Strom_Bezug_aus_Netz_Variable_03 = getState("0_userdata.0.Strom_Bezug_aus_Netz_03_vorgestern").val; Strom_Bezug_aus_Netz_Variable_02 = getState("0_userdata.0.Strom_Bezug_aus_Netz_02_gestern").val; Strom_Bezug_aus_Netz_Variable_01 = getState("0_userdata.0.Strom_Bezug_aus_Netz_01_heute_aktuell").val; Strom_Bezug_Durchschnitt = [Strom_Bezug_aus_Netz_Variable_01, Strom_Bezug_aus_Netz_Variable_02, Strom_Bezug_aus_Netz_Variable_03, Strom_Bezug_aus_Netz_Variable_04, Strom_Bezug_aus_Netz_Variable_05, Strom_Bezug_aus_Netz_Variable_06, Strom_Bezug_aus_Netz_Variable_07].reduce(function(x, y) {return x + y;}) / 7; setState("0_userdata.0.Strom_Bezug_aus_Netz_08_Durchschnitt_letzen_7_Tage"/*Strom_Bezug_aus_Netz_08_Durchschnitt_letzen_7_Tage*/, Strom_Bezug_Durchschnitt, true); }); // Bezug aus Netz der letzten 7 Tage schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', function () { Strom_Bezug_aus_Netz_Variable_07 = getState("0_userdata.0.Strom_Bezug_aus_Netz_06_vor_5_Tagen").val; setStateDelayed("0_userdata.0.Strom_Bezug_aus_Netz_07_vor_6_Tagen"/*Strom_Bezug_aus_Netz_07_vor_6_Tagen*/, Strom_Bezug_aus_Netz_Variable_07, true, 2000, false); Strom_Bezug_aus_Netz_Variable_06 = getState("0_userdata.0.Strom_Bezug_aus_Netz_05_vor_4_Tagen").val; setStateDelayed("0_userdata.0.Strom_Bezug_aus_Netz_06_vor_5_Tagen"/*Strom_Bezug_aus_Netz_06_vor_5_Tagen*/, Strom_Bezug_aus_Netz_Variable_06, true, 2000, false); Strom_Bezug_aus_Netz_Variable_05 = getState("0_userdata.0.Strom_Bezug_aus_Netz_04_vor_3_Tagen").val; setStateDelayed("0_userdata.0.Strom_Bezug_aus_Netz_05_vor_4_Tagen"/*Strom_Bezug_aus_Netz_05_vor_4_Tagen*/, Strom_Bezug_aus_Netz_Variable_05, true, 2000, false); Strom_Bezug_aus_Netz_Variable_04 = getState("0_userdata.0.Strom_Bezug_aus_Netz_03_vorgestern").val; setStateDelayed("0_userdata.0.Strom_Bezug_aus_Netz_04_vor_3_Tagen"/*Strom_Bezug_aus_Netz_04_vor_3_Tagen*/, Strom_Bezug_aus_Netz_Variable_04, true, 2000, false); Strom_Bezug_aus_Netz_Variable_03 = getState("0_userdata.0.Strom_Bezug_aus_Netz_02_gestern").val; setStateDelayed("0_userdata.0.Strom_Bezug_aus_Netz_03_vorgestern"/*Strom_Bezug_aus_Netz_03_vorgestern*/, Strom_Bezug_aus_Netz_Variable_03, true, 2000, false); Strom_Bezug_aus_Netz_Variable_02 = getState("0_userdata.0.Strom_Bezug_aus_Netz_01_heute_aktuell").val; setStateDelayed("0_userdata.0.Strom_Bezug_aus_Netz_02_gestern"/*Strom_Bezug_aus_Netz_02_gestern*/, Strom_Bezug_aus_Netz_Variable_02, true, 2000, false); Strom_Bezug_aus_Netz_Variable_01 = 0; setStateDelayed("0_userdata.0.Strom_Bezug_aus_Netz_01_heute_aktuell"/*Strom_Bezug_aus_Netz_01_heute_aktuell*/, Strom_Bezug_aus_Netz_Variable_01, true, 2000, false); Strom_Bezug_aus_Netz_Variable_00 = getState("smartmeter.0.1-0:1_8_0__255.value").val; setStateDelayed("0_userdata.0.Strom_Bezug_aus_Netz_00_Zählerstand_Tagesende"/*Strom_Bezug_aus_Netz_00_Zählerstand_Tagesende*/, Strom_Bezug_aus_Netz_Variable_00, true, 2000, false); }); on({id: 'smartmeter.0.1-0:1_8_0__255.value', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("0_userdata.0.Strom_Bezug_aus_Netz_01_heute_aktuell"/*Strom_Bezug_aus_Netz_01_heute_aktuell*/, (getState("smartmeter.0.1-0:1_8_0__255.value").val - getState("0_userdata.0.Strom_Bezug_aus_Netz_00_Zählerstand_Tagesende").val), true); }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyNWslN0J0YXolN0MlMkYxQyE2NXglMkYpRiglM0YlM0ElMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wNyUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMmwlMjNyJTYwZVUpeSElNUUhcCU3QiF+JTVFRGp3KSUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzA2JTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyTCglNUJiLjZ4JTJGJTdCMXFGViU1RCUzQkZ6bTMlM0ElMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wNSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMiUyNWxSJTNCMCU2MDdLJTNBNkZrVVkyLiUyNEZyJTIzJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDQlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjIlMjQlMkZZOHNPWTAxdi00ajNoNiUyNXJXciUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzAzJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyMEhzRGROcChUV2clM0Y4WTl+XypITyUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzAyJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyRyg3JTdCfiU0MEZvdW1Rc24lMkJIOVVqXy0lMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wMSUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMnJ+KEJmVCUzQiFsTjRyYiUzRmYlMjMlMkNOSmMlMjIlM0VTdHJvbV9CZXp1Z19EdXJjaHNjaG5pdHQlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJDS05MWCU3Q1pUJTdELSUzRFd0LTd0JTVCLlVfJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDAlM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMm0lMjMlN0IlMkYwTSUyM3NtVEdlJTdCQ1NuakQucCUyMiUyMHglM0QlMjItMTQ2MiUyMiUyMHklM0QlMjItNzEyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUJlcmVjaG51bmclMjBEdXJzY2huaXR0c3ZlcmJyYXVjaCUyMGxldHp0ZSUyMDclMjBUYWdlJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2NoZWR1bGUlMjIlMjBpZCUzRCUyMkJoJTVEfkElMkZ1VC4tSUslMkNVKlBRNURSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UlN0IlMjJ0aW1lJTIyJTNBJTdCJTIyZXhhY3RUaW1lJTIyJTNBdHJ1ZSUyQyUyMnN0YXJ0JTIyJTNBJTIyMjMlM0E1OCUyMiU3RCUyQyUyMnBlcmlvZCUyMiUzQSU3QiUyMmRheXMlMjIlM0ExJTdEJTdEJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIydVZyUlAlMjNrZEMlMkYyYUwlM0E3bUoxSFclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFbXVzcyUyMHVtJTIwMjMlM0E1OSUyMFVociUyMHN0YXJ0ZW4lMkMlMjBkYW1pdCUyMGFrdHVlbGxlciUyMFdlcnQlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJvSyUyRiglN0QtJTNEJTYwdyFleENaJTJCJTI0JTIzSE4pJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRWhldXRlX2FrdHVlbGwlMjBub2NoJTIwbWl0JTIwYmVyJUMzJUJDY2tzaWNodGlndCUyMHdpcmQlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJYUld6ZlZ3LnJCflFNJTdEJTdDJTIzJTdDJTNGJTQwVyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyNWslN0J0YXolN0MlMkYxQyE2NXglMkYpRiglM0YlM0ElMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wNyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMjJGbE9wN3hEcXZBQiglN0MqWEglN0NfISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5TdHJvbV9CZXp1Z19hdXNfTmV0el8wN192b3JfNl9UYWdlbiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJlVU84SyUyNHMlNUUlN0NKT3hoLU4lM0ElM0F5TEclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmwlMjNyJTYwZVUpeSElNUUhcCU3QiF+JTVFRGp3KSUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzA2JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyZXN6MUFyaWUlMkNIZGM1NnNOJTNCWl8zJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlN0cm9tX0JlenVnX2F1c19OZXR6XzA2X3Zvcl81X1RhZ2VuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMmozeTNxbWh6JTdDVmZQR2xmMmNzXyU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTCglNUJiLjZ4JTJGJTdCMXFGViU1RCUzQkZ6bTMlM0ElMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wNSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMmUlM0REVU8lMjV4WUxEJTNBTXdyLiU1RVlBLiklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuU3Ryb21fQmV6dWdfYXVzX05ldHpfMDVfdm9yXzRfVGFnZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyWkFaayU0MEMlM0FCJTVFJTJGbX5VZjlnJTJGJTNCfmUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNWxSJTNCMCU2MDdLJTNBNkZrVVkyLiUyNEZyJTIzJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIpLSUzQSlYZGE5JTVCJTIzYiU3Q1RWNmFWWEpUJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlN0cm9tX0JlenVnX2F1c19OZXR6XzA0X3Zvcl8zX1RhZ2VuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUzQXF4VmpvSyUzQW9nZSUzQVdKbmFqJTI0aSU2MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTI0JTJGWThzT1kwMXYtNGozaDYlMjVyV3IlMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wMyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMmpjITd0JTVFOXJLeSUyMyUzRCUyNCUyQ2JiJTNCQ1M3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlN0cm9tX0JlenVnX2F1c19OZXR6XzAzX3Zvcmdlc3Rlcm4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyJTIzJTdCJTNCNktMd0dyQ2I0Y2FxbmZsaDElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjBIc0RkTnAoVFdnJTNGOFk5fl8qSE8lMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wMiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMlRoRiUzRCU3QnFJJTI0SSU2MGxuWGxTfjk5JTNCdCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5TdHJvbV9CZXp1Z19hdXNfTmV0el8wMl9nZXN0ZXJuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyM2ctMEZqb0wlMjRVSGE2JTdDVSUzQSU3QmkqNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyRyg3JTdCfiU0MEZvdW1Rc24lMkJIOVVqXy0lMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMkUtV01qcjFUKTUlNjAlMjVPaiUyNW1DV2clNUUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuU3Ryb21fQmV6dWdfYXVzX05ldHpfMDFfaGV1dGVfYWt0dWVsbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlN0JnJTdDJTVCbUIxYW9ZUSUyRi5yKndDZiUzRH4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnJ+KEJmVCUzQiFsTjRyYiUzRmYlMjMlMkNOSmMlMjIlM0VTdHJvbV9CZXp1Z19EdXJjaHNjaG5pdHQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjJ5NFNlVG8lMkM3ZmJKMjBUUTJDRnIxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VESVZJREUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMjNnNiUzQVgzJTdDJTNBZ1JGTmMlNURKWE4lMjVoSiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfb25fbGlzdCUyMiUyMGlkJTNEJTIyZGJTbjhYTXVwJTdCaiUyNWNwWSUyNCU1RU40RSUyMiUzRSUzQ211dGF0aW9uJTIwb3AlM0QlMjJTVU0lMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFU1VNJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfY3JlYXRlX3dpdGglMjIlMjBpZCUzRCUyMiUyQ0klN0Rzc2FHanY3TlBRNktnQVYlNUIxJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjclMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJuWWEwSnEqdSUzRHlVcyU3Q216MVpjOSElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkcoNyU3Qn4lNDBGb3VtUXNuJTJCSDlVal8tJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTVEKXMlN0IlNjAyaiU3RDBuYylqOEwlNUVlbGQ1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIwSHNEZE5wKFRXZyUzRjhZOX5fKkhPJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyY2JOQThLZCklNUJ+ekpOJTVESS0lN0MyVCUyNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTI0JTJGWThzT1kwMXYtNGozaDYlMjVyV3IlMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wMyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDMlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIpJTNBKkolM0ZqLnpQJTJGUUwtJTI0WDEyX2FhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjVsUiUzQjAlNjA3SyUzQTZGa1VZMi4lMjRGciUyMyUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzA0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUzQUY0JTVCcVhxTiU1RChCJTVFKmhGJTI1JTI0JTJCQTklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkwoJTVCYi42eCUyRiU3QjFxRlYlNUQlM0JGem0zJTNBJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQ1JTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyWSl+JTVCdGh6dGJDcXRZd1NhJTdEZVclN0MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmwlMjNyJTYwZVUpeSElNUUhcCU3QiF+JTVFRGp3KSUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzA2JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQURENiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMkElNjApcCU3QiUzRkxCIWJpMFUlMjM4bDRMbS4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjVrJTdCdGF6JTdDJTJGMUMhNjV4JTJGKUYoJTNGJTNBJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMl9BYVp1KFFLMyUyRm4xME9TdGdUSiolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0U3JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydXBkYXRlJTIyJTIwaWQlM0QlMjIlNUJfNHRKdUwxcm51KTQwKSUzRHklMkNYcSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5TdHJvbV9CZXp1Z19hdXNfTmV0el8wOF9EdXJjaHNjaG5pdHRfbGV0emVuXzdfVGFnZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMlklMjNmKVolNUU4SXFPJTNCRU9SJTVCSG9vJTdCJTI0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyfihCZlQlM0IhbE40cmIlM0ZmJTIzJTJDTkpjJTIyJTNFU3Ryb21fQmV6dWdfRHVyY2hzY2huaXR0JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMi4lM0JhJTdDRS4lNUVUaUElNUIoJTdEcXAlM0YlMkMlMkZzbCUyMiUyMHglM0QlMjItMTQ2MiUyMiUyMHklM0QlMjItODclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFQmV6dWclMjBhdXMlMjBOZXR6JTIwZGVyJTIwbGV0enRlbiUyMDclMjBUYWdlJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2NoZWR1bGUlMjIlMjBpZCUzRCUyMkQ4YjhBJTVCVnUlN0M2SGlvdEFWcGdmJTJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyU0NIRURVTEUlMjIlM0UlN0IlMjJ0aW1lJTIyJTNBJTdCJTIyZXhhY3RUaW1lJTIyJTNBdHJ1ZSUyQyUyMnN0YXJ0JTIyJTNBJTIyMjMlM0E1OSUyMiU3RCUyQyUyMnBlcmlvZCUyMiUzQSU3QiUyMmRheXMlMjIlM0ExJTdEJTdEJTNDJTJGZmllbGQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyeih2STlKMWhsaCUyQlppJTJCVSUyNSUyMyU2MElIJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1ayU3QnRheiU3QyUyRjFDITY1eCUyRilGKCUzRiUzQSUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzA3JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyaUJZbDFWaGlYcTYlN0N6JTNGJTNCTyh3JTJGJTdDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlN0cm9tX0JlenVnX2F1c19OZXR6XzA2X3Zvcl81X1RhZ2VuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIyNktveEolN0I1JTIzQkNUJTNERSlLRiU3QlpyOCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlN0cm9tX0JlenVnX2F1c19OZXR6XzA3X3Zvcl82X1RhZ2VuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UyMDAwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJXJTI0JTNEfiUzRkppanMlM0JrMFUocGVPdiU1RFAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjVrJTdCdGF6JTdDJTJGMUMhNjV4JTJGKUYoJTNGJTNBJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDclM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyOCU0MEZRJTdEJTVELSU3QiUzRkRLJTdEISU1RDFYbmN6ZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIybCUyM3IlNjBlVSl5ISU1RSFwJTdCIX4lNUVEancpJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDYlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJHTyUyQiUyNUwlMkNyKFFLJTdCTio3MSU2MDRyJTYwJTJCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlN0cm9tX0JlenVnX2F1c19OZXR6XzA1X3Zvcl80X1RhZ2VuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIyJTJCYjdGc0RHYTBEbWV6aTA0JTVCJTdDWFQlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5TdHJvbV9CZXp1Z19hdXNfTmV0el8wNl92b3JfNV9UYWdlbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkRFTEFZX01TJTIyJTNFMjAwMCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVU5JVCUyMiUzRW1zJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyQ1pwJTNCJTJGKHdvSW11Y1FrRiUzQXQ0JTJDKSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIybCUyM3IlNjBlVSl5ISU1RSFwJTdCIX4lNUVEancpJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDYlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyTCUyNSUzQjE5IU5HUDg4ZnZyNCUyQiFBciUzRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTCglNUJiLjZ4JTJGJTdCMXFGViU1RCUzQkZ6bTMlM0ElMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wNSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMmdseVZRJTVEOSU1RTFuJTJCJTI0eS5EMi0xR0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuU3Ryb21fQmV6dWdfYXVzX05ldHpfMDRfdm9yXzNfVGFnZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydXBkYXRlJTIyJTIwaWQlM0QlMjI5MnBwNlIlMjRKX0d4JTJGRiUzRG0lMkMhcm4lMkMlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5TdHJvbV9CZXp1Z19hdXNfTmV0el8wNV92b3JfNF9UYWdlbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkRFTEFZX01TJTIyJTNFMjAwMCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVU5JVCUyMiUzRW1zJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyISU1QiUyQjVDSS1YX243VmtqZ18yZVExJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJMKCU1QmIuNnglMkYlN0IxcUZWJTVEJTNCRnptMyUzQSUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzA1JTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMjElNURqJTNGJTdCN2UzZ0gzJTNETyUyQyolMkI1cFkpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlMjVsUiUzQjAlNjA3SyUzQTZGa1VZMi4lMjRGciUyMyUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzA0JTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyITdtSkFuVlZlJTNEJTI1MXElN0N0c2lXJTdEbCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5TdHJvbV9CZXp1Z19hdXNfTmV0el8wM192b3JnZXN0ZXJuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIyUiUyNSU1RCpqSSUyNDJXVGh5JTJCJTIzUiUzRnklM0ZJdyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlN0cm9tX0JlenVnX2F1c19OZXR6XzA0X3Zvcl8zX1RhZ2VuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UyMDAwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJtXyU3Q0FvSUElNDBLVCg3Kk0lNUVnJTIzJTdCX0UlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNWxSJTNCMCU2MDdLJTNBNkZrVVkyLiUyNEZyJTIzJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyIVd+dGplbkMlM0QwYzJkOUtYJTNBTnolNUIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNCUyRlk4c09ZMDF2LTRqM2g2JTI1cldyJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDMlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlMkNWKTNLSVBWJTVEXyUyRndVJTYwQ3MlM0JmMEYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuU3Ryb21fQmV6dWdfYXVzX05ldHpfMDJfZ2VzdGVybiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ1cGRhdGUlMjIlMjBpZCUzRCUyMjYoIWlCbElQJTYwaSpXVHIyaXklM0FEOCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlN0cm9tX0JlenVnX2F1c19OZXR6XzAzX3Zvcmdlc3Rlcm4lM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTIwMDAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VtcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMllHQihQcyU2MCUyRiU1RCpYJTVFJTVCV0YzJTdDOCUyQyklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiUyNCUyRlk4c09ZMDF2LTRqM2g2JTI1cldyJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDMlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyQiUzRlJNZndyYXRGeWglMkMlN0Jzfm1VQ3MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjBIc0RkTnAoVFdnJTNGOFk5fl8qSE8lMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wMiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMilTOXZUTHI2TWpmTmpCbCU1RGZPR0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuU3Ryb21fQmV6dWdfYXVzX05ldHpfMDFfaGV1dGVfYWt0dWVsbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ1cGRhdGUlMjIlMjBpZCUzRCUyMiUzRHIlM0YzJTNGbnYqRjN0UXhrJTYwJTdEMiU1RSUyRlolMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5TdHJvbV9CZXp1Z19hdXNfTmV0el8wMl9nZXN0ZXJuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UyMDAwJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJVTklUJTIyJTNFbXMlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNMRUFSX1JVTk5JTkclMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlM0FWSSFhTClzLiU3RCU1RFh+TWZhaE53biUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyMEhzRGROcChUV2clM0Y4WTl+XypITyUyMiUzRVN0cm9tX0JlenVnX2F1c19OZXR6X1ZhcmlhYmxlXzAyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUzQUx5JTNCJTVCUEQlNDBBY3ZYJTdCbSU0MFYlMkIlNUJXcyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyRyg3JTdCfiU0MEZvdW1Rc24lMkJIOVVqXy0lMjIlM0VTdHJvbV9CZXp1Z19hdXNfTmV0el9WYXJpYWJsZV8wMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyRXlJR2JZWF9sSSUyM1dpcyUzQXRhaSU3Qk0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIyJTNGYXZDNXFtdlFvOC02JTI0VSoyc0p6JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuU3Ryb21fQmV6dWdfYXVzX05ldHpfMDFfaGV1dGVfYWt0dWVsbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkRFTEFZX01TJTIyJTNFMjAwMCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVU5JVCUyMiUzRW1zJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDTEVBUl9SVU5OSU5HJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyN1NKMiU0MEMwJTNBQWJkJTdDJTQwQ18lM0RsJTIzd34lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkcoNyU3Qn4lNDBGb3VtUXNuJTJCSDlVal8tJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyc01vUCU1QlJxJTNBKGhyVkVDWkZLZTIoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJDS05MWCU3Q1pUJTdELSUzRFd0LTd0JTVCLlVfJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDAlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlM0FvJTJDJTNGU1hSV1dRSkclM0RoJTNCay4lNUJlbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNtYXJ0bWV0ZXIuMC4xLTAlM0ExXzhfMF9fMjU1LnZhbHVlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIyJTNBJTNCN2UhJTdCeFJTJTNBT1VEKCU1QiU0MDYyJTNGJTJGJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuU3Ryb21fQmV6dWdfYXVzX05ldHpfMDBfWiVDMyVBNGhsZXJzdGFuZF9UYWdlc2VuZGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJERUxBWV9NUyUyMiUzRTIwMDAlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVOSVQlMjIlM0VtcyUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMm8lMjVybmYlNUJlREpzJTdEYiFudyU3QyU3Q1IlMkM5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJDS05MWCU3Q1pUJTdELSUzRFd0LTd0JTVCLlVfJTIyJTNFU3Ryb21fQmV6dWdfYXVzX05ldHpfVmFyaWFibGVfMDAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJmJTJCcEUwYSU0MEcqelUtYnklNDA2RlVlKCUyMiUyMHglM0QlMjItMTQ2MiUyMiUyMHklM0QlMjI2MTMlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMkMlMkNBYy16bSUzQlNFJTQwJTJGcm9POCU2MEglMkYlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VzbWFydG1ldGVyLjAuMS0wJTNBMV84XzBfXzI1NS52YWx1ZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydXBkYXRlJTIyJTIwaWQlM0QlMjJDNEolM0JDS3A4JTVEM0MlNUJYKjlaSXoqdiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5TdHJvbV9CZXp1Z19hdXNfTmV0el8wMV9oZXV0ZV9ha3R1ZWxsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjIhZCU3RGRBeCUzQiUyRkhMJTJCYSU1RTglN0R6JTJGQkZMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNSU5VUyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyX2I4JTNGUVBJWSUzRiUyNDYqRCUzQm1WSkZMLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyMHZwMmUlN0RHYiU1RXgxbWpnJTIzRmlxSnklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VzbWFydG1ldGVyLjAuMS0wJTNBMV84XzBfXzI1NS52YWx1ZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkJ3RVplTWlpZlZ3WkJDZkc2eXEoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlMkJqSWMlMkI2T2dBQSU0MGFiV3ElMjRMKSU0MFYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuU3Ryb21fQmV6dWdfYXVzX05ldHpfMDBfWiVDMyVBNGhsZXJzdGFuZF9UYWdlc2VuZGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
  • [Vorlage] Heizungsthermostatsteuerung 2.1 - Script

    Verschoben javascript template heating climate
    1k
    1
    7 Stimmen
    1k Beiträge
    492k Aufrufe
    D
    @mymeyer Hi, sag mal kannst du dich noch daran errinern was mit den Gewerken war? Ich habe exakt das gleiche Problem. Viele Grüße DOM1
  • Python Skript mit Blockly exec ausführen

    5
    1
    0 Stimmen
    5 Beiträge
    881 Aufrufe
    J
    /closed habe das problem behoben. das python plugin war nicht mit sudo installiert.
  • Sofortige Auswertung trotz Verzögerung normal?

    blockly
    2
    1
    0 Stimmen
    2 Beiträge
    157 Aufrufe
    paul53P
    @padrino sagte: ist das normal? Ja, der Wert wird bei Aufruf der Funktion setStateDelayed(id, val, ack, delay) übergeben und nur setState(id, val, ack) wird verzögert ausgeführt.
  • JSON Parsen Weenect CAT 2 mit 2 GPSTracker

    javascript
    6
    3
    0 Stimmen
    6 Beiträge
    980 Aufrufe
    H
    @oliverio Erstmal Danke für die Hilfe Ich habe es hinbekommen. Heute Abend werde ich den Weg hier beschreiben. Mit diesem Blockly hole ich die Daten und wandle ich sie in lesbares JSON um. ...sagt mir Payload to large..... Sorry kann ich nicht hochladen.. ??? als Javascript: var originalText, suchText, tauschText, Text2, AnzZeichenSuchtext, timeout, MeinText, Stelle, pos_daten, result, neuerText, klammerauf1, klammerauf2, Teil_1, Teil_2, klammerzu1, klammerzu2, Tracker1, Tracker2, timeout2; // Beschreibe diese Funktion … async function changeText(originalText, suchText, tauschText) { Text2 = originalText; AnzZeichenSuchtext = suchText.length; Stelle = Text2.indexOf(suchText) + 1; while (Stelle > 0) { if (Stelle == 1) { // steht am Textanfang Teil_1 = tauschText; } else { Teil_1 = Text2.slice(0, Stelle - 1); } Teil_2 = Text2.slice(((Stelle + AnzZeichenSuchtext) - 1), Text2.length); Text2 = [Teil_1,tauschText,Teil_2].join(''); Stelle = Text2.indexOf(suchText) + 1; } return Text2; } on({id: 'javascript.0.Weenect.buttons.get_pos_butt', change: "any"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; exec('bash /home/iobroker/pos_get_sh.sh', async function (error, result, stderr) { timeout = setTimeout(async function () { pos_daten = result; setState("javascript.0.Weenect.js_rohdaten"/*Weenect.js_rohdaten*/, pos_daten, true); }, 1000); }); MeinText = String(pos_daten).toLowerCase(); if (!!MeinText.length) { neuerText = await changeText(MeinText, '\'', '"'); neuerText = await changeText(neuerText, 'none', '"unbekannt"'); } klammerauf1 = neuerText.indexOf('{') + 1; klammerauf2 = neuerText.lastIndexOf('{') + 1; klammerzu1 = neuerText.indexOf('}') + 1; klammerzu2 = neuerText.lastIndexOf('}') + 1; Tracker1 = neuerText.slice((klammerauf1 - 1), klammerzu1); Tracker2 = neuerText.slice((klammerauf2 - 1), klammerzu2); console.log(('Daten Tracker 1')); console.log(('Daten Tracker 2')); await wait(500); timeout2 = setTimeout(async function () { setStateDelayed('javascript.0.Weenect.js_Tracker1', Tracker1, true, 0, false); setStateDelayed('javascript.0.Weenect.js_Tracker2', Tracker2, true, 0, false); }, 1000); }); Dann hole ich jeweils für einen Tracker die Daten raus und schreibe sie in die Objekte. const idJson = 'javascript.0.Weenect.js_Tracker1'; const path = 'Weenect.Tracker1.'; const js = 'javascript.0.'; on(idJson, function(dp) { // triggert bei Wertänderung let obj = JSON.parse(dp.state.val); for(let prop in obj) { if(existsState(js + path + prop)) setState(path + prop, obj[prop], true); else createState(path + prop, obj[prop], {type: typeof obj[prop]}); } });
  • Blockly Intervall ordentlich stoppen

    4
    2
    0 Stimmen
    4 Beiträge
    891 Aufrufe
    Basti97B
    @denis-wodtke Funktioniert es bei dir richtig?
  • zentraler Licht-Aus-Schalter

    6
    0 Stimmen
    6 Beiträge
    651 Aufrufe
    paul53P
    @mathopa1973 sagte: alle aktuell eingeschalteten Lampen ausschalte $(selector).setState(false)

195

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge