Skip to content

Skripten / Logik

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

16.6k Topics 213.9k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    A
    @azzkikrboy Kann sein, Schrift zu groß oder Feld zu klein, musst halt mal testen.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    andre1deA
    Danke! Alles funktioniert!
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • setTimeout innerhalb if-Ausführungsblock

    9
    3
    0 Votes
    9 Posts
    582 Views
    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

    Moved
    42
    0 Votes
    42 Posts
    14k Views
    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 Votes
    2 Posts
    126 Views
    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 Votes
    1 Posts
    126 Views
    No one has replied
  • Lichteten durch Skript starten?

    14
    0 Votes
    14 Posts
    1k Views
    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 Votes
    1 Posts
    970 Views
    No one has replied
  • LED aufdimmen und abdimmen

    3
    0 Votes
    3 Posts
    404 Views
    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 Votes
    3 Posts
    234 Views
    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

    Moved
    10
    4
    0 Votes
    10 Posts
    4k Views
    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 Votes
    20 Posts
    2k Views
    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==
  • 7 Votes
    1k Posts
    419k Views
    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 Votes
    5 Posts
    760 Views
    J
    /closed habe das problem behoben. das python plugin war nicht mit sudo installiert.
  • Sofortige Auswertung trotz Verzögerung normal?

    blockly
    2
    1
    0 Votes
    2 Posts
    140 Views
    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 Votes
    6 Posts
    819 Views
    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 Votes
    4 Posts
    814 Views
    Basti97B
    @denis-wodtke Funktioniert es bei dir richtig?
  • zentraler Licht-Aus-Schalter

    6
    0 Votes
    6 Posts
    545 Views
    paul53P
    @mathopa1973 sagte: alle aktuell eingeschalteten Lampen ausschalte $(selector).setState(false)
  • [gelöst] Skript Ausführung ohne Trigger?

    20
    1
    0 Votes
    20 Posts
    2k Views
    treff and NIXT
    Scheint nun alles zu funktionieren wie gewünscht, Vielen dank euch allen
  • 0 Votes
    10 Posts
    696 Views
    YodaY
    @paul53 super klasse es läuft - ich Danke dir für die Hilfe!!!:+1: Der Shelly Motion kann so nun über mqtt weiter verwendet verwendet werden. So Richtig lief dieser leider nicht im Shelly Adapter, Ich hatte dieses dort zuletzt als Gerät entfernt, und bekam ihn dort seit dem auch nicht wieder rein. Über dieses Umweg klappt es nun aber auch. Ich hoffe das Ding hat nur kein weg - musste Ihn nun grade erst wieder überreden das er Online geht - mal abwarten. [image: 1617660726938-26.jpg] [image: 1617660744062-27.jpg] [image: 1617660966072-28.jpg] <xml xmlns="https://developers.google.com/blockly/xml"> <block type="comment" id="PuvRy#0hgHV,?G;E_laZ" x="113" y="-137"> <field name="COMMENT">status</field> <next> <block type="on_ext" id="Yo#F?^4-0=GZ6^)MpcRc"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="p;PD%8nm~Exy_*S6~rQ9"> <field name="oid">mqtt.0.shellies.shellymotionsensor-60A42396038E.status</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id="Cf%35qRbv`!_:sS)r;M$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Shelly.Motion</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_attr" id="hSLi_es)=h1K,M|66xZ/"> <value name="PATH"> <shadow type="text" id="a6XOXOwYi=1{zJv#,Xw?"> <field name="TEXT">motion</field> </shadow> </value> <value name="OBJECT"> <block type="on_source" id="yqE%o(Y}4aWCA2vBk4,q"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="update" id="LBg+;y=*=8zJQDH|uj0e"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Shelly.Lux</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_attr" id="Ndk,bvgHAQOBunf!?j^1"> <value name="PATH"> <shadow type="text" id="+n.O)g9Vx@#/DKS6/,vK"> <field name="TEXT">lux</field> </shadow> </value> <value name="OBJECT"> <block type="on_source" id="mPbXlKh-j-5YSKe@KTho"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="update" id="wM+r2=S3waZ?M.:f.QFE"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.Shelly.Bat</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_attr" id="i_P:79X~f[7MF{vG:%N4"> <value name="PATH"> <shadow type="text" id="N1LMn=AbwunK_2wV|rCY"> <field name="TEXT">bat</field> </shadow> </value> <value name="OBJECT"> <block type="on_source" id="pl[!U+-KU;@4*^1hOy8^"> <field name="ATTR">state.val</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
  • Sonos Addon / in welchen Pfad kommt eine mp3

    3
    0 Votes
    3 Posts
    334 Views
    J
    @webmaik hast du die Antwort schon gefunden, ich stehe gerade vor der gleichen Frage...
  • Cron wird ignoriert

    3
    1
    0 Votes
    3 Posts
    293 Views
    I
    @mcu DANKE!!

591

Online

32.7k

Users

82.5k

Topics

1.3m

Posts