UNPKG

node-red-contrib-chatbot

Version:

REDBot a Chat bot for a full featured chat bot for Telegram, Facebook Messenger and Slack. Almost no coding skills required

196 lines (180 loc) 152 kB
<script type="text/javascript"> const gptTryParse = str => { let parsed; try { parsed = JSON.parse(str); return parsed; } catch(e) { return null; } }; const gptCountFunctions = parsed => { if (parsed && Array.isArray(parsed.tools)) { return parsed.tools.filter(t => t.type === 'function').length; } return 0; }; const gptIsStoredPromptOnly = parsed => parsed && parsed.prompt && parsed.prompt.id && !Array.isArray(parsed.tools); RED.nodes.registerType('chatbot-openai-responses',{ category: $.RedBot.config.name + ' Platforms', color: '#FFCC66', defaults: { openAIKey: {value: '', type: 'chatbot-open-ai-key' }, name: { value:'' }, prompt: { value: '' }, functions: { value: [] }, outputs: { value: 1 } }, inputs: 1, outputs: 1, icon: 'chat-gpt-logo.svg', paletteLabel: 'ChatGPT Responses', label: function() { return this.name || 'ChatGPT Responses'; }, oneditprepare: function() { const node = this; node.editor = RED.editor.createEditor({ id: 'node-input-example-editor', mode: 'ace/mode/json', value: this.prompt }); const $list = $('#node-input-functions-list'); const $status = $('#node-input-functions-status'); const $button = $('#node-input-functions-refresh'); const renderList = (functions) => { $list.empty(); if (!functions || functions.length === 0) { $list.append('<div style="color:#999;font-style:italic;">No function tools yet. Click Refresh after entering a prompt id.</div>'); return; } functions.forEach((f) => { const desc = f.description ? ' — <span style="color:#999;">' + $('<div/>').text(f.description).html() + '</span>' : ''; $list.append('<div><i class="fa fa-cog" style="color:#888;margin-right:6px;"></i><strong>' + $('<div/>').text(f.name).html() + '</strong>' + desc + '</div>'); }); }; const updateButtonState = () => { const parsed = gptTryParse(node.editor.getValue()); const isStoredPrompt = gptIsStoredPromptOnly(parsed); const hasKey = !!$('#node-input-openAIKey').val(); $button.prop('disabled', !(isStoredPrompt && hasKey)); if (!isStoredPrompt) { $status.text('Refresh available when prompt JSON has prompt.id and no inline tools.').css('color', '#999'); } else if (!hasKey) { $status.text('Select an OpenAI API key first.').css('color', '#999'); } else { $status.text('').css('color', '#999'); } }; renderList(node.functions); updateButtonState(); node.editor.on('input', updateButtonState); $('#node-input-openAIKey').on('change', updateButtonState); $button.on('click', (ev) => { ev.preventDefault(); const parsed = gptTryParse(node.editor.getValue()); if (!gptIsStoredPromptOnly(parsed)) return; const apiKeyNodeId = $('#node-input-openAIKey').val(); if (!apiKeyNodeId) return; $button.prop('disabled', true); $status.text('Probing OpenAI…').css('color', '#999'); $.ajax({ url: 'chatbot-openai-responses/probe', type: 'POST', contentType: 'application/json', data: JSON.stringify({ apiKeyNodeId, promptId: parsed.prompt.id, version: parsed.prompt.version }) }).done((data) => { node.functions = Array.isArray(data.functions) ? data.functions : []; renderList(node.functions); $status.text('Found ' + node.functions.length + ' function tool(s). Click Done to apply.').css('color', '#3a7a3a'); updateButtonState(); }).fail((xhr) => { const msg = (xhr.responseJSON && xhr.responseJSON.error) || xhr.statusText || 'unknown error'; $status.text('Error: ' + msg).css('color', '#a33'); updateButtonState(); }); }); }, oneditsave: function() { this.prompt = this.editor.getValue(); this.editor.destroy(); delete this.editor; const parsed = gptTryParse(this.prompt); let functionCount; if (parsed && Array.isArray(parsed.tools)) { // legacy: full prompt JSON pasted, tools are inline functionCount = gptCountFunctions(parsed); this.functions = parsed.tools .filter(t => t.type === 'function') .map(t => ({ name: t.name, description: t.description })); } else { // stored-prompt mode: use the discovered functions list functionCount = (this.functions || []).length; } this.outputs = 1 + functionCount + 1; // response + N functions + error }, oneditcancel: function() { this.editor.destroy(); delete this.editor; }, outputLabels: function(index) { if (index === 0) { return 'ChatGPT response'; } else if (index === (this.outputs - 1)) { return 'ChatGPT error'; } else { if (Array.isArray(this.functions) && this.functions[index - 1]) { return 'Function call ' + this.functions[index - 1].name; } const parsed = gptTryParse(this.prompt); if (parsed && Array.isArray(parsed.tools)) { const funcs = parsed.tools.filter(t => t.type === 'function'); if (index <= funcs.length) { return 'Function call ' + funcs[index - 1].name; } } } } }); </script> <script type="text/html" data-template-name="chatbot-openai-responses"> <div class="form-row"> <input type="text" id="node-input-openAIKey"> </div> <div class="form-row"> <label for="node-input-name">Name</label> <input type="text" id="node-input-name" placeholder="Name"> </div> <div class="form-row"> <label>Prompt</label> <div style="height: 450px; min-height:150px;" class="node-text-editor" id="node-input-example-editor"></div> <div style="font-size: 0.9em;line-height: normal;color: #999999;margin-top: 5px;"> Copy and paste the JSON of the prompts created with <a href="https://platform.openai.com/playground/prompts?models=gpt-4.1" target="_blank" >Prompts Playground</a>, or paste a stored prompt reference like <code>{ "prompt": { "id": "pmpt_…", "version": "2" } }</code>. </div> </div> <div class="form-row"> <label>Function tools</label> <div id="node-input-functions-list" style="border:1px solid #ddd;border-radius:4px;padding:8px;background:#fafafa;font-size:0.9em;line-height:1.6em;"></div> <div style="margin-top:6px;display:flex;align-items:center;gap:8px;"> <button type="button" id="node-input-functions-refresh" class="red-ui-button"> <i class="fa fa-refresh"></i> Refresh tools </button> <span id="node-input-functions-status" style="font-size:0.9em;color:#999;"></span> </div> <div style="font-size: 0.9em;line-height: normal;color: #999999;margin-top: 5px;"> When using a stored prompt id, click Refresh to fetch the function tools from OpenAI and update the output pins of the node. </div> </div> </script> <script type="text/html" data-help-name="chatbot-openai-responses"><p>Used to send a message to OpenAI&#39;s <a href="https://platform.openai.com/docs/api-reference/responses/create">Responses API</a> and receive a generated answer back into the flow. The node also supports <strong>function calling</strong>, <strong>conversation state</strong> and <strong>image / file attachments</strong>.</p> <p>The text sent to ChatGPT is taken from the upstream <code>Message</code> payload (<code>msg.payload.content</code>), the response is forwarded out of the first pin and can be sent back to the user as a regular <code>Message</code>.</p> <p>The prompt design (model, instructions, tools, variables, …) is <strong>not</strong> configured field by field in the editor: instead the JSON exported from the <a href="https://platform.openai.com/playground/prompts?models=gpt-4.1">Prompts Playground</a> is pasted in the <code>Prompt</code> text area. Any change made in the Playground (a new tool, a different model, a longer instruction) is therefore propagated by simply copying and pasting the updated JSON.</p> <p>The example flow <code>ChatGPT example.json</code> ships a working setup with one function tool (<code>get_temperature</code>), a Telegram receiver / sender pair and a typing indicator.</p> <h2 id="using-chatgpt-tools">Using ChatGPT tools</h2> <p>ChatGPT Responses dynamically grows its output pins based on the <code>tools</code> array declared in the <code>Prompt</code> JSON: one pin per <code>function</code> tool is created, plus the standard <em>response</em> pin (first) and <em>error</em> pin (last).</p> <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACMYAAANOCAYAAADwU5IwAAAAAXNSR0IArs4c6QAAAHhlWElmTU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAIdpAAQAAAABAAAATgAAAAAAAACQAAAAAQAAAJAAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAACMagAwAEAAAAAQAAA04AAAAAp5HkMgAAAAlwSFlzAAAWJQAAFiUBSVIk8AAAQABJREFUeAHs3QuQHdd9J+ZzZwbvwZMgXgRBEiBIStTDXIqiLMlcq7S2VRIR2Yprk7Uda62kkHJSW0nsTWKnnDh24vJmt5xNxWvHC1fKSjmxU961FJvU+rGytUvbsiQaIqkV34QIgMQAIN7AYB7AzL055w7OoGdwB5jB9Mzc2/dr1UXf27f7dJ/v9IBT6h/+p9aIS7AQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqJhAT8X6ozsECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEmgKCMW4EAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBSgoIxlRyWHWKAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAMMY9QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUEkBwZhKDqtOESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQICMa4BwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCopIBhTyWHVKQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAcEY9wABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAlBQRjKjmsOkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQICAY4x4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCopIBgTCWHVacIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQEY9wDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEClRQQjKnksOoUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAYIx7gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoJICgjGVHFadIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQEIxxDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFRSQDCmksOqUwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoIx7gECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFKCgjGVHJYdYoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAwxj1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQSQHBmEoOq04RIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgIxrgHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEKikgGFPJYdUpAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABwRj3AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQCUFBGMqOaw6RYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIBjjHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKikgGBMJYdVpwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBARj3AMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKVFBCMqeSw6hQBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIBgjHuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgkgKCMZUcVp0iQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQjHEPECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVFJAMKaSw6pTBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECgjHuAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUoKCMZUclh1igABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQDDGPUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBJAcGYSg6rThEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAjGuAcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQqKSAYU8lh1SkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAHBGPcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJQUEYyo5rDpFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAgGOMeIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKSAYEwlh1WnCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBGPcAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApUUEIyp5LDqFAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgGCMe4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCSAoIxlRxWnSJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBCMcQ8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUUkAwppLDqlMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKCMe4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBSgoIxlRyWHWKAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAMMY9QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUEkBwZhKDqtOESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQICMa4BwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCopIBhTyWHVKQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAcEY9wABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAlBQRjKjmsOkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQICAY4x4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCopIBgTCWHVacIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQEY9wDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEClRQQjKnksOoUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAYIx7gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoJICgjGVHFadIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQEIxxDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFRSQDCmksOqUwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoIx7gECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFKCgjGVHJYdYoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAwxj1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQSQHBmEoOq04RIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgIxrgHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEKikgGFPJYdUpAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABwRj3AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQCUFBGMqOaw6RYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIBjjHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKikgGBMJYdVpwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBARj3AMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKVFBCMqeSw6hQBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIBgjHuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgkgKCMZUcVp0iQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQjHEPECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVFJAMKaSw6pTBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECgjHuAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUoKCMZUclh1igABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQDDGPUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBJAcGYSg6rThEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAjGuAcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQqKSAYU8lh1SkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAHBGPcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJQUEYyo5rDpFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAgGOMeIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKSAYEwlh1WnCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBGPcAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApUUEIyp5LDqFAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgGCMe4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCSAoIxlRxWnSJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBCMcQ8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUUkAwppLDqlMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKCMe4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBSgoIxlRyWHWKAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAMMY9QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUEkBwZhKDqtOESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQICMa4BwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCopIBhTyWHVKQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAcEY9wABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAlBQRjKjmsOkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQICAY4x4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCopIBgTCWHVacIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQEY9wDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEClRQQjKnksOoUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAYIx7gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoJICgjGVHFadIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQEIxxDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFRSQDCmksOqUwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAoIx7gECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAIFKCgjGVHJYdYoAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQEAwxj1AgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBQSQHBmEoOq04RIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgIxrgHCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEKikgGFPJYdUpAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABwRj3AAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAQCUFBGMqOaw6RYAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgIBjjHiBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEKikgGBMJYdVpwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBARj3AMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKVFBCMqeSw6hQBAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgIBgjHuAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECgkgKCMZUcVp0iQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAQjHEPECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIVFJAMKaSw6pTBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECgjHuAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAgUoKCMZUclh1igABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAQDDGPUCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIFBJAcGYSg6rThEgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECAjGuAcIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQqKSAYU8lh1SkCBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAHBGPcAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIBAJQUEYyo5rDpFgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECAgGOMeIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQqKSAYEwlh1WnCBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIEBGPcAwQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABApUUEIyp5LDqFAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAgGCMe4AAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQKCSAoIxlRxWnSJAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIEBCMcQ8QIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAhUUkAwppLDqlMECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQKCMe4BAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgACBSgoIxlRyWHWKAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIEBAMMY9QIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgUEkBwZhKDqtOESBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQICMa4BwgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBCopIBhTyWHVKQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAcEY9wABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgEAlBQRjKjmsOkWAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQICAY4x4gQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBCopIBgTCWHVacIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQEY9wDBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAEClRQQjKnksOoUAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQICAYIx7gAABAgQIECBAgAABAgQIECBAgAABAgQIECBAgAABAgQIECBAoJICgjGVHFadIkCAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQEIxxDxAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECBAgQIAAAQIECFRSoK+SvdIpAgQIECBAgMAMAsPDw+HQoUPh7bffDqdPnw5DQ0Mz7GkzAQILJbB69eqwefPmsHPnzrBnz56watWqhTqVdgkQIECAAAECBAgQIECAAAECBAgQIECgywVqjbh0uYHuEyBAgAABAl0i8Oyzz4bnnnsu1Ov1MDY21ux1el+VZeXKlVXpin50mcAjjzwSHnvssS7rte4SIECAAAECBAgQIECAAAECBAgQIECAwGIICMYshrJzECBAgAABAksqcO7cufCVr3wlvPPOO81AzN1rL4R7Np4PW1cPhrUrRpf02so4+fHTE1Vv9u5aX0Zz2iCw4AKXRleEE5fXhTfPbwiHz61rni9VkPnYxz4WNm7cuODndwICBAgQIECAAAECBAgQIECAAAECBAgQ6B4BwZjuGWs9JUCAAAECXSmQQjFf+tKXwsWLF8P6FYPh8R0DYVv/xUpZCMZUaji7rjPHL60PXzt2Vzh1eVVIUyx96lOfEo7purtAhwkQIECAAAECBAgQIECAAAECBAgQILBwAj0L17SWCRAgQIAAAQJLL5AqxaRQzF1rzoVPP/BK5UIxSy/sCgjMT2B7rOD0Qw+9FO7deDEMDQ01qzvNr0VHEyBAgAABAgQIECBAgAABAgQIECBAgACB6wKCMdctvCNAgAABAgQqJvDss8+GEydONCvFfHz3oYr1TncIVEvg+3e/Hu5cMxxOnz4d0s+uhQABAgQIECBAgAABAgQIECBAgAABAgQIlCEgGFOGojYIECBAgACBthMYHh4Ozz33XBgbG2tOn9R2F+iCCBC4QeBDdx1rbks/u+ln2EKAAAECBAgQIECAAAECBAgQIECAAAECBOYrIBgzX0HHEyBAgAABAm0pcOjQoWYo5p71l0yf1JYj5KII3CiQplVKUyqlJf0MWwgQIECAAAECBAgQIECAAAECBAgQIECAwHwFBGPmK+h4AgQIECBAoC0F3n777eZ13bPxfFten4siQKC1wH0bJn5m889w671sJUCAAAECBAgQIECAAAECBAgQIECAAAECsxMQjJmdk70IECBAgACBDhM4ffp0qNfrYevqwQ67cpdLoLsFtq2ZqBiTfoYtBAgQIECAAAECBAgQIECAAAECBAgQIEBgvgKCMfMVdDwBAgQIECDQlgJDQ0PNYMzaFaNteX0uigCB1gL5Zzb9DFsIECBAgAABAgQIECBAgAABAgQIECBAgMB8BQRj5ivoeAIECBAgQIAAAQIECBAg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dMOdXN0+pumTvnbsrmalmNWrV4dPfepTYePGjdXtsJ4tuEAxIDNTQLSMi8gBmbwuo01tECBAgAABAgQIECBAgAABAgQIECBQvoBgTPmmWiRAgAABAksucLNqMd0whdL0AUjhmK985SvNyjFjY2PhnvWXwj0bz4etqwfD2hWj03fvuM+CMR03ZF1/wZdGV4QTl9eFN89vaFaJSSCpUszHPvYxoZiuvzsWBiAHZIqhmbLPVAzI5GmYyj6H9ggQIECAAAECBAgQIECAAAECBAgQmLuAYMzczRxBgAABAgTaWkAoZubhefbZZ8Nzzz0XUjgmLfV6vfma+YjO+mblypWddcGulsA1gUceeSQ89thjPAgsmoCgzKJROxEBAgQIECBAgAABAgQIECBAgACBJRcQjFnyIXABBAgQIECgXIGbTaG0f//+ck/Wga0NDw+HQ4cOhbfffjucPn06DA0NdWAvXDKBzhZIUyalCjE7d+4Me/bsCatWrersDrn6jhfIlWTyeiE6pKLMQqhqkwABAgQIECBAgAABAgQIECBAgMCtBQRjbm1kDwIECBAg0DECqsV0zFC5UAIECBBoY4EckMnrhbhUQZmFUNUmAQIECBAgQIAAAQIECBAgQIAAgRsFBGNuNLGFAAECBAh0rIBqMR07dC6cAAECBNpYoBiQydMwlX25gjJli2qPAAECBAgQIECAAAECBAgQIECAwISAYIw7gQABAgQIVERAtZiKDKRuECBAgEDbCwjKtP0QuUACBAgQIECAAAECBAgQIECAAAECkwKCMZMU3hAgQIAAgc4WmKlazKOPPhrSy0KAAAECBAgsnECuJJPXZZ9JRZmyRbVHgAABAgQIECBAgAABAgQIECDQLQKCMd0y0vpJgAABApUWuFm1mP3791e67zpHgAABAgTaUSAHZPK67GsUlClbVHsECBAgQIAAAQIECBAgQIAAAQJVFRCMqerI6hcBAgQIdJWAajFdNdw6S4AAAQIdKJADMnlddhcEZcoW1R4BAgQIECBAgAABAgQIECBAgEBVBARjqjKS+kGAAAECXSuQHrDN9JDNNEpde1voOAECBAi0uUD+b3del325OSiT12W3rz0CBAgQIECAAAECBAgQIECAAAECnSIgGNMpI+U6CRAgQIDADAJPP/10GBgYuOFboZgbSGwgQIAAAQJtK5ADMnld9oXmgExel92+9ggQIECAAAECBAgQIECAAAECBAi0q4BgTLuOjOsiQIAAAQKzEEgPz2Z6gCYYMwtAuxAgQIAAgTYVyP99z+uyLzMHZPK67Pa1R4AAAQIECBAgQIAAAQIECBAgQKBdBARj2mUkXAcBAgQIELgNgZsFY/bv338bLTqEAAECBAgQaEeBHJDJ67KvMQVq0yIoU7as9ggQIECAAAECBAgQIECAAAECBJZaQDBmqUfA+QkQIECAwDwEDhw40PJo1WJasthIgAABAgQqI5ADMnlddsdyUCavy25fewQIECBAgAABAgQIECBAgAABAgQWS0AwZrGknYcAAQIECJQskB6EzfQwTLWYkrE1R4AAAQIE2lwg/06Q12Vfbg7I5HXZ7WuPAAECBAgQIECAAAECBAgQIECAwEIJCMYslKx2CRAgQIDAAgs8/fTTYWBg4IazpAdWHlrdwGIDAQIECBDoGoHjx49P/o6wEEGZ4nRLfufomttKRwkQIECAAAECBAgQIECAAAECHSsgGNOxQ+fCCRAgQKDbBWaaRmnfvn1h+/bt3c6j/wQIECBAgMA1gcUKyhQDM/AJECBAgAABAgQIECBAgAABAgQItIuAYEy7jITrIECAAAECcxBI//p7pn8BbhqlOUDalQABAgQIdKFADsrkddkEOSCT12W3rz0CBAgQIECAAAECBAgQIECAAAECcxEQjJmLln0JECBAgECbCJhGqU0GwmUQIECAAIEKCOSATF6X3aU83ZKgTNmy2iNAgAABAgQIECBAgAABAgQIEJiNQN9sdrIPAQIECBAg0F4CAwMDLS8oPXCyECBAgAABAgTmIpCmYCxOw5gDMnk9l7Za7Zur3OV1DsrkdatjbCNAgAABAgQIECBAgAABAgQIECBQloCKMWVJaocAAQIECCySgGmUFgnaaQgQIECAAIGmQA60lBWUmc6aAzJ5Pf17nwkQIECAAAECBAgQIECAAAECBAjMR0AwZj56jiVAgAABAksgYBqlJUB3SgIECBAgQGBSIAdl8nryixLe5OmW8rqEJjVBgAABAgQIECBAgAABAgQIECDQ5QKCMV1+A+g+AQIECHSewIEDB1pe9L59+6ZMg9ByJxsJECBAgAABAiUL5IBMXpfZfA7I5HWZbWuLAAECBAgQIECAAAECBAgQIECgOwQEY7pjnPWSAAECBCoikB44zfTQaf/+/RXppW4QIECAAAECnSpQnG5ppt9Z5tO3PN1SXs+nLccSIECAAAECBAgQIECAAAECBAh0h4BgTHeMs14SIECAQEUEZgrGpIdDHhBVZJB1gwABAgQIVEggB2Xyuuyu5d9/8rrs9rVHgAABAgQIECBAgAABAgQIECDQ+QJ9nd8FPSBAgAABAt0jkB4qWQgQIECAAAECnSKwffv2KVM95ioyZQVlcntpXZxuSVCmU+4Q10mAAAECBAgQIECAAAECBAgQWHgBFWMW3tgZCBAgQIBAaQIHDhxo2ZZplFqy2EiAAAECBAi0uUAx2FL2peagTF6X3b72CBAgQIAAAQIECBAgQIAAAQIEOkNAMKYzxslVEiBAgACBkB4c5YdH0zkEY6aL+EyAAAECBAh0okD+XSevy+xDriKT12W2rS0CBAgQIECAAAECBAgQIECAAIH2FRCMad+xcWUECBAgQGCKwEzBmPRwxwOeKVQ+ECBAgAABAhUQyNMt5XXZXcq/P+V12e1rjwABAgQIECBAgAABAgQIECBAoD0E+trjMlwFAQIECBAgcCuBhfiX07c6p+8JECBAgAABAkslsH379pBeeckBmbzO2293nX+3Sus83VJe326bjiNAgAABAgQIECBAgAABAgQIEGg/AcGY9hsTV0SAAAECBOYk4F85z4nLzgQIECBAgECHCkwPyhSDLfPt0sDAQEiv3Gb+/UpQZr6yjidAgAABAgQIECBAgAABAgQILL2AqZSWfgxcAQECBAgQuKVA+pfRTz311A37pYc1Tz755A3bbSBAgAABAgQIdJtADrXkdZn9z0GZvC6zbW0RIECAAAECBAgQIECAAAECBAgsrIBgzML6ap0AAQIECJQikB7wtHrIkx7OeEBTCrFGCBAgQIAAgQoJ5OmW8rrMrhWryPg9rExZbREgQIAAAQIECBAgQIAAAQIEFkbAVEoL46pVAgQIECBAgAABAgQIECBAYIkEpk+7lAMyeT2fy8rTLqU2UnA5B2Xyej5tO5YAAQIECBAgQIAAAQIECBAgQKB8ARVjyjfVIgECBAgQKF3gwIEDLdvct29fSA9+LAQIECBAgAABArMXyJX48nr2R956z1xFJq9vfYQ9CBAgQIAAAQIECBAgQIAAAQIEFlJAMGYhdbVNgAABAgRKEpgpGLN///6SzqAZAgQIECBAgED3CuSATF6XJVGsIiMoU5aqdggQIECAAAECBAgQIECAAAECcxMQjJmbl70JECBAgMCiC6SS/0899VTL8wrGtGSxkQABAgQIECBw2wJ5uqW8vu2GWhyYgzJ53WIXmwgQIECAAAECBAgQIECAAAECBEoWEIwpGVRzBAgQIECgbIH0L5db/evl9K+O/cvjsrW1R4AAAQIECBCYKpB/D8vrqd/O71P+XS6v59eaowkQIECAAAECBAgQIECAAAECBFoJ9LXaaBsBAgQIECBAgAABAgQIECBAgECYDCLn8EoOyOT1fIxyG2ldrCKTzzWfth1LgAABAgQIECBAgAABAgQIECAwIaBijDuBAAECBAi0ucDTTz8dBgYGbrjK9MDEQ5MbWGwgQIAAAQIECCyaQJ5uKa/LPHEOyuR1mW1riwABAgQIECBAgAABAgQIECDQTQKCMd002vpKgAABAh0pcODAgZbXvX///pbbbSRAgAABAgQIEFgagVwBZiGCMjkQnddL00NnJUCAAAECBAgQIECAAAECBAh0noCplDpvzFwxAQIECBAgQIAAAQIECBAg0IYC00MrOSiT1/O55NxGWheryEw/53zO4VgCBAgQIECAAAECBAgQIECAQBUFVIyp4qjqEwECBAhURiD9a+Onnnrqhv6khyFPPvnkDdttIECAAAECBAgQaE+BXEUmr8u8yhyOKQZmymxfWwQIECBAgAABAgQIECBAgACBThZQMaaTR8+1EyBAgEDlBQYGBirfRx0kQIAAAQIECHSDwPbt20N65aVYASZvu9319LZyUCavb7ddxxEgQIAAAQIECBAgQIAAAQIEqiCgYkwVRlEfCBAgQKCyAukhR37QUexkesjhQUdRxHsCBAgQIECAQGcL5N/58rqs3uQqMnldVrvaIUCAAAECBAgQIECAAAECBAh0ioCKMZ0yUq6TAAECBAgQIECAAAECBAgQqKxADj2ndZ5uKa/n0+lUgTC9cuCmeJ75tOtYAgQIECBAgAABAgQIECBAgECnCAjGdMpIuU4CBAgQ6EqB9DCk1ZL+xa+FAAECBAgQIECgmgKmXarmuOoVAQIECBAgQIAAAQIECBAgsDQCplJaGndnJUCAAAECsxI4cOBAy/3279/fcruNBAgQIECAAAEC1RfI1V/yuqwe5+mW8rqsdrVDgAABAgQIECBAgAABAgQIEFhKARVjllLfuQkQIECAAAECBAgQIECAAAECcxQoToeUp1vK6zk2NWV30y5N4fCBAAECBAgQIECAAAECBAgQqIiAYExFBlI3CBAgQKB6AjNNo1S9nuoRAQIECBAgQIDA7Qos1rRLxSoyOZhzu9fsOAIECBAgQIAAAQIECBAgQIDAYgqYSmkxtZ2LAAECBAjMQSAFY5566qkbjkgPJZ588skbtttAgAABAgQIECBAYLpAnm4pr6d/f7ufczgmr2+3HccRIECAAAECBAgQIECAAAECBBZaQDBmoYW1T4AAAQIEblMgPbxo9QAjPXzwAOI2UR1GgAABAgQIEOhigTzdUl6XSZF/P83rMtvWFgECBAgQIECAAAECBAgQIEBgPgKmUpqPnmMJECBAgAABAgQIECBAgAABAh0isNjTLhWnX+oQIpdJgAABAgQIECBAgAABAgQIVFBAMKaCg6pLBAgQIECAAAECBAgQIECAAIFbCeTqLmmdq8jk9a2Ovdn3AwMDIb1y9cPieW52nO8IECBAgAABAgQIECBAgAABAgshIBizEKraJECAAAECJQikhxKtlvQvby0ECBAgQIAAAQIEyhRQTaZMTW0RIECAAAECBAgQIECAAAEC7SQgGNNOo+FaCBAgQIAAAQIECBAgQIAAAQJtIDC9ykuu/pLXt3uJqsncrpzjCBAgQIAAAQIECBAgQIAAgdsVqDXicrsHO44AAQIECBBYOIEDBw60bHz//v0tt9tIgAABAgQIECBAYDEE8nRLeV3mOacHcspsW1sECBAgQIAAAQIECBAgQIBAdwqoGNOd467XBAgQIECAAAECBAgQIECAAIHbEjDt0m2xOYgAAQIECBAgQIAAAQIECBBYIgHBmCWCd1oCBAgQIECAAAECBAgQIECAQBUEilVechWZvJ5P/0y7NB89xxIgQIAAAQIECBAgQIAAAQJZQDAmS1gTIECAAIE2EkgPElotO3bsaLXZNgIECBAgQIAAAQJtIaCaTFsMg4sgQIAAAQIECBAgQIAAAQIECgKCMQUMbwkQIECAAAECBAgQIECAAAECBMoTKFaTSa0ePHiw2Xhe3+6ZVJO5XTnHESBAgAABAgQIECBAgACB7hOoNeLSfd3WYwIECBAg0N4C6UFBq4cFqWLMk08+2d4X7+oIECBAgAABAgQIzEIgT7eU17M4ZNa7TA/kzPpAOxIgQIAAAQIECBAgQIAAAQKVE1AxpnJDqkMECBAgUGWBVJreQoAAAQIECBAgQKAKAos17VIOyaSQud+nq3Dn6AMBAgQIECBAgAABAgQIEJibgGDM3LzsTYAAAQIECBAgQIAAAQIECBAgsAACOcCS1rmKTF7P53S5EmNeF88zn3YdS4AAAQIECBAgQIAAAQIECHSGgGBMZ4yTqyRAgAABAgQIECBAgAABAgQIdI3AYlWTyVVk8rprgHWUAAECBAgQIECAAAECBAh0kYBgTBcNtq4SIECAAAECBAgQIECAAAECBDpRYHqVl1z9Ja9vt08DAwMhvXI7089zu+06jgABAgQIECBAgAABAgQIEGgfgVojLu1zOa6EAAECBAgQSAJPP/108/+gn66xb9++kP71rIUAAQIECBAgQIAAgQmBPN1SXpflkqvI5HVZ7WqHAAECBAgQIECAAAECBAgQWFwBFWMW19vZCBAgQIAAAQIECBAgQIAAAQIEShRYqGmXVJMpcZA0RYAAAQIECBAgQIAAAQIEllBAMGYJ8Z2aAAECBAgQIECAAAECBAgQIECgXIHidEi5ikxez+dMebqltC5Wkcnnm0/bjiVAgAABAgQIECBAgAABAgQWTkAwZuFstUyAAAECBG5bIP3r1FaLaZRaqdhGgAABAgQIECBAoLXAQleTSWdNQZkcjsnr1ldjKwECBAgQIECAAAECBAgQILAUAoIxS6HunAQIECBAgAABAgQIECBAgAABAosukIMraZ2ryOT1fC6mWE0mtVM8z3zadSwBAgQIECBAgAABAgQIECAwfwHBmPkbaoEAAQIECBAgQIAAAQIECBAgQKDDBBaqmkxiKAZl8rRLed1hTC6XAAECBAgQIECAAAECBAh0vIBgTMcPoQ4QIECAAAECBAgQIECAAAECBAjMV2B6lZdiuGU+badpUtMrtzf9PPNp27EECBAgQIAAAQIECBAgQIDArQVqjbjcejd7ECBAgMD/z959wMdxlokffyS5ybYsy11yj1McpzrBKZA4hBASEjs5AtzRAoSAuUI5OoQ/cEcLXAuEbkroxwGXHDgVQgJOgBSM4/RmO25yt4plSbak1f99Zv3sjkazq+31934iv7uzM++8853Nzsw7z7wvAggUSkC7cl+zZk3o6latWhU6nYkIIIAAAggggAACCCCQPwELasnFsEv+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