diff --git a/apps/Backend/src/ai/aiHandoffStore.ts b/apps/Backend/src/ai/aiHandoffStore.ts
new file mode 100644
index 00000000..33e4e961
--- /dev/null
+++ b/apps/Backend/src/ai/aiHandoffStore.ts
@@ -0,0 +1,95 @@
+// In-memory store for per-patient AI handoff toggle, conversation stage,
+// and per-user after-hours handoff toggle.
+// Conversation key: `${userId}:${patientId}`
+
+export type ConversationStage =
+ | "initial" // default — no active conversation
+ | "reminder_initial" // office sent a reminder, waiting for first patient reply
+ | "greeted" // reminder intro sent, waiting for yes/no
+ | "done" // conversation complete
+ | "new_patient_greeted" // new-patient greeting sent, waiting for patient intent
+ | "asked_new_or_existing" // AI asked "new or existing patient?"
+ | "asked_new_patient_insurance" // AI asked new patient about insurance
+ | "asked_existing_insurance" // AI asked existing patient about same insurance
+ | "asked_appointment_time" // AI asked when they'd like to come
+ | "awaiting_masshealth_info" // AI asked for Member ID + DOB, waiting for reply
+ | "asked_appointment_preference" // Selenium: ACTIVE — AI asked check-up vs problem
+ | "asked_self_pay" // Selenium: INACTIVE — AI asked if self-pay exam
+ | "asked_reschedule_confirm" // AI asked "Would you like to reschedule?"
+ | "asked_reschedule_preference" // AI asked ASAP vs next week
+ | "asked_reschedule_asap" // AI asked "Can you come tomorrow?"
+ | "asked_reschedule_next_week" // AI offered Mon/Tue/Wed next week
+ | "asked_reschedule_time"; // Day confirmed — AI asked morning or afternoon
+
+const handoffStore = new Map();
+const stageStore = new Map();
+const afterHoursStore = new Map(); // keyed by userId
+
+function convKey(userId: number, patientId: number): string {
+ return `${userId}:${patientId}`;
+}
+
+// ── Per-patient handoff toggle (default ON) ───────────────────────────────────
+
+export function getHandoff(userId: number, patientId: number): boolean {
+ const k = convKey(userId, patientId);
+ return handoffStore.has(k) ? handoffStore.get(k)! : true;
+}
+
+export function setHandoff(userId: number, patientId: number, enabled: boolean): void {
+ handoffStore.set(convKey(userId, patientId), enabled);
+}
+
+// ── Per-user after-hours handoff toggle (default ON) ─────────────────────────
+
+export function getAfterHoursHandoff(userId: number): boolean {
+ return afterHoursStore.has(userId) ? afterHoursStore.get(userId)! : true;
+}
+
+export function setAfterHoursHandoff(userId: number, enabled: boolean): void {
+ afterHoursStore.set(userId, enabled);
+}
+
+// ── Conversation stage ────────────────────────────────────────────────────────
+
+export function getStage(userId: number, patientId: number): ConversationStage {
+ return stageStore.get(convKey(userId, patientId)) ?? "initial";
+}
+
+export function setStage(userId: number, patientId: number, stage: ConversationStage): void {
+ stageStore.set(convKey(userId, patientId), stage);
+}
+
+// Called when office sends an outbound reminder — marks next patient reply
+// as the start of a reminder conversation.
+export function resetConversation(userId: number, patientId: number): void {
+ stageStore.set(convKey(userId, patientId), "reminder_initial");
+}
+
+// Called when office sends the new-patient greeting — marks next patient reply
+// as the start of the new-patient conversation flow.
+export function startNewPatientConversation(userId: number, patientId: number): void {
+ stageStore.set(convKey(userId, patientId), "new_patient_greeted");
+}
+
+// ── Pending reschedule data ───────────────────────────────────────────────────
+// Holds the confirmed new date while AI waits for a time-slot answer.
+
+interface PendingReschedule {
+ newDate: Date; // JS Date for the new appointment day (midnight UTC)
+ dayLabel: string; // human-readable, e.g. "Tuesday, May 19"
+}
+
+const pendingRescheduleStore = new Map();
+
+export function setPendingReschedule(userId: number, patientId: number, data: PendingReschedule): void {
+ pendingRescheduleStore.set(convKey(userId, patientId), data);
+}
+
+export function getPendingReschedule(userId: number, patientId: number): PendingReschedule | undefined {
+ return pendingRescheduleStore.get(convKey(userId, patientId));
+}
+
+export function clearPendingReschedule(userId: number, patientId: number): void {
+ pendingRescheduleStore.delete(convKey(userId, patientId));
+}
diff --git a/apps/Backend/src/ai/new-patient-graph.ts b/apps/Backend/src/ai/new-patient-graph.ts
new file mode 100644
index 00000000..52eccc85
--- /dev/null
+++ b/apps/Backend/src/ai/new-patient-graph.ts
@@ -0,0 +1,435 @@
+import { StateGraph, END, START, Annotation } from "@langchain/langgraph";
+import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
+import type { ConversationStage } from "./aiHandoffStore";
+
+// ── Graph state ───────────────────────────────────────────────────────────────
+
+const GraphState = Annotation.Root({
+ message: Annotation(),
+ stage: Annotation(),
+ intent: Annotation(),
+ reply: Annotation(),
+ language: Annotation(),
+ nextStage: Annotation(),
+});
+
+type GraphStateType = typeof GraphState.State;
+
+// ── Transfer-to-staff fallback (multilingual) ─────────────────────────────────
+
+const TRANSFER: Record = {
+ English: "Thank you for reaching out! Our office staff will assist you shortly.",
+ Spanish: "¡Gracias por comunicarse! Un miembro del personal de la oficina le atenderá en breve.",
+ Portuguese: "Obrigado pelo contato! Nossa equipe entrará em contato em breve.",
+ Mandarin: "感谢您的联系!我们的工作人员将很快为您提供帮助。",
+ Cantonese: "感謝您的聯繫!我們的工作人員將很快為您提供幫助。",
+ Arabic: "شكراً لتواصلك! سيتواصل معك أحد موظفي المكتب قريباً.",
+ "Haitian Creole": "Mèsi dèske ou kontakte nou! Yon manm ekip biwo a pral ede ou byento.",
+};
+
+function transferMsg(lang: string): string {
+ return TRANSFER[lang] ?? TRANSFER["English"]!;
+}
+
+// ── Intent classifiers ────────────────────────────────────────────────────────
+
+function wantsAppointment(text: string): boolean {
+ return /appointment|schedule|cleaning|checkup|teeth|tooth|cavity|pain|dental|filling|crown|whitening|x-ray|exam|hygienist|dentist/i.test(text);
+}
+
+function isNewPatient(text: string): boolean {
+ return /new patient|first time|first visit|never been|brand new|haven't been|i am new/i.test(text);
+}
+
+function isExistingPatient(text: string): boolean {
+ return /existing|been there|have been|already|before|i have been|returning|came before|i was there/i.test(text);
+}
+
+function hasMassHealth(text: string): boolean {
+ return /masshealth|mass health|medicaid|masscare/i.test(text);
+}
+
+function hasOtherInsurance(text: string): boolean {
+ return /blue cross|delta dental|cigna|aetna|united|metlife|guardian|humana|tufts|harvard pilgrim|bmchp|yes|i have|my insurance|i do/i.test(text);
+}
+
+function hasNoInsurance(text: string): boolean {
+ return /no insurance|uninsured|self.pay|self pay|i don't|don't have|no i don't|i have no/i.test(text);
+}
+
+function sameInsurance(text: string): boolean {
+ return /yes|same|still have|haven't changed|no change/i.test(text);
+}
+
+function changedInsurance(text: string): boolean {
+ return /no|changed|different|new insurance|switched|lost|expired/i.test(text);
+}
+
+// ── LLM reply helper ──────────────────────────────────────────────────────────
+
+async function llmReply(
+ system: string,
+ userMsg: string,
+ fallback: string,
+ apiKey: string
+): Promise {
+ try {
+ const llm = new ChatGoogleGenerativeAI({ model: "gemini-1.5-flash", apiKey });
+ const res = await llm.invoke([
+ { role: "system", content: system },
+ { role: "user", content: userMsg },
+ ]);
+ return String(res.content).trim() || fallback;
+ } catch {
+ return fallback;
+ }
+}
+
+// ── Graph nodes ───────────────────────────────────────────────────────────────
+
+// Classify intent based on current stage
+function classifyNode(state: GraphStateType) {
+ const text = state.message.toLowerCase();
+ const stage = state.stage as ConversationStage;
+
+ let intent = "other";
+
+ if (stage === "new_patient_greeted") {
+ intent = wantsAppointment(text) ? "wants_appointment" : "other";
+ } else if (stage === "asked_new_or_existing") {
+ if (isNewPatient(text)) intent = "new_patient";
+ else if (isExistingPatient(text)) intent = "existing_patient";
+ } else if (stage === "asked_new_patient_insurance") {
+ if (hasMassHealth(text)) intent = "masshealth";
+ else if (hasNoInsurance(text)) intent = "no_insurance";
+ else if (hasOtherInsurance(text)) intent = "other_insurance";
+ } else if (stage === "asked_existing_insurance") {
+ if (sameInsurance(text)) intent = "same_insurance";
+ else if (changedInsurance(text)) intent = "changed_insurance";
+ } else if (stage === "asked_appointment_time") {
+ intent = "appointment_time";
+ } else if (stage === "asked_appointment_preference") {
+ intent = "appointment_preference_reply";
+ } else if (stage === "asked_self_pay") {
+ intent = "self_pay_reply";
+ }
+
+ return { intent };
+}
+
+function routeNode(state: GraphStateType): string {
+ const stage = state.stage as ConversationStage;
+ const intent = state.intent;
+
+ if (stage === "new_patient_greeted") return intent === "wants_appointment" ? "ask_new_or_existing" : "transfer";
+ if (stage === "asked_new_or_existing") return intent === "new_patient" ? "ask_new_patient_insurance" : intent === "existing_patient" ? "ask_existing_insurance" : "transfer";
+ if (stage === "asked_new_patient_insurance") return intent === "masshealth" ? "ask_masshealth_info" : intent === "no_insurance" ? "ask_appointment_time" : "transfer";
+ if (stage === "asked_existing_insurance") return intent === "same_insurance" ? "ask_appointment_time" : "transfer";
+ if (stage === "asked_appointment_time") return "acknowledge_appointment_time";
+ if (stage === "asked_appointment_preference") return "handle_appointment_preference";
+ if (stage === "asked_self_pay") return "handle_self_pay";
+
+ return "transfer";
+}
+
+// ── Response nodes ────────────────────────────────────────────────────────────
+
+async function askNewOrExistingNode(state: GraphStateType, config: any) {
+ const lang = state.language || "English";
+ const apiKey: string | undefined = config?.configurable?.apiKey;
+
+ const fallbacks: Record = {
+ English: "Are you a new patient or an existing patient?",
+ Spanish: "¿Es usted un paciente nuevo o ya ha visitado nuestra clínica antes?",
+ Portuguese: "Você é um paciente novo ou já veio ao nosso consultório antes?",
+ Mandarin: "您是新患者还是现有患者?",
+ Cantonese: "您係新病人定係舊病人?",
+ Arabic: "هل أنت مريض جديد أم مريض حالي؟",
+ "Haitian Creole": "Èske ou se yon nouvo pasyan oswa yon pasyan egzistan?",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. Ask the patient in ${lang} whether they are a new patient or an existing patient. One sentence, no formatting.`,
+ `Patient wants an appointment. Ask if new or existing.`,
+ fallback, apiKey
+ )
+ : fallback;
+
+ return { reply, nextStage: "asked_new_or_existing" };
+}
+
+async function askNewPatientInsuranceNode(state: GraphStateType, config: any) {
+ const lang = state.language || "English";
+ const apiKey: string | undefined = config?.configurable?.apiKey;
+
+ const fallbacks: Record = {
+ English: "Do you have any dental insurance?",
+ Spanish: "¿Tiene seguro dental?",
+ Portuguese: "Você tem plano odontológico?",
+ Mandarin: "您有牙科保险吗?",
+ Cantonese: "您有牙科保險嗎?",
+ Arabic: "هل لديك تأمين أسنان؟",
+ "Haitian Creole": "Èske ou gen asirans dantè?",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. Ask the new patient in ${lang} if they have dental insurance. One sentence, no formatting.`,
+ `New patient confirmed. Ask about insurance.`,
+ fallback, apiKey
+ )
+ : fallback;
+
+ return { reply, nextStage: "asked_new_patient_insurance" };
+}
+
+async function askExistingInsuranceNode(state: GraphStateType, config: any) {
+ const lang = state.language || "English";
+ const apiKey: string | undefined = config?.configurable?.apiKey;
+
+ const fallbacks: Record = {
+ English: "Do you still have the same insurance?",
+ Spanish: "¿Sigue teniendo el mismo seguro?",
+ Portuguese: "Você ainda tem o mesmo plano?",
+ Mandarin: "您还有相同的保险吗?",
+ Cantonese: "您仍然有相同的保險嗎?",
+ Arabic: "هل لا تزال تمتلك نفس التأمين؟",
+ "Haitian Creole": "Èske ou toujou gen menm asirans lan?",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. Ask the existing patient in ${lang} if they still have the same dental insurance on file. One sentence, no formatting.`,
+ `Existing patient confirmed. Ask about insurance.`,
+ fallback, apiKey
+ )
+ : fallback;
+
+ return { reply, nextStage: "asked_existing_insurance" };
+}
+
+async function askMassHealthInfoNode(state: GraphStateType, config: any) {
+ const lang = state.language || "English";
+ const apiKey: string | undefined = config?.configurable?.apiKey;
+
+ const fallbacks: Record = {
+ English: "I can check your MassHealth coverage! Please text me your Member ID and date of birth.",
+ Spanish: "¡Puedo verificar su cobertura de MassHealth! Por favor envíeme su número de miembro y fecha de nacimiento.",
+ Portuguese: "Posso verificar sua cobertura MassHealth! Por favor envie seu número de membro e data de nascimento.",
+ Mandarin: "我可以查看您的MassHealth保险!请发送您的会员ID和出生日期。",
+ Cantonese: "我可以查核您的MassHealth保險!請傳送您的會員ID和出生日期。",
+ Arabic: "يمكنني التحقق من تغطية MassHealth الخاصة بك! من فضلك أرسل لي رقم العضوية وتاريخ الميلاد.",
+ "Haitian Creole": "Mwen ka verifye asirans MassHealth ou! Tanpri voye ID manm ou ak dat nesans ou.",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. The patient has MassHealth. Tell them in ${lang} that you can check their coverage and ask them to send their Member ID and date of birth. 1-2 sentences, no formatting.`,
+ `Patient has MassHealth. Ask for member ID and DOB.`,
+ fallback, apiKey
+ )
+ : fallback;
+
+ return { reply, nextStage: "awaiting_masshealth_info" };
+}
+
+async function askAppointmentTimeNode(state: GraphStateType, config: any) {
+ const lang = state.language || "English";
+ const apiKey: string | undefined = config?.configurable?.apiKey;
+
+ const fallbacks: Record = {
+ English: "When would you like to make an appointment?",
+ Spanish: "¿Cuándo le gustaría hacer una cita?",
+ Portuguese: "Quando você gostaria de agendar uma consulta?",
+ Mandarin: "您想什么时候预约?",
+ Cantonese: "您想幾時預約?",
+ Arabic: "متى تريد تحديد موعد؟",
+ "Haitian Creole": "Ki lè ou ta renmen fè yon randevou?",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. Ask the patient in ${lang} when they would like to schedule their appointment. One sentence, no formatting.`,
+ `Ask when to schedule.`,
+ fallback, apiKey
+ )
+ : fallback;
+
+ return { reply, nextStage: "asked_appointment_time" };
+}
+
+async function acknowledgeAppointmentTimeNode(state: GraphStateType, config: any) {
+ const lang = state.language || "English";
+ const apiKey: string | undefined = config?.configurable?.apiKey;
+
+ const fallbacks: Record = {
+ English: "Thank you! Our office staff will confirm your appointment details shortly.",
+ Spanish: "¡Gracias! El personal de la oficina confirmará los detalles de su cita en breve.",
+ Portuguese: "Obrigado! Nossa equipe confirmará os detalhes da sua consulta em breve.",
+ Mandarin: "谢谢!我们的工作人员将很快确认您的预约详情。",
+ Cantonese: "多謝!我們的工作人員將很快確認您的預約詳情。",
+ Arabic: "شكراً! سيؤكد فريق مكتبنا تفاصيل موعدك قريباً.",
+ "Haitian Creole": "Mèsi! Ekip biwo nou an pral konfime detay randevou ou a byento.",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. The patient stated their preferred appointment time. Acknowledge in ${lang} and tell them the office staff will confirm shortly. 1-2 sentences, no formatting.`,
+ `Patient said: "${state.message}". Acknowledge.`,
+ fallback, apiKey
+ )
+ : fallback;
+
+ return { reply, nextStage: "done" };
+}
+
+// ── Post-Selenium: appointment preference (MassHealth ACTIVE) ─────────────────
+
+async function handleAppointmentPreferenceNode(state: GraphStateType, config: any) {
+ const lang = state.language || "English";
+ const apiKey: string | undefined = config?.configurable?.apiKey;
+
+ const fallbacks: Record = {
+ English: "When would you like to come in? Are you looking for a routine check-up and teeth cleaning, or do you have a tooth problem or pain?",
+ Spanish: "¿Cuándo le gustaría venir? ¿Busca una revisión rutinaria y limpieza dental, o tiene algún problema dental o dolor?",
+ Portuguese: "Quando gostaria de vir? Você busca uma consulta de rotina e limpeza, ou tem algum problema dentário ou dor?",
+ Mandarin: "您想什么时候来?您是想做常规检查和洗牙,还是您有牙齿问题或疼痛?",
+ Cantonese: "您想幾時來?您是想做例行檢查和洗牙,還是您有牙齒問題或疼痛?",
+ Arabic: "متى تودّ الحضور؟ هل تبحث عن فحص روتيني وتنظيف أسنان، أم أن لديك مشكلة في الأسنان أو ألماً؟",
+ "Haitian Creole": "Ki lè ou ta renmen vini? Èske ou ap chèche yon egzamen woutin ak netwayaj dan, oswa èske ou gen yon pwoblèm dan oswa doulè?",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. The patient's MassHealth is active. In ${lang}, ask when they would like to come in and whether they want a routine check-up and teeth cleaning, or if they have a dental problem or pain. 1-2 sentences, no formatting.`,
+ `MassHealth is active. Ask appointment preference.`,
+ fallback, apiKey
+ )
+ : fallback;
+
+ return { reply, nextStage: "asked_appointment_time" };
+}
+
+// ── Post-Selenium: self-pay offer (MassHealth INACTIVE) ───────────────────────
+
+async function handleSelfPayNode(state: GraphStateType, config: any) {
+ const lang = state.language || "English";
+ const apiKey: string | undefined = config?.configurable?.apiKey;
+ const text = state.message.toLowerCase();
+
+ // Classify yes/no for self-pay
+ const acceptsSelfPay = /yes|sure|ok|okay|yep|yeah|sí|si|claro|sim|confirmado|好的|نعم|wi|oke/i.test(text);
+ const declinesSelfPay = /no|nope|can't|won't|not interested|no puedo|não|لا|pa ka/i.test(text);
+
+ if (declinesSelfPay) {
+ const declineFallbacks: Record = {
+ English: "No problem! If you ever change your mind or have any questions, feel free to reach out. Our staff is happy to help.",
+ Spanish: "¡Sin problema! Si cambia de opinión o tiene alguna pregunta, no dude en contactarnos.",
+ Portuguese: "Sem problema! Se mudar de ideia ou tiver dúvidas, entre em contato. Nossa equipe está feliz em ajudar.",
+ Mandarin: "没关系!如果您改变主意或有任何问题,随时联系我们,我们的工作人员很乐意帮助您。",
+ Cantonese: "沒問題!如果您改變主意或有任何問題,隨時聯繫我們。",
+ Arabic: "لا بأس! إذا غيّرت رأيك أو كان لديك أي سؤال، لا تتردد في التواصل معنا.",
+ "Haitian Creole": "Pa gen pwoblèm! Si ou chanje lide ou oswa gen kesyon, pa ezite kontakte nou.",
+ };
+ const fallback = declineFallbacks[lang] ?? declineFallbacks["English"]!;
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. The patient declined a self-pay appointment. In ${lang}, politely close the conversation and invite them to reach out anytime. 1-2 sentences, no formatting.`,
+ `Patient declined self-pay.`,
+ fallback, apiKey
+ )
+ : fallback;
+ return { reply, nextStage: "done" };
+ }
+
+ if (acceptsSelfPay) {
+ const acceptFallbacks: Record = {
+ English: "When would you like to come in for your examination?",
+ Spanish: "¿Cuándo le gustaría venir para su examen?",
+ Portuguese: "Quando você gostaria de vir para seu exame?",
+ Mandarin: "您想什么时候来进行检查?",
+ Cantonese: "您想幾時來進行檢查?",
+ Arabic: "متى تودّ الحضور للفحص؟",
+ "Haitian Creole": "Ki lè ou ta renmen vini pou egzamen ou?",
+ };
+ const fallback = acceptFallbacks[lang] ?? acceptFallbacks["English"]!;
+ const reply = apiKey
+ ? await llmReply(
+ `You are a friendly dental office AI assistant. The patient agreed to a self-pay examination. In ${lang}, ask when they would like to come in. One sentence, no formatting.`,
+ `Patient agreed to self-pay. Ask when to come in.`,
+ fallback, apiKey
+ )
+ : fallback;
+ return { reply, nextStage: "asked_appointment_time" };
+ }
+
+ // Ambiguous — transfer to staff
+ return { reply: transferMsg(lang), nextStage: "done" };
+}
+
+function transferNode(state: GraphStateType) {
+ const lang = state.language || "English";
+ return { reply: transferMsg(lang), nextStage: "done" };
+}
+
+// ── Graph assembly ────────────────────────────────────────────────────────────
+
+const graph = new StateGraph(GraphState)
+ .addNode("classify", classifyNode)
+ .addNode("ask_new_or_existing", askNewOrExistingNode)
+ .addNode("ask_new_patient_insurance", askNewPatientInsuranceNode)
+ .addNode("ask_existing_insurance", askExistingInsuranceNode)
+ .addNode("ask_masshealth_info", askMassHealthInfoNode)
+ .addNode("ask_appointment_time", askAppointmentTimeNode)
+ .addNode("acknowledge_appointment_time", acknowledgeAppointmentTimeNode)
+ .addNode("handle_appointment_preference",handleAppointmentPreferenceNode)
+ .addNode("handle_self_pay", handleSelfPayNode)
+ .addNode("transfer", transferNode)
+ .addEdge(START, "classify")
+ .addConditionalEdges("classify", routeNode, {
+ ask_new_or_existing: "ask_new_or_existing",
+ ask_new_patient_insurance: "ask_new_patient_insurance",
+ ask_existing_insurance: "ask_existing_insurance",
+ ask_masshealth_info: "ask_masshealth_info",
+ ask_appointment_time: "ask_appointment_time",
+ acknowledge_appointment_time: "acknowledge_appointment_time",
+ handle_appointment_preference: "handle_appointment_preference",
+ handle_self_pay: "handle_self_pay",
+ transfer: "transfer",
+ })
+ .addEdge("ask_new_or_existing", END)
+ .addEdge("ask_new_patient_insurance", END)
+ .addEdge("ask_existing_insurance", END)
+ .addEdge("ask_masshealth_info", END)
+ .addEdge("ask_appointment_time", END)
+ .addEdge("acknowledge_appointment_time", END)
+ .addEdge("handle_appointment_preference", END)
+ .addEdge("handle_self_pay", END)
+ .addEdge("transfer", END)
+ .compile();
+
+// ── Public API ────────────────────────────────────────────────────────────────
+
+export async function runNewPatientStep(
+ message: string,
+ stage: ConversationStage,
+ language: string,
+ apiKey: string
+): Promise<{ reply: string; nextStage: ConversationStage }> {
+ const result = await graph.invoke(
+ { message, stage, intent: "", reply: "", language, nextStage: "" },
+ { configurable: { apiKey } }
+ );
+ return {
+ reply: result.reply || transferMsg(language),
+ nextStage: (result.nextStage as ConversationStage) || "done",
+ };
+}
diff --git a/apps/Backend/src/ai/reminder-graph.ts b/apps/Backend/src/ai/reminder-graph.ts
index a4ce4951..ae6a6f90 100644
--- a/apps/Backend/src/ai/reminder-graph.ts
+++ b/apps/Backend/src/ai/reminder-graph.ts
@@ -2,44 +2,80 @@ import { StateGraph, END, START, Annotation } from "@langchain/langgraph";
import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
const GraphState = Annotation.Root({
- message: Annotation(),
- intent: Annotation(),
- reply: Annotation(),
+ message: Annotation(),
+ intent: Annotation(),
+ reply: Annotation(),
+ language: Annotation(),
+ appointmentDatetime: Annotation(),
});
type GraphStateType = typeof GraphState.State;
-// Keyword-based intent classifier — fast and deterministic for yes/no
+// ── Intent classifier — multilingual yes/no keywords ─────────────────────────
+
function classifyNode(state: GraphStateType) {
const text = state.message.toLowerCase().trim();
- const yesPatterns = /\b(yes|yeah|yep|yup|sure|ok|okay|confirmed|confirm|will be there|sounds good|see you|great|perfect|absolutely|definitely)\b/;
- const noPatterns = /\b(no|nope|can't|cannot|won't|not available|unavailable|cancel|reschedule|busy|sorry|unable|not coming|not going)\b/;
+ const yesPatterns = /\b(yes|yeah|yep|yup|sure|ok|okay|confirmed|confirm|will be there|sounds good|see you|great|perfect|absolutely|definitely|sí|si|claro|por supuesto|confirmo|de acuerdo|seguro|estaré|sim|confirmado|com certeza|好的|确认|可以|好|明白|نعم|حسنا|موافق|wi|dakò|oke)\b/;
+ const noPatterns = /\b(no|nope|can't|cannot|won't|not available|unavailable|cancel|reschedule|busy|sorry|unable|not coming|not going|no puedo|no podré|cancelar|reprogramar|ocupado|lo siento|não posso|não vou|reagendar|占线|无法|取消|لا|لا أستطيع|إلغاء|pa kapab|pa ka)\b/;
if (yesPatterns.test(text)) return { intent: "yes" };
- if (noPatterns.test(text)) return { intent: "no" };
+ if (noPatterns.test(text)) return { intent: "no" };
return { intent: "other" };
}
function routeByIntent(state: GraphStateType): string {
- if (state.intent === "yes") return "thank_you";
- if (state.intent === "no") return "reschedule";
+ if (state.intent === "yes") return "confirm";
+ if (state.intent === "no") return "reschedule";
return END;
}
-async function thankYouNode(state: GraphStateType, config: any) {
+// ── Confirmation fallbacks (with appointment datetime) ────────────────────────
+
+function buildConfirmFallback(lang: string, apptDatetime: string): string {
+ const appt = apptDatetime || "your scheduled appointment";
+ const map: Record = {
+ English: `Thank you for your confirmation! We look forward to seeing you on ${appt}.`,
+ Spanish: `¡Gracias por confirmar! Le esperamos el ${appt}.`,
+ Portuguese: `Obrigado por confirmar! Aguardamos a sua visita em ${appt}.`,
+ Mandarin: `感谢您的确认!我们期待在 ${appt} 见到您。`,
+ Cantonese: `感謝您的確認!我們期待在 ${appt} 見到您。`,
+ Arabic: `شكراً على تأكيدك! نتطلع إلى رؤيتك في ${appt}.`,
+ "Haitian Creole": `Mèsi dèske ou konfime! N'ap tann ou ${appt}.`,
+ };
+ return map[lang] ?? map["English"]!;
+}
+
+// ── Reschedule fallbacks ──────────────────────────────────────────────────────
+
+const RESCHEDULE_FALLBACKS: Record = {
+ English: "It is understandable! Would you like to reschedule?",
+ Spanish: "¡Lo entendemos! ¿Le gustaría reprogramar su cita?",
+ Portuguese: "Entendemos! Gostaria de reagendar a sua consulta?",
+ Mandarin: "我们理解!您想重新安排预约吗?",
+ Cantonese: "我們理解!您想重新安排預約嗎?",
+ Arabic: "نتفهم ذلك! هل تود إعادة جدولة موعدك؟",
+ "Haitian Creole": "Nou konprann! Èske ou ta renmen repwograme randevou ou?",
+};
+
+// ── LangGraph nodes ───────────────────────────────────────────────────────────
+
+async function confirmNode(state: GraphStateType, config: any) {
const apiKey: string | undefined = config?.configurable?.apiKey;
- const fallback = "Thank you for confirming your appointment! We look forward to seeing you.";
+ const lang = state.language || "English";
+ const appt = state.appointmentDatetime || "";
+ const fallback = buildConfirmFallback(lang, appt);
if (!apiKey) return { reply: fallback };
try {
const llm = new ChatGoogleGenerativeAI({ model: "gemini-1.5-flash", apiKey });
+ const apptClause = appt ? ` Their appointment is on ${appt}.` : "";
const response = await llm.invoke([
{
role: "system",
content:
- "You are a friendly dental office assistant. Write a short, warm SMS reply (1-2 sentences max) thanking a patient who just confirmed their appointment. Do not add any formatting or extra text.",
+ `You are a friendly dental office assistant. Write a short, warm SMS reply (1-2 sentences max) thanking the patient for confirming their appointment and reminding them of the date and time.${apptClause} You MUST reply in ${lang} regardless of the language the patient used. Do not add any formatting or extra text.`,
},
{ role: "user", content: `Patient replied: "${state.message}"` },
]);
@@ -51,7 +87,8 @@ async function thankYouNode(state: GraphStateType, config: any) {
async function rescheduleNode(state: GraphStateType, config: any) {
const apiKey: string | undefined = config?.configurable?.apiKey;
- const fallback = "We understand! Our assistant will contact you shortly to help reschedule.";
+ const lang = state.language || "English";
+ const fallback = RESCHEDULE_FALLBACKS[lang] ?? RESCHEDULE_FALLBACKS["English"]!;
if (!apiKey) return { reply: fallback };
@@ -61,7 +98,7 @@ async function rescheduleNode(state: GraphStateType, config: any) {
{
role: "system",
content:
- "You are a friendly dental office assistant. Write a short, empathetic SMS reply (1-2 sentences max) to a patient who can't make their appointment. Tell them an assistant will contact them soon to reschedule. Do not add any formatting or extra text.",
+ `You are a friendly dental office assistant. The patient cannot make their appointment. Write a short, empathetic SMS reply (1 sentence max) that says it is understandable and asks if they would like to reschedule. You MUST reply in ${lang} regardless of the language the patient used. Do not add any formatting or extra text.`,
},
{ role: "user", content: `Patient replied: "${state.message}"` },
]);
@@ -71,30 +108,34 @@ async function rescheduleNode(state: GraphStateType, config: any) {
}
}
+// ── Graph ─────────────────────────────────────────────────────────────────────
+
const graph = new StateGraph(GraphState)
- .addNode("classify", classifyNode)
- .addNode("thank_you", thankYouNode)
+ .addNode("classify", classifyNode)
+ .addNode("confirm", confirmNode)
.addNode("reschedule", rescheduleNode)
.addEdge(START, "classify")
.addConditionalEdges("classify", routeByIntent, {
- thank_you: "thank_you",
+ confirm: "confirm",
reschedule: "reschedule",
- [END]: END,
+ [END]: END,
})
- .addEdge("thank_you", END)
+ .addEdge("confirm", END)
.addEdge("reschedule", END)
.compile();
export async function runReminderGraph(
- patientMessage: string,
- apiKey: string
+ patientMessage: string,
+ apiKey: string,
+ language = "English",
+ appointmentDatetime = ""
): Promise<{ reply: string | null; intent: string | null }> {
const result = await graph.invoke(
- { message: patientMessage, intent: "", reply: "" },
+ { message: patientMessage, intent: "", reply: "", language, appointmentDatetime },
{ configurable: { apiKey } }
);
return {
- reply: result.reply || null,
+ reply: result.reply || null,
intent: result.intent || null,
};
}
diff --git a/apps/Backend/src/ai/reschedule-graph.ts b/apps/Backend/src/ai/reschedule-graph.ts
new file mode 100644
index 00000000..d43a1ef5
--- /dev/null
+++ b/apps/Backend/src/ai/reschedule-graph.ts
@@ -0,0 +1,470 @@
+import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
+import { prisma as db } from "@repo/db/client";
+import { storage } from "../storage";
+import {
+ type ConversationStage,
+ setPendingReschedule,
+ getPendingReschedule,
+ clearPendingReschedule,
+} from "./aiHandoffStore";
+
+// ── Date helpers ──────────────────────────────────────────────────────────────
+
+const MONTHS = [
+ "January","February","March","April","May","June",
+ "July","August","September","October","November","December",
+];
+const DAYS = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];
+
+function formattedDate(d: Date): string {
+ return `${DAYS[d.getDay()]}, ${MONTHS[d.getMonth()]} ${d.getDate()}`;
+}
+
+/** Get the day-of-week (0=Sun…6=Sat) of the patient's next scheduled appointment. */
+async function getAppointmentDow(patientId: number): Promise {
+ const today = new Date(); today.setHours(0, 0, 0, 0);
+ const appt = await db.appointment.findFirst({
+ where: { patientId, status: "scheduled", date: { gte: today } },
+ orderBy: { date: "asc" },
+ select: { date: true },
+ });
+ if (!appt) return -1;
+ return new Date(appt.date).getUTCDay();
+}
+
+function getTomorrow(): string {
+ const t = new Date();
+ t.setDate(t.getDate() + 1);
+ return formattedDate(t);
+}
+
+function getNextWeekDays(): { mon: string; tue: string; wed: string } {
+ const today = new Date();
+ const dow = today.getDay();
+ // Days until next Monday (always at least 1 day away, never 0)
+ const daysToMon = (8 - dow) % 7 || 7;
+ const mon = new Date(today); mon.setDate(today.getDate() + daysToMon);
+ const tue = new Date(mon); tue.setDate(mon.getDate() + 1);
+ const wed = new Date(mon); wed.setDate(mon.getDate() + 2);
+ return { mon: formattedDate(mon), tue: formattedDate(tue), wed: formattedDate(wed) };
+}
+
+// ── Date objects for rescheduling ─────────────────────────────────────────────
+
+function getTomorrowDate(): { date: Date; label: string } {
+ const d = new Date();
+ d.setDate(d.getDate() + 1);
+ d.setUTCHours(0, 0, 0, 0);
+ return { date: d, label: formattedDate(new Date(d.getTime() + d.getTimezoneOffset() * 60000)) };
+}
+
+function getNextWeekDateObjects(): { mon: { date: Date; label: string }; tue: { date: Date; label: string }; wed: { date: Date; label: string } } {
+ const today = new Date();
+ const dow = today.getDay();
+ const daysToMon = (8 - dow) % 7 || 7;
+
+ const mkDate = (offset: number) => {
+ const d = new Date(today);
+ d.setDate(today.getDate() + offset);
+ d.setUTCHours(0, 0, 0, 0);
+ const label = formattedDate(new Date(today.getFullYear(), today.getMonth(), today.getDate() + offset));
+ return { date: d, label };
+ };
+ return { mon: mkDate(daysToMon), tue: mkDate(daysToMon + 1), wed: mkDate(daysToMon + 2) };
+}
+
+// ── Time parsing ──────────────────────────────────────────────────────────────
+
+/** Parse patient's time preference into 24-h "HH:MM" string or null. */
+async function parseTime(message: string, apiKey: string): Promise {
+ const t = message.toLowerCase();
+
+ // Keyword shortcuts
+ if (/\bmorning\b|mañana|manhã|上午|صباح|maten/i.test(t)) return "09:00";
+ if (/\bafternoon\b|tarde|après-midi|下午|مساء|aprèmidi/i.test(t)) return "13:00";
+
+ // Numeric patterns: "10am", "10:30", "2pm", "14:00"
+ const ampm = t.match(/\b(\d{1,2})(?::(\d{2}))?\s*(am|pm)\b/);
+ const clock = t.match(/\b([01]?\d|2[0-3]):([0-5]\d)\b/);
+
+ if (ampm) {
+ let h = parseInt(ampm[1]!);
+ const m = ampm[2] ? parseInt(ampm[2]) : 0;
+ if (ampm[3] === "pm" && h < 12) h += 12;
+ if (ampm[3] === "am" && h === 12) h = 0;
+ return `${String(h).padStart(2, "0")}:${String(m).padStart(2, "0")}`;
+ }
+ if (clock) return clock[0]!;
+
+ // LLM fallback
+ try {
+ const llm = new ChatGoogleGenerativeAI({ model: "gemini-1.5-flash", apiKey });
+ const res = await llm.invoke([
+ { role: "system", content: 'Extract the time from the message. Return ONLY a 24-hour time in "HH:MM" format (e.g., "10:00", "14:30"). If no time is mentioned, return "null".' },
+ { role: "user", content: message },
+ ]);
+ const raw = String(res.content).trim();
+ if (/^([01]?\d|2[0-3]):[0-5]\d$/.test(raw)) return raw;
+ } catch { /* fall through */ }
+
+ return null;
+}
+
+// ── Appointment update ────────────────────────────────────────────────────────
+
+async function moveAppointment(
+ patientId: number,
+ newDate: Date,
+ newStartTime: string, // "HH:MM"
+): Promise {
+ const today = new Date(); today.setHours(0, 0, 0, 0);
+ const appt = await db.appointment.findFirst({
+ where: { patientId, status: "scheduled", date: { gte: today } },
+ orderBy: { date: "asc" },
+ });
+ if (!appt) return "no_appointment";
+
+ // Preserve original duration
+ const [sh, sm] = appt.startTime.split(":").map(Number);
+ const [eh, em] = appt.endTime.split(":").map(Number);
+ const durationMin = (eh! * 60 + em!) - (sh! * 60 + sm!);
+ const [nh, nm] = newStartTime.split(":").map(Number);
+ const endTotalMin = nh! * 60 + nm! + durationMin;
+ const newEndTime = `${String(Math.floor(endTotalMin / 60)).padStart(2, "0")}:${String(endTotalMin % 60).padStart(2, "0")}`;
+
+ await storage.updateAppointment(appt.id, {
+ date: newDate,
+ startTime: newStartTime,
+ endTime: newEndTime,
+ status: "scheduled",
+ } as any);
+
+ return "ok";
+}
+
+// ── Intent classifiers ────────────────────────────────────────────────────────
+
+function yes(t: string) {
+ return /\b(yes|yeah|yep|sure|ok|okay|please|absolutely|definitely|sí|si|sim|好的|نعم|wi|oke)\b/i.test(t);
+}
+function no(t: string) {
+ return /\b(no|nope|not|don't|won't|can't|لا|pa ka|não)\b/i.test(t);
+}
+function wantsAsap(t: string) {
+ return /\b(asap|soon|soonest|next day|tomorrow|quick|fastest|earliest|lo antes|mañana|amanhã|明天|明日|غدًا|demen)\b/i.test(t);
+}
+function wantsNextWeek(t: string) {
+ return /\b(next week|semana|prochain|prochaine|下周|下週|الأسبوع القادم|semèn pwochèn)\b/i.test(t);
+}
+function prefersMonday(t: string) { return /monday|lunes|segunda|周一|月曜|الاثنين|lendi/i.test(t); }
+function prefersTuesday(t: string) { return /tuesday|martes|terça|周二|火曜|الثلاثاء|madi/i.test(t); }
+function prefersWednesday(t: string) { return /wednesday|miércoles|quarta|周三|水曜|الأربعاء|mèkredi/i.test(t); }
+
+// ── LLM helper ────────────────────────────────────────────────────────────────
+
+async function llmReply(system: string, user: string, fallback: string, apiKey: string): Promise {
+ try {
+ const llm = new ChatGoogleGenerativeAI({ model: "gemini-1.5-flash", apiKey });
+ const res = await llm.invoke([
+ { role: "system", content: system },
+ { role: "user", content: user },
+ ]);
+ return String(res.content).trim() || fallback;
+ } catch {
+ return fallback;
+ }
+}
+
+// ── Transfer fallback ─────────────────────────────────────────────────────────
+
+const TRANSFER: Record = {
+ English: "Our office staff will contact you shortly to help with rescheduling.",
+ Spanish: "El personal de nuestra oficina le contactará pronto para ayudarle a reprogramar.",
+ Portuguese: "Nossa equipe entrará em contato em breve para ajudá-lo a reagendar.",
+ Mandarin: "我们的工作人员将很快与您联系以帮助重新安排预约。",
+ Cantonese: "我們的工作人員將很快聯絡您以協助重新安排預約。",
+ Arabic: "سيتصل بك موظفو مكتبنا قريباً لمساعدتك في إعادة الجدولة.",
+ "Haitian Creole": "Anplwaye biwo nou yo pral kontakte ou byento pou ede ou repwograme.",
+};
+
+// ── Main step function ────────────────────────────────────────────────────────
+
+export async function runRescheduleStep(
+ message: string,
+ stage: ConversationStage,
+ language: string,
+ patientId: number,
+ apiKey: string,
+ userId: number = 0,
+): Promise<{ reply: string; nextStage: ConversationStage }> {
+
+ const lang = language || "English";
+ const t = message.toLowerCase();
+ const tx = TRANSFER[lang] ?? TRANSFER["English"]!;
+
+ // ── asked_reschedule_confirm: patient answered "Would you like to reschedule?" ──
+ if (stage === "asked_reschedule_confirm") {
+ if (no(t)) {
+ const fallbacks: Record = {
+ English: "No problem! Feel free to reach out whenever you're ready. Have a great day!",
+ Spanish: "¡Sin problema! No dude en contactarnos cuando esté listo. ¡Que tenga un buen día!",
+ Portuguese: "Sem problema! Entre em contato quando estiver pronto. Tenha um ótimo dia!",
+ Mandarin: "没关系!随时联系我们。祝您有美好的一天!",
+ Cantonese: "沒問題!隨時聯繫我們。祝您有美好的一天!",
+ Arabic: "لا بأس! لا تتردد في التواصل معنا متى كنت مستعداً. أتمنى لك يوماً رائعاً!",
+ "Haitian Creole": "Pa gen pwoblèm! Kontakte nou nenpòt ki lè ou prèt. Pase yon bèl jounen!",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. The patient does not want to reschedule. Write a warm, brief closing message in ${lang}. 1 sentence, no formatting.`,
+ `Patient said: "${message}"`, fallback, apiKey
+ );
+ return { reply, nextStage: "done" };
+ }
+
+ if (yes(t)) {
+ // Check if original appointment was Mon–Thu (days 1–4)
+ const dow = await getAppointmentDow(patientId);
+ const isMonToThu = dow >= 1 && dow <= 4;
+
+ if (isMonToThu) {
+ // Offer ASAP or next week
+ const fallbacks: Record = {
+ English: "Would you like to reschedule as soon as possible, or would you prefer next week?",
+ Spanish: "¿Le gustaría reprogramar lo antes posible, o prefiere la semana que viene?",
+ Portuguese: "Gostaria de reagendar o mais rápido possível, ou prefere a semana que vem?",
+ Mandarin: "您想尽快重新安排预约,还是下周更方便?",
+ Cantonese: "您想盡快重新安排預約,還是下週更方便?",
+ Arabic: "هل تفضل إعادة الجدولة في أقرب وقت ممكن، أم تفضل الأسبوع القادم؟",
+ "Haitian Creole": "Èske ou ta renmen repwograme pi vit posib, oswa ou prefere semèn pwochèn?",
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. The patient wants to reschedule. Their original appointment was on a weekday. Ask in ${lang} whether they prefer to reschedule as soon as possible or next week. 1 sentence, no formatting.`,
+ `Patient said: "${message}"`, fallback, apiKey
+ );
+ return { reply, nextStage: "asked_reschedule_preference" };
+ } else {
+ // Original appointment was Fri/Sat/Sun — go straight to next week
+ const { mon, tue, wed } = getNextWeekDays();
+ const fallbacks: Record = {
+ English: `I can schedule you for next week. Would ${mon}, ${tue}, or ${wed} work for you?`,
+ Spanish: `Puedo programarle para la semana que viene. ¿Le vendría bien el ${mon}, ${tue} o el ${wed}?`,
+ Portuguese: `Posso agendá-lo para a semana que vem. ${mon}, ${tue} ou ${wed} seria bom para você?`,
+ Mandarin: `我可以安排您在下周预约。${mon}、${tue} 或 ${wed} 方便吗?`,
+ Cantonese: `我可以安排您在下週預約。${mon}、${tue} 或 ${wed} 方便嗎?`,
+ Arabic: `يمكنني جدولتك للأسبوع القادم. هل ${mon} أو ${tue} أو ${wed} مناسب لك؟`,
+ "Haitian Creole": `Mwen ka pwograme ou pou semèn pwochèn. ${mon}, ${tue}, oswa ${wed} ka travay pou ou?`,
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. Offer the patient next week's Monday (${mon}), Tuesday (${tue}), or Wednesday (${wed}) in ${lang}. 1-2 sentences, no formatting.`,
+ `Patient wants to reschedule.`, fallback, apiKey
+ );
+ return { reply, nextStage: "asked_reschedule_next_week" };
+ }
+ }
+
+ return { reply: tx, nextStage: "done" };
+ }
+
+ // ── asked_reschedule_preference: patient chose ASAP or next week ──────────
+ if (stage === "asked_reschedule_preference") {
+ if (wantsAsap(t) || yes(t)) {
+ const tomorrow = getTomorrow();
+ const fallbacks: Record = {
+ English: `Can you come in tomorrow, ${tomorrow}?`,
+ Spanish: `¿Podría venir mañana, ${tomorrow}?`,
+ Portuguese: `Você pode vir amanhã, ${tomorrow}?`,
+ Mandarin: `您明天(${tomorrow})能来吗?`,
+ Cantonese: `您明天(${tomorrow})能來嗎?`,
+ Arabic: `هل يمكنك الحضور غداً، ${tomorrow}؟`,
+ "Haitian Creole": `Èske ou ka vini demen, ${tomorrow}?`,
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. Ask the patient in ${lang} if they can come in tomorrow, ${tomorrow}. 1 sentence, no formatting.`,
+ `Patient wants to reschedule ASAP.`, fallback, apiKey
+ );
+ return { reply, nextStage: "asked_reschedule_asap" };
+ }
+
+ if (wantsNextWeek(t)) {
+ const { mon, tue, wed } = getNextWeekDays();
+ const fallbacks: Record = {
+ English: `I can schedule you for next week. Would ${mon}, ${tue}, or ${wed} work for you?`,
+ Spanish: `Puedo programarle para la semana que viene. ¿Le vendría bien el ${mon}, ${tue} o el ${wed}?`,
+ Portuguese: `Posso agendá-lo para a semana que vem. ${mon}, ${tue} ou ${wed} seria bom para você?`,
+ Mandarin: `我可以安排您在下周预约。${mon}、${tue} 或 ${wed} 方便吗?`,
+ Cantonese: `我可以安排您在下週預約。${mon}、${tue} 或 ${wed} 方便嗎?`,
+ Arabic: `يمكنني جدولتك للأسبوع القادم. هل ${mon} أو ${tue} أو ${wed} مناسب لك؟`,
+ "Haitian Creole": `Mwen ka pwograme ou pou semèn pwochèn. ${mon}, ${tue}, oswa ${wed} ka travay pou ou?`,
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. Offer next week's Monday (${mon}), Tuesday (${tue}), or Wednesday (${wed}) in ${lang}. 1-2 sentences, no formatting.`,
+ `Patient prefers next week.`, fallback, apiKey
+ );
+ return { reply, nextStage: "asked_reschedule_next_week" };
+ }
+
+ return { reply: tx, nextStage: "done" };
+ }
+
+ // ── asked_reschedule_asap: patient answered "Can you come tomorrow?" ───────
+ if (stage === "asked_reschedule_asap") {
+ if (yes(t)) {
+ const { date, label } = getTomorrowDate();
+ setPendingReschedule(userId, patientId, { newDate: date, dayLabel: label });
+
+ const fallbacks: Record = {
+ English: `${label} it is! Would you prefer morning (9am–12pm) or afternoon (1pm–5pm)?`,
+ Spanish: `¡${label} perfecto! ¿Prefiere la mañana (9am–12pm) o la tarde (1pm–5pm)?`,
+ Portuguese: `${label} ótimo! Você prefere manhã (9h–12h) ou tarde (13h–17h)?`,
+ Mandarin: `${label},太好了!您想预约上午(9点–12点)还是下午(1点–5点)?`,
+ Cantonese: `${label},太好了!您想預約上午(9點–12點)還是下午(1點–5點)?`,
+ Arabic: `${label} ممتاز! هل تفضل الصباح (9ص–12م) أم بعد الظهر (1م–5م)؟`,
+ "Haitian Creole": `${label} pafè! Èske ou prefere maten (9am–12pm) oswa apremidi (1pm–5pm)?`,
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. The patient confirmed ${label}. Ask in ${lang} whether they prefer morning (9am-12pm) or afternoon (1pm-5pm). 1 sentence, no formatting.`,
+ `Patient confirmed tomorrow.`, fallback, apiKey
+ );
+ return { reply, nextStage: "asked_reschedule_time" };
+ }
+
+ if (no(t)) {
+ // Can't make tomorrow — offer next week instead
+ const { mon, tue, wed } = getNextWeekDays();
+ const fallbacks: Record = {
+ English: `No problem! What about next week? Would ${mon}, ${tue}, or ${wed} work for you?`,
+ Spanish: `¡Sin problema! ¿Qué le parece la semana que viene? ¿Le vendría bien el ${mon}, ${tue} o el ${wed}?`,
+ Portuguese: `Sem problema! E na semana que vem? ${mon}, ${tue} ou ${wed} seria bom?`,
+ Mandarin: `没关系!下周怎么样?${mon}、${tue} 或 ${wed} 方便吗?`,
+ Cantonese: `沒問題!下週怎麼樣?${mon}、${tue} 或 ${wed} 方便嗎?`,
+ Arabic: `لا بأس! ماذا عن الأسبوع القادم؟ هل ${mon} أو ${tue} أو ${wed} يناسبك؟`,
+ "Haitian Creole": `Pa gen pwoblèm! Ki sa ki dire semèn pwochèn? ${mon}, ${tue}, oswa ${wed} ka travay?`,
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. The patient cannot come tomorrow. Offer next week: ${mon}, ${tue}, or ${wed} in ${lang}. 1-2 sentences, no formatting.`,
+ `Patient can't come tomorrow.`, fallback, apiKey
+ );
+ return { reply, nextStage: "asked_reschedule_next_week" };
+ }
+
+ return { reply: tx, nextStage: "done" };
+ }
+
+ // ── asked_reschedule_next_week: patient choosing Mon/Tue/Wed ─────────────
+ if (stage === "asked_reschedule_next_week") {
+ const nwd = getNextWeekDateObjects();
+ let chosen: { date: Date; label: string } | null = null;
+ if (prefersMonday(t)) chosen = nwd.mon;
+ if (prefersTuesday(t)) chosen = nwd.tue;
+ if (prefersWednesday(t)) chosen = nwd.wed;
+
+ if (chosen) {
+ setPendingReschedule(userId, patientId, { newDate: chosen.date, dayLabel: chosen.label });
+
+ const day = chosen.label;
+ const fallbacks: Record = {
+ English: `${day} works! Would you prefer morning (9am–12pm) or afternoon (1pm–5pm)?`,
+ Spanish: `¡${day} perfecto! ¿Prefiere la mañana (9am–12pm) o la tarde (1pm–5pm)?`,
+ Portuguese: `${day} ótimo! Você prefere manhã (9h–12h) ou tarde (13h–17h)?`,
+ Mandarin: `${day},好的!您想预约上午(9点–12点)还是下午(1点–5点)?`,
+ Cantonese: `${day},好的!您想預約上午(9點–12點)還是下午(1點–5點)?`,
+ Arabic: `${day} رائع! هل تفضل الصباح (9ص–12م) أم بعد الظهر (1م–5م)؟`,
+ "Haitian Creole": `${day} pafè! Èske ou prefere maten (9am–12pm) oswa apremidi (1pm–5pm)?`,
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. The patient chose ${day}. Ask in ${lang} whether they prefer morning (9am-12pm) or afternoon (1pm-5pm). 1 sentence, no formatting.`,
+ `Patient chose ${day}.`, fallback, apiKey
+ );
+ return { reply, nextStage: "asked_reschedule_time" };
+ }
+
+ // Day not clearly detected — ask again with the specific options
+ const fallbacks: Record = {
+ English: `Which day works best — ${mon}, ${tue}, or ${wed}?`,
+ Spanish: `¿Qué día le viene mejor — el ${mon}, ${tue} o el ${wed}?`,
+ Portuguese: `Qual dia é melhor — ${mon}, ${tue} ou ${wed}?`,
+ Mandarin: `哪天最方便——${mon}、${tue} 还是 ${wed}?`,
+ Cantonese: `哪天最方便——${mon}、${tue} 還是 ${wed}?`,
+ Arabic: `أي يوم هو الأفضل لك — ${mon} أو ${tue} أو ${wed}؟`,
+ "Haitian Creole": `Ki jou ki pi bon — ${mon}, ${tue}, oswa ${wed}?`,
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ return { reply: fallback, nextStage: "asked_reschedule_next_week" };
+ }
+
+ // ── asked_reschedule_time: patient picked morning / afternoon / specific time ──
+ if (stage === "asked_reschedule_time") {
+ const pending = getPendingReschedule(userId, patientId);
+
+ if (!pending) {
+ // Edge case: lost state — fall back gracefully
+ return { reply: tx, nextStage: "done" };
+ }
+
+ const startTime = await parseTime(message, apiKey);
+
+ if (!startTime) {
+ // Couldn't parse time — ask again
+ const fallbacks: Record = {
+ English: "I didn't catch the time. Would you prefer morning (9am–12pm) or afternoon (1pm–5pm)?",
+ Spanish: "No entendí la hora. ¿Prefiere la mañana (9am–12pm) o la tarde (1pm–5pm)?",
+ Portuguese: "Não entendi o horário. Você prefere manhã (9h–12h) ou tarde (13h–17h)?",
+ Mandarin: "我没听清时间。您想预约上午(9点–12点)还是下午(1点–5点)?",
+ Cantonese: "我沒聽清時間。您想預約上午(9點–12點)還是下午(1點–5點)?",
+ Arabic: "لم أفهم الوقت. هل تفضل الصباح (9ص–12م) أم بعد الظهر (1م–5م)؟",
+ "Haitian Creole": "Mwen pa konprann lè a. Èske ou prefere maten (9am–12pm) oswa apremidi (1pm–5pm)?",
+ };
+ return { reply: fallbacks[lang] ?? fallbacks["English"]!, nextStage: "asked_reschedule_time" };
+ }
+
+ // Update the appointment in the database
+ const updateResult = await moveAppointment(patientId, pending.newDate, startTime);
+ clearPendingReschedule(userId, patientId);
+
+ const [h, m] = startTime.split(":").map(Number);
+ const h12 = h! % 12 || 12;
+ const ampm = h! >= 12 ? "pm" : "am";
+ const timeLabel = `${h12}:${String(m!).padStart(2, "0")} ${ampm}`;
+ const apptLabel = `${pending.dayLabel} at ${timeLabel}`;
+
+ if (updateResult === "no_appointment") {
+ const fallbacks: Record = {
+ English: `I couldn't find your appointment to update. Our staff will contact you to confirm ${apptLabel}.`,
+ Spanish: `No encontré su cita para actualizar. El personal le contactará para confirmar el ${apptLabel}.`,
+ Portuguese: `Não encontrei sua consulta para atualizar. Nossa equipe entrará em contato para confirmar ${apptLabel}.`,
+ Mandarin: `我找不到您的预约进行更新。我们的工作人员将联系您确认${apptLabel}。`,
+ Cantonese: `我找不到您的預約進行更新。我們的工作人員將聯絡您確認${apptLabel}。`,
+ Arabic: `لم أجد موعدك لتحديثه. سيتصل بك موظفونا لتأكيد ${apptLabel}.`,
+ "Haitian Creole": `Mwen pa jwenn randevou ou pou mete ajou. Anplwaye nou yo pral kontakte ou pou konfime ${apptLabel}.`,
+ };
+ return { reply: fallbacks[lang] ?? fallbacks["English"]!, nextStage: "done" };
+ }
+
+ // Success
+ const fallbacks: Record = {
+ English: `Your appointment has been moved to ${apptLabel}. See you then!`,
+ Spanish: `Su cita ha sido cambiada al ${apptLabel}. ¡Hasta entonces!`,
+ Portuguese: `Sua consulta foi remarcada para ${apptLabel}. Até lá!`,
+ Mandarin: `您的预约已更改为${apptLabel}。到时见!`,
+ Cantonese: `您的預約已更改為${apptLabel}。到時見!`,
+ Arabic: `تم تغيير موعدك إلى ${apptLabel}. نراك قريباً!`,
+ "Haitian Creole": `Randevou ou a deplase ale nan ${apptLabel}. N'ap wè ou lè sa a!`,
+ };
+ const fallback = fallbacks[lang] ?? fallbacks["English"]!;
+ const reply = await llmReply(
+ `You are a friendly dental office assistant. The patient's appointment has been successfully rescheduled to ${apptLabel}. Confirm in ${lang} with enthusiasm. 1 sentence, no formatting.`,
+ `Appointment moved to ${apptLabel}.`, fallback, apiKey
+ );
+ return { reply, nextStage: "done" };
+ }
+
+ return { reply: tx, nextStage: "done" };
+}
diff --git a/apps/Backend/src/routes/ai-settings.ts b/apps/Backend/src/routes/ai-settings.ts
index 9e1a4c2b..0792109d 100644
--- a/apps/Backend/src/routes/ai-settings.ts
+++ b/apps/Backend/src/routes/ai-settings.ts
@@ -36,4 +36,30 @@ router.put("/settings", async (req: Request, res: Response): Promise => {
}
});
+// GET /api/ai/chat-templates
+router.get("/chat-templates", async (req: Request, res: Response): Promise => {
+ try {
+ const userId = req.user?.id;
+ if (!userId) return res.status(401).json({ message: "Unauthorized" });
+ const templates = await storage.getAiChatTemplates(userId);
+ return res.status(200).json(templates);
+ } catch (err) {
+ return res.status(500).json({ error: "Failed to fetch AI chat templates", details: String(err) });
+ }
+});
+
+// PUT /api/ai/chat-templates
+router.put("/chat-templates", async (req: Request, res: Response): Promise => {
+ try {
+ const userId = req.user?.id;
+ if (!userId) return res.status(401).json({ message: "Unauthorized" });
+ const { reminderGreeting, newPatientGreeting, generalFallback } = req.body;
+ await storage.saveAiChatTemplates(userId, { reminderGreeting, newPatientGreeting, generalFallback });
+ const updated = await storage.getAiChatTemplates(userId);
+ return res.status(200).json(updated);
+ } catch (err) {
+ return res.status(500).json({ error: "Failed to save AI chat templates", details: String(err) });
+ }
+});
+
export default router;
diff --git a/apps/Backend/src/routes/twilio-webhooks.ts b/apps/Backend/src/routes/twilio-webhooks.ts
index 4ea87c0f..26b78dc0 100644
--- a/apps/Backend/src/routes/twilio-webhooks.ts
+++ b/apps/Backend/src/routes/twilio-webhooks.ts
@@ -1,64 +1,442 @@
import express, { Request, Response } from "express";
+import twilio from "twilio";
import { storage } from "../storage";
import { prisma as db } from "@repo/db/client";
import { runReminderGraph } from "../ai/reminder-graph";
+import { runNewPatientStep } from "../ai/new-patient-graph";
+import { runRescheduleStep } from "../ai/reschedule-graph";
+import { ChatGoogleGenerativeAI } from "@langchain/google-genai";
+import { runEligibilityProcessor } from "../queue/processors/eligibilityProcessor";
+import {
+ getHandoff, getAfterHoursHandoff,
+ getStage, setStage,
+ type ConversationStage,
+} from "../ai/aiHandoffStore";
const router = express.Router();
-// POST /api/twilio/webhook/sms (Twilio posts inbound SMS here — no auth)
+// ── Helpers ───────────────────────────────────────────────────────────────────
+
+function escapeXml(text: string): string {
+ return text
+ .replace(/&/g, "&").replace(//g, ">")
+ .replace(/"/g, """).replace(/'/g, "'");
+}
+
+function twimlReply(text: string): string {
+ return `${escapeXml(text)} `;
+}
+
+function empty(): string {
+ return " ";
+}
+
+/** Get the patient's next scheduled appointment as a human-readable string. */
+async function getAppointmentDatetime(patientId: number): Promise {
+ const today = new Date();
+ today.setHours(0, 0, 0, 0);
+ const appt = await db.appointment.findFirst({
+ where: { patientId, status: "scheduled", date: { gte: today } },
+ orderBy: { date: "asc" },
+ });
+ if (!appt) return "";
+ const months = ["January","February","March","April","May","June",
+ "July","August","September","October","November","December"];
+ const d = new Date(appt.date);
+ return `${months[d.getUTCMonth()]} ${d.getUTCDate()}, ${d.getUTCFullYear()} at ${appt.startTime}`;
+}
+
+/** Check if right now is outside office hours for the given user. */
+async function isAfterHours(userId: number): Promise {
+ const record = await storage.getOfficeHours(userId);
+ if (!record?.data) return false; // no hours configured → treat as in-hours
+
+ const data = record.data as any;
+ const now = new Date();
+ const days = ["sunday","monday","tuesday","wednesday","thursday","friday","saturday"];
+ const day = days[now.getDay()];
+
+ const slot = data.doctors?.[day];
+ if (!slot?.enabled) return true; // office closed today
+
+ const hhmm = `${String(now.getHours()).padStart(2,"0")}:${String(now.getMinutes()).padStart(2,"0")}`;
+ if (hhmm >= slot.amStart && hhmm <= slot.amEnd) return false;
+ if (hhmm >= slot.pmStart && hhmm <= slot.pmEnd) return false;
+ return true;
+}
+
+/** Substitute {officeName} in a template string. */
+function applyOfficeName(template: string, name: string): string {
+ return template.replace(/\{officeName\}/g, name || "our dental office");
+}
+
+/** Save an outbound message and return the text. */
+async function saveOutbound(patientId: number, body: string): Promise {
+ await storage.createCommunication({
+ patientId, channel: "sms", direction: "outbound", status: "sent", body,
+ });
+}
+
+/**
+ * Extract MassHealth Member ID and date of birth from a free-text SMS.
+ * Tries regex first, falls back to LLM extraction.
+ */
+async function parseMassHealthInfo(
+ message: string,
+ apiKey: string
+): Promise<{ memberId: string | null; dob: string | null }> {
+ // Regex: member IDs are typically 8-12 digits; DOB as MM/DD/YYYY or similar
+ const idMatch = message.match(/\b(\d{8,12})\b/);
+ const dobMatch = message.match(/\b(\d{1,2})[\/\-\.](\d{1,2})[\/\-\.](\d{2,4})\b/);
+
+ if (idMatch && dobMatch) {
+ const [, m, d, y] = dobMatch;
+ const year = y!.length === 2 ? `20${y}` : y;
+ return { memberId: idMatch[1]!, dob: `${m}/${d}/${year}` };
+ }
+
+ // Fall back to LLM structured extraction
+ try {
+ const llm = new ChatGoogleGenerativeAI({ model: "gemini-1.5-flash", apiKey });
+ const res = await llm.invoke([
+ {
+ role: "system",
+ content:
+ 'Extract the insurance member ID and date of birth from the patient message. ' +
+ 'Return ONLY valid JSON: {"memberId":"...","dob":"MM/DD/YYYY"}. Use null for missing fields.',
+ },
+ { role: "user", content: message },
+ ]);
+ const raw = String(res.content).replace(/```json|```/g, "").trim();
+ const json = JSON.parse(raw);
+ return { memberId: json.memberId ?? null, dob: json.dob ?? null };
+ } catch {
+ return { memberId: null, dob: null };
+ }
+}
+
+/**
+ * Run MassHealth eligibility check in the background (after replying to patient)
+ * and send the result as a follow-up SMS.
+ */
+async function runMassHealthCheckAndNotify(
+ patient: { id: number; userId: number; phone: string | null; preferredLanguage: string | null },
+ memberId: string,
+ dob: string,
+ apiKey: string,
+ isExistingPatient = false
+): Promise {
+ try {
+ const credentials = await storage.getInsuranceCredentialByUserAndSiteKey(patient.userId, "MH");
+ if (!credentials) return;
+
+ const twilioSettings = await storage.getTwilioSettings(patient.userId);
+ if (!twilioSettings || !patient.phone) return;
+
+ // Run Selenium eligibility check directly via the processor
+ await runEligibilityProcessor({
+ userId: patient.userId,
+ insuranceId: memberId,
+ formDob: dob,
+ enrichedPayload: {
+ memberId,
+ dateOfBirth: dob,
+ insuranceSiteKey: "MH",
+ massdhpUsername: credentials.username,
+ massdhpPassword: credentials.password,
+ },
+ });
+
+ // Re-fetch updated patient status
+ const updated = await db.patient.findUnique({
+ where: { id: patient.id },
+ select: { status: true, firstName: true },
+ });
+
+ const lang = patient.preferredLanguage || "English";
+ const active = updated?.status === "ACTIVE";
+
+ // ── ACTIVE: existing patient → simple scheduling; new patient → preference ─
+ const activeMessagesExisting: Record = {
+ English: "Great news! Your MassHealth coverage is active. When would you like to come in for your appointment?",
+ Spanish: "¡Buenas noticias! Su cobertura de MassHealth está activa. ¿Cuándo le gustaría venir para su cita?",
+ Portuguese: "Ótimas notícias! Sua cobertura MassHealth está ativa. Quando gostaria de vir para sua consulta?",
+ Mandarin: "好消息!您的MassHealth保险有效。您想什么时候来预约?",
+ Cantonese: "好消息!您的MassHealth保險有效。您想幾時來預約?",
+ Arabic: "أخبار رائعة! تغطيتك من MassHealth نشطة. متى تودّ الحضور لموعدك؟",
+ "Haitian Creole": "Bon nouvèl! Asirans MassHealth ou aktif. Ki lè ou ta renmen vini pou randevou ou?",
+ };
+
+ const activeMessagesNew: Record = {
+ English: "Great news! Your MassHealth coverage is active. When would you like to come in? Are you looking for a routine check-up and teeth cleaning, or do you have a tooth problem or pain?",
+ Spanish: "¡Buenas noticias! Su cobertura de MassHealth está activa. ¿Cuándo le gustaría venir? ¿Busca una revisión rutinaria y limpieza dental, o tiene algún problema dental o dolor?",
+ Portuguese: "Ótimas notícias! Sua cobertura MassHealth está ativa. Quando gostaria de vir? Você busca uma consulta de rotina e limpeza, ou tem algum problema dentário ou dor?",
+ Mandarin: "好消息!您的MassHealth保险有效。您想什么时候来?您是想做常规检查和洗牙,还是您有牙齿问题或疼痛?",
+ Cantonese: "好消息!您的MassHealth保險有效。您想幾時來?您是想做例行檢查和洗牙,還是您有牙齒問題或疼痛?",
+ Arabic: "أخبار رائعة! تغطيتك من MassHealth نشطة. متى تودّ الحضور؟ هل تبحث عن فحص روتيني وتنظيف أسنان، أم أن لديك مشكلة في الأسنان أو ألماً؟",
+ "Haitian Creole": "Bon nouvèl! Asirans MassHealth ou aktif. Ki lè ou ta renmen vini? Èske ou ap chèche yon egzamen woutin ak netwayaj dan, oswa ou gen pwoblèm dan oswa doulè?",
+ };
+
+ const activeMessages = isExistingPatient ? activeMessagesExisting : activeMessagesNew;
+
+ // ── INACTIVE: offer self-pay examination ────────────────────────────
+ const inactiveMessages: Record = {
+ English: "We checked your MassHealth coverage. Unfortunately the plan appears inactive or could not be verified. Would you still like to schedule an examination appointment as a self-pay patient?",
+ Spanish: "Verificamos su cobertura de MassHealth. Lamentablemente el plan aparece inactivo o no pudo ser verificado. ¿Le gustaría programar una cita de examen como paciente de pago particular?",
+ Portuguese: "Verificamos sua cobertura MassHealth. Infelizmente o plano parece inativo ou não pôde ser verificado. Gostaria de agendar uma consulta de exame como paciente particular?",
+ Mandarin: "我们查看了您的MassHealth保险。遗憾的是,保险似乎无效或无法验证。您仍然希望以自费方式预约检查吗?",
+ Cantonese: "我們查看了您的MassHealth保險。遺憾地,保險似乎無效或無法核實。您仍然希望以自費方式預約檢查嗎?",
+ Arabic: "تحققنا من تغطيتك من MassHealth. للأسف يبدو أن الخطة غير نشطة أو لا يمكن التحقق منها. هل تودّ تحديد موعد فحص كمريض يدفع من حسابه الخاص؟",
+ "Haitian Creole": "Nou te verifye kouvèti MassHealth ou. Malerezman plan an sanble inaktif oswa pa ka verifye. Èske ou ta renmen pran yon randevou egzamen kòm pasyan ki peye poukont li?",
+ };
+
+ const resultText = active
+ ? (activeMessages[lang] ?? activeMessages["English"]!)
+ : (inactiveMessages[lang] ?? inactiveMessages["English"]!);
+
+ const nextStage: ConversationStage = active
+ ? (isExistingPatient ? "asked_appointment_time" : "asked_appointment_preference")
+ : "asked_self_pay";
+
+ // Send follow-up question via Twilio
+ const client = twilio(twilioSettings.accountSid, twilioSettings.authToken);
+ await client.messages.create({
+ body: resultText,
+ from: twilioSettings.phoneNumber,
+ to: patient.phone,
+ });
+
+ // Persist and advance stage
+ await saveOutbound(patient.id, resultText);
+ setStage(patient.userId, patient.id, nextStage);
+
+ } catch {
+ // Silent — don't crash the main request
+ }
+}
+
+// ── POST /api/twilio/webhook/sms ──────────────────────────────────────────────
+
router.post("/webhook/sms", async (req: Request, res: Response): Promise => {
try {
const { From, Body, MessageSid } = req.body;
const normalizedFrom = (From || "").replace(/\D/g, "");
- const allPatients = await db.patient.findMany({ select: { id: true, phone: true, userId: true } });
+ const allPatients = await db.patient.findMany({
+ select: { id: true, phone: true, userId: true, preferredLanguage: true },
+ });
const patient = allPatients.find(
- (p: { id: number; phone: string | null; userId: number }) => p.phone && p.phone.replace(/\D/g, "") === normalizedFrom
+ (p) => p.phone && p.phone.replace(/\D/g, "") === normalizedFrom
);
- if (patient) {
- // Save the inbound message
- await storage.createCommunication({
- patientId: patient.id,
- channel: "sms",
- direction: "inbound",
- status: "delivered",
- body: Body,
- twilioSid: MessageSid,
- });
+ if (!patient) {
+ res.set("Content-Type", "text/xml");
+ return res.send(empty());
+ }
- // Run AI graph if API key is configured
- const aiSettings = await storage.getAiSettings(patient.userId);
- if (aiSettings?.apiKey) {
- const { reply, intent } = await runReminderGraph(Body, aiSettings.apiKey);
+ // Save inbound message
+ await storage.createCommunication({
+ patientId: patient.id, channel: "sms", direction: "inbound",
+ status: "delivered", body: Body, twilioSid: MessageSid,
+ });
- if (reply) {
- // Save the AI outbound reply
- await storage.createCommunication({
- patientId: patient.id,
- channel: "sms",
- direction: "outbound",
- status: "sent",
- body: reply,
- });
+ // Per-patient handoff toggle must be ON
+ if (!getHandoff(patient.userId, patient.id)) {
+ res.set("Content-Type", "text/xml");
+ return res.send(empty());
+ }
+ const aiSettings = await storage.getAiSettings(patient.userId);
+ if (!aiSettings?.apiKey) {
+ res.set("Content-Type", "text/xml");
+ return res.send(empty());
+ }
+
+ const language = patient.preferredLanguage || "English";
+ const stage = getStage(patient.userId, patient.id);
+
+ // ── Helper: send reply + set stage ─────────────────────────────────────
+ const reply = async (text: string, nextStage: ConversationStage) => {
+ await saveOutbound(patient.id, text);
+ setStage(patient.userId, patient.id, nextStage);
+ res.set("Content-Type", "text/xml");
+ return res.send(twimlReply(text));
+ };
+
+ // ── Stage: reminder_initial → send reminder greeting ─────────────────
+ if (stage === "reminder_initial") {
+ const chatTemplates = await storage.getAiChatTemplates(patient.userId);
+ const officeContact = await storage.getOfficeContact(patient.userId);
+ const officeName = (officeContact as any)?.officeName?.trim() || "";
+
+ const rawGreeting = chatTemplates.reminderGreeting ||
+ `Hi! My name is Lisa, the dedicated AI assistant at {officeName}. I can confirm or reschedule your appointment and answer general questions 24/7. I will reply your message at any time you need.`;
+
+ return reply(applyOfficeName(rawGreeting, officeName), "greeted");
+ }
+
+ // ── Stage: greeted → classify yes/no for appointment reminder ────────
+ if (stage === "greeted") {
+ const apptDatetime = await getAppointmentDatetime(patient.id);
+ const { reply: aiReply, intent } = await runReminderGraph(Body, aiSettings.apiKey, language, apptDatetime);
+ if (aiReply) {
+ // YES → done; NO → start rescheduling flow
+ const nextStage: ConversationStage = intent === "no" ? "asked_reschedule_confirm" : "done";
+ return reply(aiReply, nextStage);
+ }
+ }
+
+ // ── Rescheduling flow stages ───────────────────────────────────────────
+ const rescheduleStages: ConversationStage[] = [
+ "asked_reschedule_confirm", "asked_reschedule_preference",
+ "asked_reschedule_asap", "asked_reschedule_next_week",
+ "asked_reschedule_time",
+ ];
+ if (rescheduleStages.includes(stage)) {
+ const { reply: aiReply, nextStage } = await runRescheduleStep(
+ Body, stage, language, patient.id, aiSettings.apiKey, patient.userId
+ );
+ return reply(aiReply, nextStage);
+ }
+
+ // ── Stage: awaiting MassHealth member ID + DOB ────────────────────────
+ if (stage === "awaiting_masshealth_info") {
+ const { memberId, dob } = await parseMassHealthInfo(Body, aiSettings.apiKey);
+
+ if (!memberId || !dob) {
+ // Couldn't parse — ask again with a clearer format hint
+ const retryMessages: Record = {
+ English: "I couldn't read your Member ID and date of birth. Please reply in this format: Member ID: 12345678 DOB: 01/01/1990",
+ Spanish: "No pude leer su número de miembro y fecha de nacimiento. Por favor responda así: ID: 12345678 Fecha: 01/01/1990",
+ Portuguese: "Não consegui ler seu número de membro e data de nascimento. Por favor responda assim: ID: 12345678 Data: 01/01/1990",
+ Mandarin: "我无法读取您的会员ID和出生日期。请按以下格式回复:ID: 12345678 生日: 01/01/1990",
+ Cantonese: "我無法讀取您的會員ID和出生日期。請按以下格式回覆:ID: 12345678 生日: 01/01/1990",
+ Arabic: "لم أتمكن من قراءة رقم العضوية وتاريخ الميلاد. يرجى الرد بالصيغة التالية: ID: 12345678 DOB: 01/01/1990",
+ "Haitian Creole": "Mwen pa t ka li ID manm ou ak dat nesans. Tanpri reponn konsa: ID: 12345678 DOB: 01/01/1990",
+ };
+ const retryMsg = retryMessages[language] ?? retryMessages["English"]!;
+ return reply(retryMsg, "awaiting_masshealth_info");
+ }
+
+ // Immediately confirm to the patient and start the check in background
+ const checkingMessages: Record = {
+ English: "Thank you! I'm checking your MassHealth eligibility now. I'll send you the result in a moment.",
+ Spanish: "¡Gracias! Estoy verificando su elegibilidad de MassHealth ahora. Le enviaré el resultado en un momento.",
+ Portuguese: "Obrigado! Estou verificando sua elegibilidade MassHealth agora. Enviarei o resultado em instantes.",
+ Mandarin: "谢谢!我正在查询您的MassHealth资格。稍后我会发送结果给您。",
+ Cantonese: "多謝!我正在查詢您的MassHealth資格。稍後我會發送結果給您。",
+ Arabic: "شكراً! أقوم بالتحقق من أهليتك في MassHealth الآن. سأرسل لك النتيجة قريباً.",
+ "Haitian Creole": "Mèsi! Mwen ap verifye kalifikasyon MassHealth ou kounye a. M ap voye rezilta a nan yon ti moman.",
+ };
+ const checkingMsg = checkingMessages[language] ?? checkingMessages["English"]!;
+
+ // Reply now — Selenium runs in the background
+ await saveOutbound(patient.id, checkingMsg);
+ setStage(patient.userId, patient.id, "done");
+ res.set("Content-Type", "text/xml");
+ res.send(twimlReply(checkingMsg));
+
+ // Fire-and-forget: run check and send result SMS when complete
+ runMassHealthCheckAndNotify(patient, memberId, dob, aiSettings.apiKey).catch(() => {});
+ return;
+ }
+
+ // ── Stage: existing patient said YES to same insurance ───────────────
+ // Special case: if they have MassHealth on file, run Selenium check
+ // automatically (we already have their member ID + DOB in DB).
+ if (stage === "asked_existing_insurance") {
+ const saysYes = /yes|same|still have|haven't changed|no change|yep|yeah|sí|si|sim|好的|نعم|wi/i.test(Body);
+
+ if (saysYes) {
+ const patientRecord = await db.patient.findUnique({
+ where: { id: patient.id },
+ select: { insuranceProvider: true, insuranceId: true, dateOfBirth: true },
+ });
+
+ const isMassHealth = /masshealth|mass health|masscare|medicaid/i.test(
+ patientRecord?.insuranceProvider ?? ""
+ );
+
+ if (isMassHealth && patientRecord?.insuranceId) {
+ // Format DOB as MM/DD/YYYY for Selenium
+ let dobStr = "";
+ if (patientRecord.dateOfBirth) {
+ const d = new Date(patientRecord.dateOfBirth);
+ const mm = String(d.getUTCMonth() + 1).padStart(2, "0");
+ const dd = String(d.getUTCDate()).padStart(2, "0");
+ const yy = d.getUTCFullYear();
+ dobStr = `${mm}/${dd}/${yy}`;
+ }
+
+ const checkingMessages: Record = {
+ English: "Please wait about 30-60 seconds! I'm double-checking your MassHealth coverage right now.",
+ Spanish: "¡Por favor espere unos 30-60 segundos! Estoy verificando su cobertura de MassHealth ahora mismo.",
+ Portuguese: "Por favor aguarde cerca de 30-60 segundos! Estou verificando sua cobertura MassHealth agora.",
+ Mandarin: "请等待约30-60秒!我现在正在为您核查MassHealth保险。",
+ Cantonese: "請等待約30-60秒!我現在正在為您核查MassHealth保險。",
+ Arabic: "يرجى الانتظار حوالي 30-60 ثانية! أقوم الآن بالتحقق من تغطيتك في MassHealth.",
+ "Haitian Creole": "Tanpri tann anviwon 30-60 segonn! Mwen ap verifye kouvèti MassHealth ou kounye a.",
+ };
+ const checkingMsg = checkingMessages[language] ?? checkingMessages["English"]!;
+
+ await saveOutbound(patient.id, checkingMsg);
+ setStage(patient.userId, patient.id, "done");
res.set("Content-Type", "text/xml");
- return res.send(
- `${escapeXml(reply)} `
- );
+ res.send(twimlReply(checkingMsg));
+
+ // Fire-and-forget Selenium check; existing patient gets simpler result
+ runMassHealthCheckAndNotify(
+ patient, patientRecord.insuranceId, dobStr, aiSettings.apiKey, true
+ ).catch(() => {});
+ return;
}
}
+ // Not MassHealth or said NO — fall through to normal graph handling
+ }
+
+ // ── Stage: new_patient_greeted + multi-step new patient stages ────────
+ const newPatientStages: ConversationStage[] = [
+ "new_patient_greeted", "asked_new_or_existing",
+ "asked_new_patient_insurance", "asked_existing_insurance",
+ "asked_appointment_time",
+ "asked_appointment_preference", "asked_self_pay",
+ ];
+ if (newPatientStages.includes(stage)) {
+ const { reply: aiReply, nextStage } = await runNewPatientStep(
+ Body, stage, language, aiSettings.apiKey
+ );
+ return reply(aiReply, nextStage);
+ }
+
+ // ── Stage: initial (no active conversation) ───────────────────────────
+ // Check after-hours: if enabled and currently outside office hours → start new-patient flow
+ if (stage === "initial" || stage === "done") {
+ const afterHoursEnabled = getAfterHoursHandoff(patient.userId);
+ const outsideHours = await isAfterHours(patient.userId);
+
+ if (afterHoursEnabled && outsideHours) {
+ const chatTemplates = await storage.getAiChatTemplates(patient.userId);
+ const officeContact = await storage.getOfficeContact(patient.userId);
+ const officeName = (officeContact as any)?.officeName?.trim() || "";
+
+ const rawGreeting = chatTemplates.newPatientGreeting ||
+ `Hi! My name is Lisa, the dedicated AI assistant at {officeName}. I can help you schedule an appointment, check your insurance, and answer general questions 24/7. How can I help you today?`;
+
+ return reply(applyOfficeName(rawGreeting, officeName), "new_patient_greeted");
+ }
}
res.set("Content-Type", "text/xml");
- return res.send(" ");
+ return res.send(empty());
+
} catch (err) {
res.set("Content-Type", "text/xml");
- return res.send(" ");
+ return res.send(empty());
}
});
-// POST /api/twilio/webhook/voice (Twilio posts here when someone calls — no auth)
+// ── POST /api/twilio/webhook/voice ────────────────────────────────────────────
+
router.post("/webhook/voice", async (req: Request, res: Response): Promise => {
try {
const { From, CallSid } = req.body;
@@ -72,69 +450,51 @@ router.post("/webhook/voice", async (req: Request, res: Response): Promise
let greeting = "Thank you for calling. Please leave a message after the beep and we will get back to you shortly.";
if (patient) {
const settings = await storage.getTwilioSettings(patient.userId);
- if (settings?.greetingMessage?.trim()) {
- greeting = settings.greetingMessage.trim();
- }
+ if (settings?.greetingMessage?.trim()) greeting = settings.greetingMessage.trim();
}
if (patient) {
await storage.createCommunication({
- patientId: patient.id,
- channel: "voice",
- direction: "inbound",
- status: "completed",
- body: "(Inbound call — voicemail below)",
- twilioSid: CallSid,
+ patientId: patient.id, channel: "voice", direction: "inbound",
+ status: "completed", body: "(Inbound call — voicemail below)", twilioSid: CallSid,
});
}
const recordingCallbackUrl = `${process.env.BASE_URL || "https://communitydentistsoflowell.mydentalofficemanagement.com"}/api/twilio/webhook/voice-recording`;
- const twiml = `
+ res.set("Content-Type", "text/xml");
+ return res.send(`
${greeting}
We did not receive a recording. Goodbye.
- `;
-
- res.set("Content-Type", "text/xml");
- return res.send(twiml);
+`);
} catch (err) {
res.set("Content-Type", "text/xml");
return res.send(`Thank you for calling. Please try again later. `);
}
});
-// POST /api/twilio/webhook/voice-recording (Twilio posts recording URL here — no auth)
+// ── POST /api/twilio/webhook/voice-recording ──────────────────────────────────
+
router.post("/webhook/voice-recording", async (req: Request, res: Response): Promise => {
try {
const { CallSid, RecordingUrl } = req.body;
-
if (RecordingUrl && CallSid) {
const comm = await db.communication.findFirst({ where: { twilioSid: CallSid } });
if (comm) {
await db.communication.update({
where: { id: comm.id },
- data: { body: `Voicemail: ${RecordingUrl}.mp3` },
+ data: { body: `Voicemail: ${RecordingUrl}.mp3` },
});
}
}
-
res.set("Content-Type", "text/xml");
- return res.send(" ");
+ return res.send(empty());
} catch (err) {
res.set("Content-Type", "text/xml");
- return res.send(" ");
+ return res.send(empty());
}
});
-function escapeXml(text: string): string {
- return text
- .replace(/&/g, "&")
- .replace(//g, ">")
- .replace(/"/g, """)
- .replace(/'/g, "'");
-}
-
export default router;
diff --git a/apps/Backend/src/routes/twilio.ts b/apps/Backend/src/routes/twilio.ts
index b94480b0..3529ae46 100644
--- a/apps/Backend/src/routes/twilio.ts
+++ b/apps/Backend/src/routes/twilio.ts
@@ -1,6 +1,7 @@
import express, { Request, Response } from "express";
import twilio from "twilio";
import { storage } from "../storage";
+import { getHandoff, setHandoff, resetConversation, startNewPatientConversation, getAfterHoursHandoff, setAfterHoursHandoff } from "../ai/aiHandoffStore";
const router = express.Router();
@@ -65,7 +66,7 @@ router.post("/send-sms", async (req: Request, res: Response): Promise => {
const userId = req.user?.id;
if (!userId) return res.status(401).json({ message: "Unauthorized" });
- const { to, message, patientId } = req.body;
+ const { to, message, patientId, startFlow } = req.body;
if (!to || !message) return res.status(400).json({ message: "to and message are required" });
const settings = await storage.getTwilioSettings(userId);
@@ -81,8 +82,9 @@ router.post("/send-sms", async (req: Request, res: Response): Promise => {
});
if (patientId) {
+ const pid = Number(patientId);
await storage.createCommunication({
- patientId: Number(patientId),
+ patientId: pid,
userId,
channel: "sms",
direction: "outbound",
@@ -90,6 +92,12 @@ router.post("/send-sms", async (req: Request, res: Response): Promise => {
body: message,
twilioSid: twilioMsg.sid,
});
+ // Set conversation stage based on which flow was started
+ if (startFlow === "new_patient") {
+ startNewPatientConversation(userId, pid);
+ } else {
+ resetConversation(userId, pid);
+ }
}
return res.status(200).json({ sid: twilioMsg.sid, status: twilioMsg.status });
@@ -125,6 +133,60 @@ router.put("/templates/:key", async (req: Request, res: Response): Promise
}
});
+// GET /api/twilio/after-hours-handoff
+router.get("/after-hours-handoff", async (req: Request, res: Response): Promise => {
+ try {
+ const userId = req.user?.id;
+ if (!userId) return res.status(401).json({ message: "Unauthorized" });
+ return res.status(200).json({ enabled: getAfterHoursHandoff(userId) });
+ } catch (err) {
+ return res.status(500).json({ error: "Failed to get after-hours handoff state" });
+ }
+});
+
+// PUT /api/twilio/after-hours-handoff
+router.put("/after-hours-handoff", async (req: Request, res: Response): Promise => {
+ try {
+ const userId = req.user?.id;
+ if (!userId) return res.status(401).json({ message: "Unauthorized" });
+ const { enabled } = req.body;
+ if (typeof enabled !== "boolean") return res.status(400).json({ message: "enabled must be a boolean" });
+ setAfterHoursHandoff(userId, enabled);
+ return res.status(200).json({ enabled });
+ } catch (err) {
+ return res.status(500).json({ error: "Failed to set after-hours handoff state" });
+ }
+});
+
+// GET /api/twilio/ai-handoff/:patientId
+router.get("/ai-handoff/:patientId", async (req: Request, res: Response): Promise => {
+ try {
+ const userId = req.user?.id;
+ if (!userId) return res.status(401).json({ message: "Unauthorized" });
+ const patientId = parseInt(req.params.patientId);
+ if (isNaN(patientId)) return res.status(400).json({ message: "Invalid patientId" });
+ return res.status(200).json({ enabled: getHandoff(userId, patientId) });
+ } catch (err) {
+ return res.status(500).json({ error: "Failed to get AI handoff state" });
+ }
+});
+
+// PUT /api/twilio/ai-handoff/:patientId
+router.put("/ai-handoff/:patientId", async (req: Request, res: Response): Promise => {
+ try {
+ const userId = req.user?.id;
+ if (!userId) return res.status(401).json({ message: "Unauthorized" });
+ const patientId = parseInt(req.params.patientId);
+ if (isNaN(patientId)) return res.status(400).json({ message: "Invalid patientId" });
+ const { enabled } = req.body;
+ if (typeof enabled !== "boolean") return res.status(400).json({ message: "enabled must be a boolean" });
+ setHandoff(userId, patientId, enabled);
+ return res.status(200).json({ enabled });
+ } catch (err) {
+ return res.status(500).json({ error: "Failed to set AI handoff state" });
+ }
+});
+
// GET /api/twilio/recent-communications
router.get("/recent-communications", async (req: Request, res: Response): Promise => {
try {
diff --git a/apps/Backend/src/storage/twilio-storage.ts b/apps/Backend/src/storage/twilio-storage.ts
index 9510b837..7a814d99 100644
--- a/apps/Backend/src/storage/twilio-storage.ts
+++ b/apps/Backend/src/storage/twilio-storage.ts
@@ -59,6 +59,30 @@ export const twilioStorage = {
});
},
+ async getAiChatTemplates(userId: number): Promise> {
+ const settings = await db.twilioSettings.findUnique({ where: { userId } });
+ const all = (settings?.templates as Record) || {};
+ return {
+ reminderGreeting: all["_ai_chat_reminder_greeting"] ?? "",
+ newPatientGreeting: all["_ai_chat_new_patient_greeting"] ?? "",
+ generalFallback: all["_ai_chat_general_fallback"] ?? "",
+ };
+ },
+
+ async saveAiChatTemplates(userId: number, templates: { reminderGreeting?: string; newPatientGreeting?: string; generalFallback?: string }) {
+ const settings = await db.twilioSettings.findUnique({ where: { userId } });
+ const existing = (settings?.templates as Record) || {};
+ const updated: Record = { ...existing };
+ if (templates.reminderGreeting !== undefined) updated["_ai_chat_reminder_greeting"] = templates.reminderGreeting;
+ if (templates.newPatientGreeting !== undefined) updated["_ai_chat_new_patient_greeting"] = templates.newPatientGreeting;
+ if (templates.generalFallback !== undefined) updated["_ai_chat_general_fallback"] = templates.generalFallback;
+ return db.twilioSettings.upsert({
+ where: { userId },
+ update: { templates: updated },
+ create: { userId, accountSid: "", authToken: "", phoneNumber: "", templates: updated },
+ });
+ },
+
async getRecentCommunicationsByUser(userId: number, limit = 20) {
return db.communication.findMany({
where: { patient: { userId } },
diff --git a/apps/Frontend/src/components/layout/sidebar.tsx b/apps/Frontend/src/components/layout/sidebar.tsx
index b5b4cb2c..ab039de4 100755
--- a/apps/Frontend/src/components/layout/sidebar.tsx
+++ b/apps/Frontend/src/components/layout/sidebar.tsx
@@ -245,6 +245,11 @@ export function Sidebar() {
path: "/settings/ai",
icon: ,
},
+ {
+ name: "AI Chat Settings",
+ path: "/settings/aichat",
+ icon: ,
+ },
],
},
],
diff --git a/apps/Frontend/src/components/patient-connection/message-thread.tsx b/apps/Frontend/src/components/patient-connection/message-thread.tsx
index 619616e8..c9f3faea 100755
--- a/apps/Frontend/src/components/patient-connection/message-thread.tsx
+++ b/apps/Frontend/src/components/patient-connection/message-thread.tsx
@@ -11,7 +11,8 @@ import {
} from "@/components/ui/select";
import { useToast } from "@/hooks/use-toast";
import { apiRequest, queryClient } from "@/lib/queryClient";
-import { Send, ArrowLeft, FileText, Globe } from "lucide-react";
+import { Send, ArrowLeft, FileText, Globe, Bot, UserPlus } from "lucide-react";
+import { Switch } from "@/components/ui/switch";
import type { Patient, Communication } from "@repo/db/types";
import { format, isToday, isYesterday, parseISO } from "date-fns";
import { es, pt, zhCN, zhTW, ar, fr } from "date-fns/locale";
@@ -264,6 +265,37 @@ export function MessageThread({ patient, onBack, appointmentInfo }: MessageThrea
: "English"
);
const messagesEndRef = useRef(null);
+ const [handOffToAI, setHandOffToAI] = useState(true);
+ const [pendingStartFlow, setPendingStartFlow] = useState<"new_patient" | null>(null);
+
+ useQuery<{ enabled: boolean }>({
+ queryKey: ["/api/twilio/ai-handoff", patient.id],
+ queryFn: async () => {
+ const res = await apiRequest("GET", `/api/twilio/ai-handoff/${patient.id}`);
+ return res.json();
+ },
+ onSuccess: (data: { enabled: boolean }) => setHandOffToAI(data.enabled),
+ } as any);
+
+ const { data: aiChatTemplates } = useQuery<{ newPatientGreeting: string } | null>({
+ queryKey: ["/api/ai/chat-templates"],
+ queryFn: async () => {
+ const res = await apiRequest("GET", "/api/ai/chat-templates");
+ if (!res.ok) return null;
+ return res.json();
+ },
+ staleTime: 60_000,
+ });
+
+ const handoffMutation = useMutation({
+ mutationFn: async (enabled: boolean) =>
+ apiRequest("PUT", `/api/twilio/ai-handoff/${patient.id}`, { enabled }),
+ });
+
+ const handleHandoffToggle = (enabled: boolean) => {
+ setHandOffToAI(enabled);
+ handoffMutation.mutate(enabled);
+ };
const { data: officeContact } = useQuery({
queryKey: ["/api/office-contact"],
@@ -290,9 +322,11 @@ export function MessageThread({ patient, onBack, appointmentInfo }: MessageThrea
to: patient.phone,
message,
patientId: patient.id,
+ ...(pendingStartFlow ? { startFlow: pendingStartFlow } : {}),
}),
onSuccess: () => {
setMessageText("");
+ setPendingStartFlow(null);
queryClient.invalidateQueries({ queryKey: ["/api/patients", patient.id, "communications"] });
toast({ title: "Message sent", description: "Your message has been sent successfully." });
},
@@ -395,14 +429,29 @@ export function MessageThread({ patient, onBack, appointmentInfo }: MessageThrea
{
- const tpl = templates.find((t) => t.key === key);
- if (tpl) setMessageText(tpl.body);
+ if (key === "__new_patient__") {
+ const greeting = aiChatTemplates?.newPatientGreeting ||
+ "Hi! My name is Lisa, the dedicated AI assistant at our dental office. I can help you schedule an appointment, check your insurance, and answer general questions 24/7. How can I help you today?";
+ setMessageText(greeting);
+ setPendingStartFlow("new_patient");
+ } else {
+ const tpl = templates.find((t) => t.key === key);
+ if (tpl) { setMessageText(tpl.body); setPendingStartFlow(null); }
+ }
}}
>
+ {/* New patient scheduling — uses AI New Patient Greeting */}
+
+
+
+ Schedule a New Patient
+
+
+
{templates.map((t) => (
{t.label}
@@ -411,6 +460,25 @@ export function MessageThread({ patient, onBack, appointmentInfo }: MessageThrea
+
+ {/* New-patient flow indicator */}
+ {pendingStartFlow === "new_patient" && (
+
+
+ New patient flow
+
+ )}
+
+ {/* AI handoff toggle */}
+
+
+ Hand off to AI
+
+
diff --git a/apps/Frontend/src/components/settings/ai-chat-settings-card.tsx b/apps/Frontend/src/components/settings/ai-chat-settings-card.tsx
new file mode 100644
index 00000000..b78b9b89
--- /dev/null
+++ b/apps/Frontend/src/components/settings/ai-chat-settings-card.tsx
@@ -0,0 +1,751 @@
+import { useState, useEffect, useRef } from "react";
+import { useQuery, useMutation } from "@tanstack/react-query";
+import { Card, CardContent } from "@/components/ui/card";
+import { Button } from "@/components/ui/button";
+import { Textarea } from "@/components/ui/textarea";
+import { useToast } from "@/hooks/use-toast";
+import { apiRequest, queryClient } from "@/lib/queryClient";
+import { Bot, CalendarCheck, UserPlus, MessageCircle, Info, GitFork } from "lucide-react";
+import { Tabs, TabsList, TabsTrigger, TabsContent } from "@/components/ui/tabs";
+
+// ─── Types ────────────────────────────────────────────────────────────────────
+
+type AiChatTemplates = {
+ reminderGreeting: string;
+ newPatientGreeting: string;
+ generalFallback: string;
+};
+
+type OfficeContact = {
+ officeName?: string | null;
+};
+
+// ─── Defaults ─────────────────────────────────────────────────────────────────
+
+const DEFAULTS = {
+ reminderGreeting:
+ "Hi! My name is Lisa, the dedicated AI assistant at {officeName}. I can confirm or reschedule your appointment and answer general questions 24/7. I will reply your message at any time you need.",
+ newPatientGreeting:
+ "Hi! My name is Lisa, the dedicated AI assistant at {officeName}. I can help you schedule an appointment, check your insurance, and answer general questions 24/7. How can I help you today?",
+ generalFallback: "How can I help you today?",
+};
+
+function previewTemplate(text: string, officeName: string) {
+ return text.replace(/\{officeName\}/g, officeName || "your dental office");
+}
+
+// ─── LangGraph flow diagram (SVG) ─────────────────────────────────────────────
+
+function LangGraphFlow() {
+ const W = 620;
+ const cx = W / 2; // 310
+ const nodeW = 200;
+ const nx = cx - nodeW / 2; // 210
+
+ // sequential node y positions & heights
+ const n1y = 16, n1h = 58;
+ const n2y = 116, n2h = 58;
+ const n3y = 216, n3h = 78;
+
+ // fork geometry
+ const forkHY = n3y + n3h + 22; // 316
+ const lcx = 150, rcx = 470; // branch centers (balanced around 310)
+
+ // main branch nodes
+ const branchY = forkHY + 58; // 374
+ const branchW = 220;
+ const branchH = 88;
+ const branchBottom = branchY + branchH; // 462
+
+ // ── Rescheduling sub-tree (below NO/left branch at lcx=150) ──────────────
+ const rsForkHY = branchBottom + 28; // 490 patient says YES/NO to reschedule
+ const rsYesCx = 90;
+ const rsNoCx = 215;
+ const rsNodeY = rsForkHY + 32; // 522
+ const rsNodeH = 54;
+
+ // ASAP-or-next-week fork (below rsYesCx=90)
+ const prefForkHY = rsNodeY + rsNodeH + 22; // 598
+ const asakCx = 48;
+ const nwkCx = 138;
+ const prefNodeY = prefForkHY + 32; // 630
+ const prefNodeH = 62;
+
+ const totalH = prefNodeY + prefNodeH + 54 + 20 + 54 + 22; // time node + DB node + padding
+
+ return (
+
+
+ {/* Arrowhead marker */}
+
+
+
+
+
+ {/* ── Node 1: Office sends reminder ─────────────────────────── */}
+
+ Office sends reminder
+ Staff triggers the SMS
+
+ {/* Arrow 1 → 2 */}
+
+
+ {/* ── Node 2: Patient replies ───────────────────────────────── */}
+
+ Patient replies
+ Any message triggers the AI
+
+ {/* Arrow 2 → 3 */}
+
+
+ {/* ── Node 3: AI introduces itself ──────────────────────────── */}
+
+ AI introduces itself
+ "Hi! My name is Lisa, the dedicated
+ AI assistant at {"{officeName}"}..."
+
+ {/* ── Fork connectors ───────────────────────────────────────── */}
+ {/* Vertical down from N3 */}
+
+ {/* Horizontal fork line */}
+
+ {/* Left drop → NO branch */}
+
+ {/* Right drop → YES branch */}
+
+
+ {/* ── YES / NO badges on the fork ───────────────────────────── */}
+ {/* NO badge — left junction */}
+
+ NO
+
+ {/* YES badge — right junction */}
+
+ YES
+
+ {/* ── Left branch: NO → "Would you like to reschedule?" ───────── */}
+
+ It is understandable!
+ Would you like to
+ reschedule?
+
+ {/* ── Right branch: YES → Confirm ───────────────────────────── */}
+
+ Thank you for
+ confirming!
+ "See you on [date & time]"
+
+ {/* ══════════ RESCHEDULING SUB-TREE ══════════════════════════════ */}
+
+ {/* Vertical from NO node bottom */}
+
+ {/* Horizontal YES/NO fork */}
+
+
+
+
+ {/* YES / NO badges */}
+
+ YES
+
+ NO
+
+ {/* YES → "ASAP or next week?" node */}
+
+ ASAP or
+ next week?
+ (if Mon–Thu appt)
+
+ {/* NO → polite close */}
+
+ No problem!
+ Conversation ends
+
+ {/* Vertical from "ASAP or next week?" down to preference fork */}
+
+ {/* ASAP / Next week fork */}
+
+
+
+
+ {/* ASAP badge */}
+
+ ASAP
+ {/* Next week badge */}
+
+ Next week
+
+ {/* ASAP → "Can you come tomorrow?" */}
+
+ Can you come
+ tomorrow?
+ YES → ask time
+
+ {/* Next week → "Mon, Tue, or Wed?" */}
+
+ Mon, Tue,
+ or Wed?
+ → ask time
+
+ {/* ── Time-slot node (shared by both paths) ─────────────────── */}
+ {/* Left vertical from ASAP node */}
+
+ {/* Right vertical from NextWeek node */}
+
+ {/* Horizontal converge line */}
+
+ {/* Drop to time node */}
+
+
+ {/* Time-slot node */}
+
+ Morning or
+ afternoon?
+
+ {/* DB update node (dashed) */}
+
+
+
+ DB Update
+ Appt. moved!
+ "See you on [day] at [time]"
+
+ );
+}
+
+// ─── New Patient / After-Hours flow diagram ───────────────────────────────────
+
+function NewPatientFlow() {
+ // ── Canvas ───────────────────────────────────────────────────────────────
+ const W = 760;
+ const cx = 380; // top-node horizontal center
+ const nW = 220;
+ const nx = cx - nW / 2; // 270
+
+ // ── Sequential top nodes ─────────────────────────────────────────────────
+ const n1y = 15, n1h = 58;
+ const n2y = 115, n2h = 58;
+ const n3y = 215, n3h = 58;
+ const n4y = 315, n4h = 60;
+
+ // ── Main fork ────────────────────────────────────────────────────────────
+ const forkHY = n4y + n4h + 20; // 395
+ const lcx = 165; // New Patient branch center
+ const rcx = 590; // Existing Patient branch center
+ const brW = 200;
+
+ // ── Main branch nodes ─────────────────────────────────────────────────────
+ const brY = forkHY + 50; // 445
+ const brH = 62;
+
+ // ── Sub-forks ─────────────────────────────────────────────────────────────
+ const sfHY = brY + brH + 18; // 525
+ const llcx = 100; const lrcx = 230; // New Patient sub-branches (centered on 165)
+ const rlcx = 510; const rrcx = 660; // Existing Patient sub-branches
+
+ // ── Leaf nodes ────────────────────────────────────────────────────────────
+ const leafY = sfHY + 46; // 571
+ const leafW = 118;
+ const leafH = 80;
+
+ // ── New patient: Selenium chain (below LL at cx=100) ─────────────────────
+ const npSelY = leafY + leafH + 34; // 685 — Selenium node top
+ const npSelW = 140;
+ const npSelH = 56;
+ const npResHY = npSelY + npSelH + 16; // 757 — result fork y
+ const npActCx = 52; // ACTIVE result center (100-48)
+ const npInaCx = 148; // INACTIVE result center (100+48)
+ const npResY = npResHY + 34; // 791
+ const npResW = 80;
+ const npResH = 72;
+
+ // ── Existing patient: YES → MassHealth auto-check (below RL at cx=510) ──
+ const exForkHY = leafY + leafH + 26; // 677
+ const exMhCx = 445; // MassHealth sub-branch center
+ const exOtherCx = 558; // Other insurance center
+ const exCheckY = exForkHY + 34; // 711
+ const exCheckW = 116;
+ const exCheckH = 52;
+ const exSelY = exCheckY + exCheckH + 18; // 781
+ const exSelW = 128;
+ const exSelH = 52;
+ const exResHY = exSelY + exSelH + 16; // 849
+ const exActCx = 401; // (445-44)
+ const exInaCx = 489; // (445+44)
+ const exLeafY = exResHY + 34; // 883
+ const exLeafW = 80;
+ const exLeafH = 62;
+
+ const totalH = Math.max(npResY + npResH, exLeafY + exLeafH) + 22;
+
+ return (
+
+
+
+
+
+
+
+ {/* ═══════════ TOP SEQUENCE ═══════════════════════════════════ */}
+
+
+ Patient texts after hours
+ or staff selects
+ "Schedule a New Patient"
+
+
+
+
+ AI sends New Patient Greeting
+ "Hi! My name is Lisa..."
+
+
+
+
+ Patient replies
+ "I want an appointment / cleaning"
+
+
+
+
+ AI: New or existing patient?
+ "Are you a new or existing patient?"
+
+ {/* ═══════════ MAIN FORK ══════════════════════════════════════ */}
+
+
+
+
+
+
+
+ New Patient
+
+ Existing Patient
+
+ {/* ═══════════ LEFT BRANCH — NEW PATIENT ══════════════════════ */}
+
+
+ Do you have any
+ dental insurance?
+
+
+
+
+
+
+
+ MassHealth
+
+ No ins.
+
+ {/* NP: MassHealth leaf — ask for ID+DOB */}
+
+ Check MassHealth
+ "Text me your
+ Member ID & DOB"
+
+ {/* NP: No insurance leaf */}
+
+ Schedule
+ "When would
+ you like to come?"
+
+ {/* NP: Selenium check (patient texts ID+DOB) */}
+
+
+
+ Selenium
+ MassHealth Portal
+ Auto-checks eligibility
+ → result SMS to patient
+
+ {/* NP: Post-Selenium ACTIVE/INACTIVE fork */}
+
+
+
+
+
+
+ ACTIVE
+
+ INACTIVE
+
+
+ Check-up or
+ tooth problem?
+ → book appt
+
+
+ Inactive.
+ Self-pay?
+ YES/NO
+
+ {/* ═══════════ RIGHT BRANCH — EXISTING PATIENT ════════════════ */}
+
+
+ Do you still have
+ the same insurance?
+
+
+
+
+
+
+
+ YES
+
+ NO
+
+ {/* EP: YES — "Same insurance confirmed" */}
+
+ Same insurance
+ MassHealth → auto-check
+ Other → schedule
+
+ {/* EP: NO — Transfer */}
+
+ Transfer
+ "Our staff will
+ assist you"
+
+ {/* EP: YES → MassHealth sub-fork */}
+
+
+
+
+
+
+ MassHealth
+
+ Other ins.
+
+ {/* EP: MassHealth — "Checking 30-60s" node */}
+
+ Wait 30-60 secs…
+ Using saved ID & DOB
+
+ {/* EP: Other insurance — schedule directly */}
+
+ Schedule
+ "When to come in?"
+
+ {/* EP: MassHealth → Selenium */}
+
+
+
+ Selenium
+ MassHealth Portal
+ Auto-checks eligibility
+
+ {/* EP: ACTIVE / INACTIVE fork */}
+
+
+
+
+
+
+ ACTIVE
+
+ INACTIVE
+
+
+ When to
+ come in?
+ → book appt
+
+
+ Inactive.
+ Self-pay?
+ YES/NO
+
+ );
+}
+
+// ─── Main component ───────────────────────────────────────────────────────────
+
+export function AiChatSettingsCard() {
+ const { toast } = useToast();
+
+ const [reminderGreeting, setReminderGreeting] = useState(DEFAULTS.reminderGreeting);
+ const [newPatientGreeting, setNewPatientGreeting] = useState(DEFAULTS.newPatientGreeting);
+ const [generalFallback, setGeneralFallback] = useState(DEFAULTS.generalFallback);
+ const initialized = useRef(false);
+
+ const { data: officeContact } = useQuery({
+ queryKey: ["/api/office-contact"],
+ queryFn: async () => {
+ const res = await apiRequest("GET", "/api/office-contact");
+ if (!res.ok) return null;
+ return res.json();
+ },
+ staleTime: 60_000,
+ });
+
+ const { data: templates, isLoading } = useQuery({
+ queryKey: ["/api/ai/chat-templates"],
+ queryFn: async () => {
+ const res = await apiRequest("GET", "/api/ai/chat-templates");
+ if (!res.ok) throw new Error("Failed to load templates");
+ return res.json();
+ },
+ staleTime: Infinity,
+ refetchOnWindowFocus: false,
+ });
+
+ // Seed local state from server on first load only
+ useEffect(() => {
+ if (templates && !initialized.current) {
+ initialized.current = true;
+ setReminderGreeting(templates.reminderGreeting || DEFAULTS.reminderGreeting);
+ setNewPatientGreeting(templates.newPatientGreeting || DEFAULTS.newPatientGreeting);
+ setGeneralFallback(templates.generalFallback || DEFAULTS.generalFallback);
+ }
+ }, [templates]);
+
+ const saveMutation = useMutation({
+ mutationFn: async (data: AiChatTemplates) => {
+ const res = await apiRequest("PUT", "/api/ai/chat-templates", data);
+ if (!res.ok) {
+ const err = await res.json().catch(() => null);
+ throw new Error(err?.message || "Failed to save templates");
+ }
+ return res.json();
+ },
+ onSuccess: () => {
+ queryClient.invalidateQueries({ queryKey: ["/api/ai/chat-templates"] });
+ toast({ title: "Templates saved", description: "AI chat templates have been updated." });
+ },
+ onError: (err: any) => {
+ toast({ title: "Error", description: err?.message, variant: "destructive" });
+ },
+ });
+
+ const handleSubmit = (e: React.FormEvent) => {
+ e.preventDefault();
+ saveMutation.mutate({
+ reminderGreeting: reminderGreeting.trim() || DEFAULTS.reminderGreeting,
+ newPatientGreeting: newPatientGreeting.trim() || DEFAULTS.newPatientGreeting,
+ generalFallback: generalFallback.trim() || DEFAULTS.generalFallback,
+ });
+ };
+
+ const officeName = officeContact?.officeName?.trim() || "";
+
+ const templateFields = [
+ {
+ key: "reminder",
+ icon: ,
+ label: "Appointment Reminder Reply",
+ description: "Sent when the AI first introduces itself after an appointment reminder.",
+ value: reminderGreeting,
+ onChange: setReminderGreeting,
+ placeholder: DEFAULTS.reminderGreeting,
+ },
+ {
+ key: "newPatient",
+ icon: ,
+ label: "New Patient Greeting",
+ description: "Sent when a new patient texts in for the first time.",
+ value: newPatientGreeting,
+ onChange: setNewPatientGreeting,
+ placeholder: DEFAULTS.newPatientGreeting,
+ },
+ {
+ key: "general",
+ icon: ,
+ label: "General Fallback",
+ description: "Used when the AI cannot determine the context of the patient's message.",
+ value: generalFallback,
+ onChange: setGeneralFallback,
+ placeholder: DEFAULTS.generalFallback,
+ },
+ ];
+
+ return (
+
+
+ {/* ── Section 1: Chat Templates ────────────────────────────── */}
+
+
+
+
+
Chat Templates
+
+
+ Customize how the AI assistant introduces itself to patients. Use{" "}
+ {"{officeName}"}{" "}
+ as a placeholder — it will be replaced with your dental office name automatically.
+
+
+ {officeName && (
+
+
+
+ {"{officeName}"} will display as{" "}
+ "{officeName}"
+
+
+ )}
+
+ {isLoading ? (
+ Loading templates...
+ ) : (
+
+ )}
+
+
+
+ {/* ── Section 2: LangGraph Flow ────────────────────────────── */}
+
+
+
+
+
LangGraph Settings
+
+
+ Visual diagrams of each AI conversation graph — select a flow below to inspect its node sequence.
+
+
+ {/* Shared legend */}
+
+ {[
+ { bg: "bg-blue-100", border: "border-blue-400", label: "Staff action" },
+ { bg: "bg-gray-100", border: "border-gray-400", label: "Patient action" },
+ { bg: "bg-emerald-50", border: "border-emerald-400",label: "AI node" },
+ { bg: "bg-indigo-50", border: "border-indigo-400", label: "New patient branch" },
+ { bg: "bg-violet-50", border: "border-violet-400", label: "Existing patient" },
+ { bg: "bg-green-50", border: "border-green-400", label: "Confirmed / Schedule"},
+ { bg: "bg-orange-50", border: "border-orange-400", label: "Reschedule / Transfer"},
+ ].map((l) => (
+
+
+ {l.label}
+
+ ))}
+
+
+
+
+
+ Appointment Reminder Flow
+
+
+ New Patient / After-Hours Flow
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Any reply not matching a known intent returns: "Our office staff will assist you shortly."
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/Frontend/src/components/settings/ai-chat-templates-card.tsx b/apps/Frontend/src/components/settings/ai-chat-templates-card.tsx
new file mode 100644
index 00000000..49e16383
--- /dev/null
+++ b/apps/Frontend/src/components/settings/ai-chat-templates-card.tsx
@@ -0,0 +1,209 @@
+import { useState, useEffect, useRef } from "react";
+import { useQuery, useMutation } from "@tanstack/react-query";
+import { Card, CardContent } from "@/components/ui/card";
+import { Button } from "@/components/ui/button";
+import { Textarea } from "@/components/ui/textarea";
+import { useToast } from "@/hooks/use-toast";
+import { apiRequest, queryClient } from "@/lib/queryClient";
+import { Bot, CalendarCheck, UserPlus, MessageCircle, Info } from "lucide-react";
+
+type AiChatTemplates = {
+ reminderGreeting: string;
+ newPatientGreeting: string;
+ generalFallback: string;
+};
+
+type OfficeContact = {
+ officeName?: string | null;
+};
+
+const DEFAULTS = {
+ reminderGreeting:
+ "Hi! My name is Lisa, the dedicated AI assistant at {officeName}. I can confirm or reschedule your appointment and answer general questions 24/7. How can I help you today?",
+ newPatientGreeting:
+ "Hi! My name is Lisa, the dedicated AI assistant at {officeName}. I can help you schedule an appointment, check your insurance, and answer general questions 24/7. How can I help you today?",
+ generalFallback:
+ "How can I help you today?",
+};
+
+function preview(text: string, officeName: string) {
+ return text.replace(/\{officeName\}/g, officeName || "your dental office");
+}
+
+export function AiChatTemplatesCard() {
+ const { toast } = useToast();
+
+ const [reminderGreeting, setReminderGreeting] = useState(DEFAULTS.reminderGreeting);
+ const [newPatientGreeting, setNewPatientGreeting] = useState(DEFAULTS.newPatientGreeting);
+ const [generalFallback, setGeneralFallback] = useState(DEFAULTS.generalFallback);
+ const initialized = useRef(false);
+
+ const { data: officeContact } = useQuery({
+ queryKey: ["/api/office-contact"],
+ queryFn: async () => {
+ const res = await apiRequest("GET", "/api/office-contact");
+ if (!res.ok) return null;
+ return res.json();
+ },
+ staleTime: 60_000,
+ });
+
+ const { data: templates, isLoading } = useQuery({
+ queryKey: ["/api/ai/chat-templates"],
+ queryFn: async () => {
+ const res = await apiRequest("GET", "/api/ai/chat-templates");
+ if (!res.ok) throw new Error("Failed to load templates");
+ return res.json();
+ },
+ staleTime: Infinity, // never silently refetch and overwrite user edits
+ refetchOnWindowFocus: false,
+ });
+
+ // Seed state from server on first successful load only
+ useEffect(() => {
+ if (templates && !initialized.current) {
+ initialized.current = true;
+ setReminderGreeting(templates.reminderGreeting || DEFAULTS.reminderGreeting);
+ setNewPatientGreeting(templates.newPatientGreeting || DEFAULTS.newPatientGreeting);
+ setGeneralFallback(templates.generalFallback || DEFAULTS.generalFallback);
+ }
+ }, [templates]);
+
+ const saveMutation = useMutation({
+ mutationFn: async (data: AiChatTemplates) => {
+ const res = await apiRequest("PUT", "/api/ai/chat-templates", data);
+ if (!res.ok) {
+ const err = await res.json().catch(() => null);
+ throw new Error(err?.message || "Failed to save templates");
+ }
+ return res.json();
+ },
+ onSuccess: () => {
+ queryClient.invalidateQueries({ queryKey: ["/api/ai/chat-templates"] });
+ toast({ title: "Templates saved", description: "AI chat templates have been updated." });
+ },
+ onError: (err: any) => {
+ toast({ title: "Error", description: err?.message, variant: "destructive" });
+ },
+ });
+
+ const handleSubmit = (e: React.FormEvent) => {
+ e.preventDefault();
+ saveMutation.mutate({
+ reminderGreeting: reminderGreeting.trim() || DEFAULTS.reminderGreeting,
+ newPatientGreeting: newPatientGreeting.trim() || DEFAULTS.newPatientGreeting,
+ generalFallback: generalFallback.trim() || DEFAULTS.generalFallback,
+ });
+ };
+
+ const officeName = officeContact?.officeName?.trim() || "";
+
+ const templates_list = [
+ {
+ key: "reminder" as const,
+ icon: ,
+ label: "Appointment Reminder Reply",
+ description: "Sent when the AI introduces itself after the office sends an appointment reminder.",
+ value: reminderGreeting,
+ onChange: setReminderGreeting,
+ placeholder: DEFAULTS.reminderGreeting,
+ },
+ {
+ key: "newPatient" as const,
+ icon: ,
+ label: "New Patient Greeting",
+ description: "Sent when a new patient texts in for the first time.",
+ value: newPatientGreeting,
+ onChange: setNewPatientGreeting,
+ placeholder: DEFAULTS.newPatientGreeting,
+ },
+ {
+ key: "general" as const,
+ icon: ,
+ label: "General Fallback",
+ description: "Used when the AI cannot determine the context of the patient's message.",
+ value: generalFallback,
+ onChange: setGeneralFallback,
+ placeholder: DEFAULTS.generalFallback,
+ },
+ ];
+
+ return (
+
+
+ {/* Header */}
+
+
+
AI Chat Templates
+
+
+ Customize how your AI assistant introduces itself and responds to patients. Use{" "}
+ {"{officeName}"}{" "}
+ as a placeholder — it will be replaced automatically with your dental office name.
+
+
+ {/* Office name hint */}
+ {officeName && (
+
+
+
+ {"{officeName}"} will display as{" "}
+ "{officeName}"
+
+
+ )}
+
+ {isLoading ? (
+ Loading templates...
+ ) : (
+
+ {templates_list.map((t) => (
+
+
+ {t.icon}
+ {t.label}
+
+
{t.description}
+
t.onChange(e.target.value)}
+ placeholder={t.placeholder}
+ rows={3}
+ className="text-sm resize-none"
+ />
+ {/* Live preview */}
+ {officeName && t.value.includes("{officeName}") && (
+
+ Preview: {preview(t.value, officeName)}
+
+ )}
+
+ ))}
+
+
+
+ {saveMutation.isPending ? "Saving..." : "Save Templates"}
+
+ {
+ setReminderGreeting(DEFAULTS.reminderGreeting);
+ setNewPatientGreeting(DEFAULTS.newPatientGreeting);
+ setGeneralFallback(DEFAULTS.generalFallback);
+ }}
+ >
+ Reset to defaults
+
+
+
+ )}
+
+
+ );
+}
diff --git a/apps/Frontend/src/pages/patient-connection-page.tsx b/apps/Frontend/src/pages/patient-connection-page.tsx
index 6a2db0c0..211075f4 100755
--- a/apps/Frontend/src/pages/patient-connection-page.tsx
+++ b/apps/Frontend/src/pages/patient-connection-page.tsx
@@ -13,6 +13,7 @@ import {
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Badge } from "@/components/ui/badge";
+import { Switch } from "@/components/ui/switch";
import {
Phone,
PhoneCall,
@@ -22,6 +23,7 @@ import {
MessageSquare,
Send,
X,
+ MoonStar,
} from "lucide-react";
import { SmsTemplateDialog } from "@/components/patient-connection/sms-template-diaog";
import { MessageThread } from "@/components/patient-connection/message-thread";
@@ -35,8 +37,36 @@ export default function PatientConnectionPage() {
const [selectedPatient, setSelectedPatient] = useState(null);
const [isSmsDialogOpen, setIsSmsDialogOpen] = useState(false);
const [showMessaging, setShowMessaging] = useState(false);
+ const [afterHoursEnabled, setAfterHoursEnabled] = useState(true);
const { toast } = useToast();
+ useQuery<{ enabled: boolean }>({
+ queryKey: ["/api/twilio/after-hours-handoff"],
+ queryFn: async () => {
+ const res = await apiRequest("GET", "/api/twilio/after-hours-handoff");
+ return res.json();
+ },
+ onSuccess: (data: { enabled: boolean }) => setAfterHoursEnabled(data.enabled),
+ } as any);
+
+ const afterHoursMutation = useMutation({
+ mutationFn: async (enabled: boolean) =>
+ apiRequest("PUT", "/api/twilio/after-hours-handoff", { enabled }),
+ onSuccess: (_: any, enabled: boolean) => {
+ toast({
+ title: enabled ? "After-hours AI enabled" : "After-hours AI disabled",
+ description: enabled
+ ? "AI will automatically handle messages outside office hours."
+ : "After-hours messages will not receive an automatic AI reply.",
+ });
+ },
+ });
+
+ const handleAfterHoursToggle = (enabled: boolean) => {
+ setAfterHoursEnabled(enabled);
+ afterHoursMutation.mutate(enabled);
+ };
+
const toggleMobileMenu = () => {
setIsMobileMenuOpen(!isMobileMenuOpen);
};
@@ -175,6 +205,16 @@ export default function PatientConnectionPage() {
Search and communicate with patients
+
+ {/* After-hours AI toggle */}
+
+
+ Hand off to AI after hours
+
+
diff --git a/apps/Frontend/src/pages/settings-page.tsx b/apps/Frontend/src/pages/settings-page.tsx
index 31fc2e2c..4953cca7 100755
--- a/apps/Frontend/src/pages/settings-page.tsx
+++ b/apps/Frontend/src/pages/settings-page.tsx
@@ -19,6 +19,7 @@ import { OfficeHoursCard } from "@/components/settings/office-hours-card";
import { OfficeContactCard } from "@/components/settings/office-contact-card";
import { ProcedureTimeslotCard } from "@/components/settings/procedure-timeslot-card";
import { InsuranceContactCard } from "@/components/settings/insurance-contact-card";
+import { AiChatSettingsCard } from "@/components/settings/ai-chat-settings-card";
type SectionId =
| "staff"
@@ -29,6 +30,7 @@ type SectionId =
| "programs"
| "twilio"
| "ai"
+ | "aichat"
| "officehours"
| "officecontact"
| "proceduretimeslot"
@@ -259,6 +261,9 @@ export default function SettingsPage() {
case "ai":
return ;
+ case "aichat":
+ return ;
+
case "officehours":
return ;
diff --git a/packages/db/generated/prisma/edge.js b/packages/db/generated/prisma/edge.js
index 9aa6d2eb..b230d8c5 100644
--- a/packages/db/generated/prisma/edge.js
+++ b/packages/db/generated/prisma/edge.js
@@ -117,6 +117,7 @@ exports.Prisma.PatientScalarFieldEnum = {
policyHolder: 'policyHolder',
allergies: 'allergies',
medicalConditions: 'medicalConditions',
+ preferredLanguage: 'preferredLanguage',
status: 'status',
userId: 'userId',
createdAt: 'createdAt',
@@ -404,6 +405,7 @@ exports.Prisma.OfficeHoursScalarFieldEnum = {
exports.Prisma.OfficeContactScalarFieldEnum = {
id: 'id',
userId: 'userId',
+ officeName: 'officeName',
receptionistName: 'receptionistName',
dentistName: 'dentistName',
phoneNumber: 'phoneNumber',
@@ -411,6 +413,14 @@ exports.Prisma.OfficeContactScalarFieldEnum = {
fax: 'fax'
};
+exports.Prisma.InsuranceContactScalarFieldEnum = {
+ id: 'id',
+ userId: 'userId',
+ name: 'name',
+ phoneNumber: 'phoneNumber',
+ createdAt: 'createdAt'
+};
+
exports.Prisma.ProcedureTimeslotScalarFieldEnum = {
id: 'id',
userId: 'userId',
@@ -563,6 +573,7 @@ exports.Prisma.ModelName = {
AiSettings: 'AiSettings',
OfficeHours: 'OfficeHours',
OfficeContact: 'OfficeContact',
+ InsuranceContact: 'InsuranceContact',
ProcedureTimeslot: 'ProcedureTimeslot'
};
/**
@@ -573,14 +584,14 @@ const config = {
"clientVersion": "7.4.1",
"engineVersion": "55ae170b1ced7fc6ed07a15f110549408c501bb3",
"activeProvider": "postgresql",
- "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n}\n\ngenerator zod {\n provider = \"prisma-zod-generator\"\n output = \"../shared/\" // Zod schemas will be generated here inside `db/shared`\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n username String @unique\n password String\n autoBackupEnabled Boolean @default(true)\n usbBackupEnabled Boolean @default(false)\n patients Patient[]\n appointments Appointment[]\n staff Staff[]\n npiProviders NpiProvider[]\n claims Claim[]\n insuranceCredentials InsuranceCredential[]\n updatedPayments Payment[] @relation(\"PaymentUpdatedBy\")\n backups DatabaseBackup[]\n backupDestinations BackupDestination[]\n notifications Notification[]\n cloudFolders CloudFolder[]\n cloudFiles CloudFile[]\n communications Communication[]\n twilioSettings TwilioSettings?\n aiSettings AiSettings?\n officeHours OfficeHours?\n officeContact OfficeContact?\n procedureTimeslot ProcedureTimeslot?\n}\n\nmodel Patient {\n id Int @id @default(autoincrement())\n firstName String\n lastName String\n dateOfBirth DateTime? @db.Date\n gender String\n phone String\n email String?\n address String?\n city String?\n zipCode String?\n insuranceProvider String?\n insuranceId String?\n groupNumber String?\n policyHolder String?\n allergies String?\n medicalConditions String?\n status PatientStatus @default(UNKNOWN)\n userId Int\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n user User @relation(fields: [userId], references: [id])\n appointments Appointment[]\n procedures AppointmentProcedure[]\n claims Claim[]\n groups PdfGroup[]\n payment Payment[]\n communications Communication[]\n documents PatientDocument[]\n\n @@index([insuranceId])\n @@index([createdAt])\n}\n\nenum PatientStatus {\n ACTIVE\n INACTIVE\n UNKNOWN\n PLAN_NOT_ACCEPTED\n}\n\nmodel Appointment {\n id Int @id @default(autoincrement())\n patientId Int\n userId Int\n staffId Int\n title String\n date DateTime @db.Date\n startTime String // Store time as \"hh:mm\"\n endTime String // Store time as \"hh:mm\"\n type String // e.g., \"checkup\", \"cleaning\", \"filling\", etc.\n notes String?\n procedureCodeNotes String?\n status String @default(\"scheduled\") // \"scheduled\", \"completed\", \"cancelled\", \"no-show\"\n createdAt DateTime @default(now())\n\n eligibilityStatus PatientStatus @default(UNKNOWN)\n\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n user User @relation(fields: [userId], references: [id])\n staff Staff? @relation(fields: [staffId], references: [id])\n procedures AppointmentProcedure[]\n claims Claim[]\n files AppointmentFile[]\n\n @@index([patientId])\n @@index([date])\n}\n\nmodel AppointmentFile {\n id Int @id @default(autoincrement())\n appointmentId Int\n filename String\n mimeType String?\n filePath String?\n\n appointment Appointment @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n\n @@index([appointmentId])\n}\n\nmodel Staff {\n id Int @id @default(autoincrement())\n userId Int\n name String\n email String?\n role String // e.g., \"Dentist\", \"Hygienist\", \"Assistant\"\n phone String?\n createdAt DateTime @default(now())\n user User? @relation(fields: [userId], references: [id], onDelete: Cascade)\n appointments Appointment[]\n claims Claim[] @relation(\"ClaimStaff\")\n}\n\nmodel NpiProvider {\n id Int @id @default(autoincrement())\n userId Int\n npiNumber String\n providerName String\n createdAt DateTime @default(now())\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n claims Claim[]\n appointmentProcedures AppointmentProcedure[]\n\n @@unique([userId, npiNumber])\n @@index([userId])\n}\n\nenum ProcedureSource {\n COMBO\n MANUAL\n}\n\nmodel AppointmentProcedure {\n id Int @id @default(autoincrement())\n appointmentId Int\n patientId Int\n npiProviderId Int?\n\n procedureCode String\n procedureLabel String?\n fee Decimal? @db.Decimal(10, 2)\n\n category String?\n\n toothNumber String?\n toothSurface String?\n oralCavityArea String?\n\n source ProcedureSource @default(MANUAL)\n comboKey String?\n\n createdAt DateTime @default(now())\n\n appointment Appointment @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n npiProvider NpiProvider? @relation(fields: [npiProviderId], references: [id])\n\n @@index([appointmentId])\n @@index([patientId])\n}\n\nmodel Claim {\n id Int @id @default(autoincrement())\n patientId Int\n appointmentId Int\n userId Int\n staffId Int\n patientName String\n memberId String\n dateOfBirth DateTime @db.Date\n remarks String\n missingTeethStatus MissingTeethStatus @default(No_missing)\n missingTeeth Json? // { \"T_14\": \"X\", \"T_G\": \"O\", ... }\n serviceDate DateTime\n insuranceProvider String // e.g., \"Delta MA\"\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n status ClaimStatus @default(PENDING)\n claimNumber String?\n npiProviderId Int?\n\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n appointment Appointment @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n user User? @relation(fields: [userId], references: [id])\n staff Staff? @relation(\"ClaimStaff\", fields: [staffId], references: [id])\n npiProvider NpiProvider? @relation(fields: [npiProviderId], references: [id])\n\n serviceLines ServiceLine[]\n claimFiles ClaimFile[]\n payment Payment?\n}\n\nenum ClaimStatus {\n PENDING\n APPROVED\n CANCELLED\n REVIEW\n VOID\n}\n\nenum MissingTeethStatus {\n No_missing\n endentulous\n Yes_missing\n}\n\nmodel ServiceLine {\n id Int @id @default(autoincrement())\n claimId Int?\n paymentId Int?\n procedureCode String\n procedureDate DateTime @db.Date\n quad String?\n arch String?\n toothNumber String?\n toothSurface String?\n icn String?\n paidCode String?\n allowedAmount Decimal? @db.Decimal(10, 2)\n totalBilled Decimal @db.Decimal(10, 2)\n totalPaid Decimal @default(0.00) @db.Decimal(10, 2)\n totalAdjusted Decimal @default(0.00) @db.Decimal(10, 2)\n totalDue Decimal @default(0.00) @db.Decimal(10, 2)\n status ServiceLineStatus @default(UNPAID)\n\n claim Claim? @relation(fields: [claimId], references: [id], onDelete: Cascade)\n payment Payment? @relation(fields: [paymentId], references: [id], onDelete: Cascade)\n\n serviceLineTransactions ServiceLineTransaction[]\n}\n\nenum ServiceLineStatus {\n PENDING\n PARTIALLY_PAID\n PAID\n UNPAID\n ADJUSTED\n OVERPAID\n DENIED\n}\n\nmodel ClaimFile {\n id Int @id @default(autoincrement())\n claimId Int\n filename String\n mimeType String\n filePath String?\n\n claim Claim @relation(fields: [claimId], references: [id], onDelete: Cascade)\n}\n\nmodel InsuranceCredential {\n id Int @id @default(autoincrement())\n userId Int\n siteKey String\n username String\n password String\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([userId, siteKey])\n @@index([userId])\n}\n\nmodel PdfGroup {\n id Int @id @default(autoincrement())\n title String\n titleKey PdfTitleKey @default(OTHER)\n createdAt DateTime @default(now())\n patientId Int\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n pdfs PdfFile[]\n\n @@index([patientId])\n @@index([titleKey])\n}\n\nmodel PdfFile {\n id Int @id @default(autoincrement())\n filename String\n pdfData Bytes\n uploadedAt DateTime @default(now())\n groupId Int\n group PdfGroup @relation(fields: [groupId], references: [id], onDelete: Cascade)\n\n @@index([groupId])\n}\n\nenum PdfTitleKey {\n INSURANCE_CLAIM\n INSURANCE_CLAIM_PREAUTH\n ELIGIBILITY_STATUS\n CLAIM_STATUS\n OTHER\n}\n\nmodel Payment {\n id Int @id @default(autoincrement())\n claimId Int? @unique\n patientId Int\n userId Int\n updatedById Int?\n totalBilled Decimal @db.Decimal(10, 2)\n totalPaid Decimal @default(0.00) @db.Decimal(10, 2)\n totalAdjusted Decimal @default(0.00) @db.Decimal(10, 2)\n totalDue Decimal @db.Decimal(10, 2)\n mhPaidAmount Decimal? @db.Decimal(10, 2)\n copayment Decimal @default(0.00) @db.Decimal(10, 2)\n adjustment Decimal @default(0.00) @db.Decimal(10, 2)\n status PaymentStatus @default(PENDING)\n notes String?\n icn String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n claim Claim? @relation(fields: [claimId], references: [id], onDelete: Cascade)\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n updatedBy User? @relation(\"PaymentUpdatedBy\", fields: [updatedById], references: [id])\n serviceLineTransactions ServiceLineTransaction[]\n serviceLines ServiceLine[]\n\n @@index([claimId])\n @@index([patientId])\n @@index([createdAt])\n}\n\nmodel ServiceLineTransaction {\n id Int @id @default(autoincrement())\n paymentId Int\n serviceLineId Int\n transactionId String?\n paidAmount Decimal @db.Decimal(10, 2)\n adjustedAmount Decimal @default(0.00) @db.Decimal(10, 2)\n method PaymentMethod\n receivedDate DateTime\n payerName String?\n notes String?\n createdAt DateTime @default(now())\n\n payment Payment @relation(fields: [paymentId], references: [id], onDelete: Cascade)\n serviceLine ServiceLine @relation(fields: [serviceLineId], references: [id], onDelete: Cascade)\n\n @@index([paymentId])\n @@index([serviceLineId])\n}\n\nenum PaymentStatus {\n PENDING\n PARTIALLY_PAID\n PAID\n OVERPAID\n DENIED\n VOID\n}\n\nenum PaymentMethod {\n EFT\n CHECK\n CASH\n CARD\n OTHER\n}\n\n// Database management page\nmodel DatabaseBackup {\n id Int @id @default(autoincrement())\n userId Int\n createdAt DateTime @default(now())\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@index([userId])\n @@index([createdAt])\n}\n\nmodel BackupDestination {\n id Int @id @default(autoincrement())\n userId Int\n path String\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n\n user User @relation(fields: [userId], references: [id])\n}\n\nmodel Notification {\n id Int @id @default(autoincrement())\n userId Int\n type NotificationTypes\n message String\n createdAt DateTime @default(now())\n read Boolean @default(false)\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@index([userId])\n @@index([createdAt])\n}\n\nenum NotificationTypes {\n BACKUP\n CLAIM\n PAYMENT\n ETC\n}\n\n// Cron job execution log\nmodel CronJobLog {\n id Int @id @default(autoincrement())\n jobName String // e.g. \"local-backup\", \"usb-backup\"\n status String // \"success\" | \"failed\" | \"skipped\"\n startedAt DateTime\n completedAt DateTime?\n durationMs Int?\n errorMessage String?\n\n @@index([jobName])\n @@index([startedAt])\n @@index([status])\n}\n\nmodel CloudFolder {\n id Int @id @default(autoincrement())\n userId Int\n name String\n parentId Int?\n parent CloudFolder? @relation(\"FolderChildren\", fields: [parentId], references: [id], onDelete: Cascade)\n children CloudFolder[] @relation(\"FolderChildren\")\n user User @relation(fields: [userId], references: [id])\n files CloudFile[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([userId, parentId, name]) // prevents sibling folder name duplicates\n @@index([parentId])\n}\n\nmodel CloudFile {\n id Int @id @default(autoincrement())\n userId Int\n name String\n mimeType String?\n fileSize BigInt @db.BigInt\n folderId Int? // optional: null => root\n isComplete Boolean @default(false) // upload completed?\n totalChunks Int? // optional: expected number of chunks\n diskPath String? // relative path on disk under uploads/\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n user User @relation(fields: [userId], references: [id])\n folder CloudFolder? @relation(fields: [folderId], references: [id], onDelete: SetNull)\n\n chunks CloudFileChunk[]\n\n @@index([folderId])\n}\n\nmodel CloudFileChunk {\n id Int @id @default(autoincrement())\n fileId Int\n seq Int\n data Bytes\n createdAt DateTime @default(now())\n\n file CloudFile @relation(fields: [fileId], references: [id], onDelete: Cascade)\n\n @@unique([fileId, seq])\n @@index([fileId, seq])\n}\n\n// patient-connection-\nenum CommunicationChannel {\n sms\n voice\n}\n\nenum CommunicationDirection {\n outbound\n inbound\n}\n\nenum CommunicationStatus {\n queued\n sent\n delivered\n failed\n completed\n busy\n no_answer\n}\n\nmodel Communication {\n id Int @id @default(autoincrement())\n patientId Int\n userId Int?\n\n channel CommunicationChannel\n direction CommunicationDirection\n status CommunicationStatus\n\n body String?\n callDuration Int?\n twilioSid String?\n\n createdAt DateTime @default(now())\n\n // Relations\n patient Patient @relation(fields: [patientId], references: [id])\n user User? @relation(fields: [userId], references: [id])\n\n @@map(\"communications\")\n}\n\nmodel PatientDocument {\n id Int @id @default(autoincrement())\n patientId Int\n filename String\n originalName String\n mimeType String\n fileSize BigInt\n filePath String\n uploadedAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n\n @@index([patientId])\n @@index([uploadedAt])\n}\n\nmodel TwilioSettings {\n id Int @id @default(autoincrement())\n userId Int @unique\n accountSid String\n authToken String\n phoneNumber String\n greetingMessage String?\n templates Json?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"twilio_settings\")\n}\n\nmodel AiSettings {\n id Int @id @default(autoincrement())\n userId Int @unique\n apiKey String\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"ai_settings\")\n}\n\nmodel OfficeHours {\n id Int @id @default(autoincrement())\n userId Int @unique\n data Json\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"office_hours\")\n}\n\nmodel OfficeContact {\n id Int @id @default(autoincrement())\n userId Int @unique\n receptionistName String?\n dentistName String?\n phoneNumber String?\n email String?\n fax String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"office_contact\")\n}\n\nmodel ProcedureTimeslot {\n id Int @id @default(autoincrement())\n userId Int @unique\n data Json\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"procedure_timeslot\")\n}\n"
+ "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?\n// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../generated/prisma\"\n}\n\ngenerator zod {\n provider = \"prisma-zod-generator\"\n output = \"../shared/\" // Zod schemas will be generated here inside `db/shared`\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n username String @unique\n password String\n autoBackupEnabled Boolean @default(true)\n usbBackupEnabled Boolean @default(false)\n patients Patient[]\n appointments Appointment[]\n staff Staff[]\n npiProviders NpiProvider[]\n claims Claim[]\n insuranceCredentials InsuranceCredential[]\n updatedPayments Payment[] @relation(\"PaymentUpdatedBy\")\n backups DatabaseBackup[]\n backupDestinations BackupDestination[]\n notifications Notification[]\n cloudFolders CloudFolder[]\n cloudFiles CloudFile[]\n communications Communication[]\n twilioSettings TwilioSettings?\n aiSettings AiSettings?\n officeHours OfficeHours?\n officeContact OfficeContact?\n procedureTimeslot ProcedureTimeslot?\n insuranceContacts InsuranceContact[]\n}\n\nmodel Patient {\n id Int @id @default(autoincrement())\n firstName String\n lastName String\n dateOfBirth DateTime? @db.Date\n gender String\n phone String\n email String?\n address String?\n city String?\n zipCode String?\n insuranceProvider String?\n insuranceId String?\n groupNumber String?\n policyHolder String?\n allergies String?\n medicalConditions String?\n preferredLanguage String? @default(\"English\")\n status PatientStatus @default(UNKNOWN)\n userId Int\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n user User @relation(fields: [userId], references: [id])\n appointments Appointment[]\n procedures AppointmentProcedure[]\n claims Claim[]\n groups PdfGroup[]\n payment Payment[]\n communications Communication[]\n documents PatientDocument[]\n\n @@index([insuranceId])\n @@index([createdAt])\n}\n\nenum PatientStatus {\n ACTIVE\n INACTIVE\n UNKNOWN\n PLAN_NOT_ACCEPTED\n}\n\nmodel Appointment {\n id Int @id @default(autoincrement())\n patientId Int\n userId Int\n staffId Int\n title String\n date DateTime @db.Date\n startTime String // Store time as \"hh:mm\"\n endTime String // Store time as \"hh:mm\"\n type String // e.g., \"checkup\", \"cleaning\", \"filling\", etc.\n notes String?\n procedureCodeNotes String?\n status String @default(\"scheduled\") // \"scheduled\", \"completed\", \"cancelled\", \"no-show\"\n createdAt DateTime @default(now())\n\n eligibilityStatus PatientStatus @default(UNKNOWN)\n\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n user User @relation(fields: [userId], references: [id])\n staff Staff? @relation(fields: [staffId], references: [id])\n procedures AppointmentProcedure[]\n claims Claim[]\n files AppointmentFile[]\n\n @@index([patientId])\n @@index([date])\n}\n\nmodel AppointmentFile {\n id Int @id @default(autoincrement())\n appointmentId Int\n filename String\n mimeType String?\n filePath String?\n\n appointment Appointment @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n\n @@index([appointmentId])\n}\n\nmodel Staff {\n id Int @id @default(autoincrement())\n userId Int\n name String\n email String?\n role String // e.g., \"Dentist\", \"Hygienist\", \"Assistant\"\n phone String?\n createdAt DateTime @default(now())\n user User? @relation(fields: [userId], references: [id], onDelete: Cascade)\n appointments Appointment[]\n claims Claim[] @relation(\"ClaimStaff\")\n}\n\nmodel NpiProvider {\n id Int @id @default(autoincrement())\n userId Int\n npiNumber String\n providerName String\n createdAt DateTime @default(now())\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n claims Claim[]\n appointmentProcedures AppointmentProcedure[]\n\n @@unique([userId, npiNumber])\n @@index([userId])\n}\n\nenum ProcedureSource {\n COMBO\n MANUAL\n}\n\nmodel AppointmentProcedure {\n id Int @id @default(autoincrement())\n appointmentId Int\n patientId Int\n npiProviderId Int?\n\n procedureCode String\n procedureLabel String?\n fee Decimal? @db.Decimal(10, 2)\n\n category String?\n\n toothNumber String?\n toothSurface String?\n oralCavityArea String?\n\n source ProcedureSource @default(MANUAL)\n comboKey String?\n\n createdAt DateTime @default(now())\n\n appointment Appointment @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n npiProvider NpiProvider? @relation(fields: [npiProviderId], references: [id])\n\n @@index([appointmentId])\n @@index([patientId])\n}\n\nmodel Claim {\n id Int @id @default(autoincrement())\n patientId Int\n appointmentId Int\n userId Int\n staffId Int\n patientName String\n memberId String\n dateOfBirth DateTime @db.Date\n remarks String\n missingTeethStatus MissingTeethStatus @default(No_missing)\n missingTeeth Json? // { \"T_14\": \"X\", \"T_G\": \"O\", ... }\n serviceDate DateTime\n insuranceProvider String // e.g., \"Delta MA\"\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n status ClaimStatus @default(PENDING)\n claimNumber String?\n npiProviderId Int?\n\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n appointment Appointment @relation(fields: [appointmentId], references: [id], onDelete: Cascade)\n user User? @relation(fields: [userId], references: [id])\n staff Staff? @relation(\"ClaimStaff\", fields: [staffId], references: [id])\n npiProvider NpiProvider? @relation(fields: [npiProviderId], references: [id])\n\n serviceLines ServiceLine[]\n claimFiles ClaimFile[]\n payment Payment?\n}\n\nenum ClaimStatus {\n PENDING\n APPROVED\n CANCELLED\n REVIEW\n VOID\n}\n\nenum MissingTeethStatus {\n No_missing\n endentulous\n Yes_missing\n}\n\nmodel ServiceLine {\n id Int @id @default(autoincrement())\n claimId Int?\n paymentId Int?\n procedureCode String\n procedureDate DateTime @db.Date\n quad String?\n arch String?\n toothNumber String?\n toothSurface String?\n icn String?\n paidCode String?\n allowedAmount Decimal? @db.Decimal(10, 2)\n totalBilled Decimal @db.Decimal(10, 2)\n totalPaid Decimal @default(0.00) @db.Decimal(10, 2)\n totalAdjusted Decimal @default(0.00) @db.Decimal(10, 2)\n totalDue Decimal @default(0.00) @db.Decimal(10, 2)\n status ServiceLineStatus @default(UNPAID)\n\n claim Claim? @relation(fields: [claimId], references: [id], onDelete: Cascade)\n payment Payment? @relation(fields: [paymentId], references: [id], onDelete: Cascade)\n\n serviceLineTransactions ServiceLineTransaction[]\n}\n\nenum ServiceLineStatus {\n PENDING\n PARTIALLY_PAID\n PAID\n UNPAID\n ADJUSTED\n OVERPAID\n DENIED\n}\n\nmodel ClaimFile {\n id Int @id @default(autoincrement())\n claimId Int\n filename String\n mimeType String\n filePath String?\n\n claim Claim @relation(fields: [claimId], references: [id], onDelete: Cascade)\n}\n\nmodel InsuranceCredential {\n id Int @id @default(autoincrement())\n userId Int\n siteKey String\n username String\n password String\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([userId, siteKey])\n @@index([userId])\n}\n\nmodel PdfGroup {\n id Int @id @default(autoincrement())\n title String\n titleKey PdfTitleKey @default(OTHER)\n createdAt DateTime @default(now())\n patientId Int\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n pdfs PdfFile[]\n\n @@index([patientId])\n @@index([titleKey])\n}\n\nmodel PdfFile {\n id Int @id @default(autoincrement())\n filename String\n pdfData Bytes\n uploadedAt DateTime @default(now())\n groupId Int\n group PdfGroup @relation(fields: [groupId], references: [id], onDelete: Cascade)\n\n @@index([groupId])\n}\n\nenum PdfTitleKey {\n INSURANCE_CLAIM\n INSURANCE_CLAIM_PREAUTH\n ELIGIBILITY_STATUS\n CLAIM_STATUS\n OTHER\n}\n\nmodel Payment {\n id Int @id @default(autoincrement())\n claimId Int? @unique\n patientId Int\n userId Int\n updatedById Int?\n totalBilled Decimal @db.Decimal(10, 2)\n totalPaid Decimal @default(0.00) @db.Decimal(10, 2)\n totalAdjusted Decimal @default(0.00) @db.Decimal(10, 2)\n totalDue Decimal @db.Decimal(10, 2)\n mhPaidAmount Decimal? @db.Decimal(10, 2)\n copayment Decimal @default(0.00) @db.Decimal(10, 2)\n adjustment Decimal @default(0.00) @db.Decimal(10, 2)\n status PaymentStatus @default(PENDING)\n notes String?\n icn String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n claim Claim? @relation(fields: [claimId], references: [id], onDelete: Cascade)\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n updatedBy User? @relation(\"PaymentUpdatedBy\", fields: [updatedById], references: [id])\n serviceLineTransactions ServiceLineTransaction[]\n serviceLines ServiceLine[]\n\n @@index([claimId])\n @@index([patientId])\n @@index([createdAt])\n}\n\nmodel ServiceLineTransaction {\n id Int @id @default(autoincrement())\n paymentId Int\n serviceLineId Int\n transactionId String?\n paidAmount Decimal @db.Decimal(10, 2)\n adjustedAmount Decimal @default(0.00) @db.Decimal(10, 2)\n method PaymentMethod\n receivedDate DateTime\n payerName String?\n notes String?\n createdAt DateTime @default(now())\n\n payment Payment @relation(fields: [paymentId], references: [id], onDelete: Cascade)\n serviceLine ServiceLine @relation(fields: [serviceLineId], references: [id], onDelete: Cascade)\n\n @@index([paymentId])\n @@index([serviceLineId])\n}\n\nenum PaymentStatus {\n PENDING\n PARTIALLY_PAID\n PAID\n OVERPAID\n DENIED\n VOID\n}\n\nenum PaymentMethod {\n EFT\n CHECK\n CASH\n CARD\n OTHER\n}\n\n// Database management page\nmodel DatabaseBackup {\n id Int @id @default(autoincrement())\n userId Int\n createdAt DateTime @default(now())\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@index([userId])\n @@index([createdAt])\n}\n\nmodel BackupDestination {\n id Int @id @default(autoincrement())\n userId Int\n path String\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n\n user User @relation(fields: [userId], references: [id])\n}\n\nmodel Notification {\n id Int @id @default(autoincrement())\n userId Int\n type NotificationTypes\n message String\n createdAt DateTime @default(now())\n read Boolean @default(false)\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@index([userId])\n @@index([createdAt])\n}\n\nenum NotificationTypes {\n BACKUP\n CLAIM\n PAYMENT\n ETC\n}\n\n// Cron job execution log\nmodel CronJobLog {\n id Int @id @default(autoincrement())\n jobName String // e.g. \"local-backup\", \"usb-backup\"\n status String // \"success\" | \"failed\" | \"skipped\"\n startedAt DateTime\n completedAt DateTime?\n durationMs Int?\n errorMessage String?\n\n @@index([jobName])\n @@index([startedAt])\n @@index([status])\n}\n\nmodel CloudFolder {\n id Int @id @default(autoincrement())\n userId Int\n name String\n parentId Int?\n parent CloudFolder? @relation(\"FolderChildren\", fields: [parentId], references: [id], onDelete: Cascade)\n children CloudFolder[] @relation(\"FolderChildren\")\n user User @relation(fields: [userId], references: [id])\n files CloudFile[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([userId, parentId, name]) // prevents sibling folder name duplicates\n @@index([parentId])\n}\n\nmodel CloudFile {\n id Int @id @default(autoincrement())\n userId Int\n name String\n mimeType String?\n fileSize BigInt @db.BigInt\n folderId Int? // optional: null => root\n isComplete Boolean @default(false) // upload completed?\n totalChunks Int? // optional: expected number of chunks\n diskPath String? // relative path on disk under uploads/\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n user User @relation(fields: [userId], references: [id])\n folder CloudFolder? @relation(fields: [folderId], references: [id], onDelete: SetNull)\n\n chunks CloudFileChunk[]\n\n @@index([folderId])\n}\n\nmodel CloudFileChunk {\n id Int @id @default(autoincrement())\n fileId Int\n seq Int\n data Bytes\n createdAt DateTime @default(now())\n\n file CloudFile @relation(fields: [fileId], references: [id], onDelete: Cascade)\n\n @@unique([fileId, seq])\n @@index([fileId, seq])\n}\n\n// patient-connection-\nenum CommunicationChannel {\n sms\n voice\n}\n\nenum CommunicationDirection {\n outbound\n inbound\n}\n\nenum CommunicationStatus {\n queued\n sent\n delivered\n failed\n completed\n busy\n no_answer\n}\n\nmodel Communication {\n id Int @id @default(autoincrement())\n patientId Int\n userId Int?\n\n channel CommunicationChannel\n direction CommunicationDirection\n status CommunicationStatus\n\n body String?\n callDuration Int?\n twilioSid String?\n\n createdAt DateTime @default(now())\n\n // Relations\n patient Patient @relation(fields: [patientId], references: [id])\n user User? @relation(fields: [userId], references: [id])\n\n @@map(\"communications\")\n}\n\nmodel PatientDocument {\n id Int @id @default(autoincrement())\n patientId Int\n filename String\n originalName String\n mimeType String\n fileSize BigInt\n filePath String\n uploadedAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n patient Patient @relation(fields: [patientId], references: [id], onDelete: Cascade)\n\n @@index([patientId])\n @@index([uploadedAt])\n}\n\nmodel TwilioSettings {\n id Int @id @default(autoincrement())\n userId Int @unique\n accountSid String\n authToken String\n phoneNumber String\n greetingMessage String?\n templates Json?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"twilio_settings\")\n}\n\nmodel AiSettings {\n id Int @id @default(autoincrement())\n userId Int @unique\n apiKey String\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"ai_settings\")\n}\n\nmodel OfficeHours {\n id Int @id @default(autoincrement())\n userId Int @unique\n data Json\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"office_hours\")\n}\n\nmodel OfficeContact {\n id Int @id @default(autoincrement())\n userId Int @unique\n officeName String?\n receptionistName String?\n dentistName String?\n phoneNumber String?\n email String?\n fax String?\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"office_contact\")\n}\n\nmodel InsuranceContact {\n id Int @id @default(autoincrement())\n userId Int\n name String\n phoneNumber String?\n createdAt DateTime @default(now())\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"insurance_contact\")\n}\n\nmodel ProcedureTimeslot {\n id Int @id @default(autoincrement())\n userId Int @unique\n data Json\n\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@map(\"procedure_timeslot\")\n}\n"
}
-config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"autoBackupEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"usbBackupEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"patients\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"StaffToUser\"},{\"name\":\"npiProviders\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"NpiProviderToUser\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToUser\"},{\"name\":\"insuranceCredentials\",\"kind\":\"object\",\"type\":\"InsuranceCredential\",\"relationName\":\"InsuranceCredentialToUser\"},{\"name\":\"updatedPayments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentUpdatedBy\"},{\"name\":\"backups\",\"kind\":\"object\",\"type\":\"DatabaseBackup\",\"relationName\":\"DatabaseBackupToUser\"},{\"name\":\"backupDestinations\",\"kind\":\"object\",\"type\":\"BackupDestination\",\"relationName\":\"BackupDestinationToUser\"},{\"name\":\"notifications\",\"kind\":\"object\",\"type\":\"Notification\",\"relationName\":\"NotificationToUser\"},{\"name\":\"cloudFolders\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"CloudFolderToUser\"},{\"name\":\"cloudFiles\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToUser\"},{\"name\":\"communications\",\"kind\":\"object\",\"type\":\"Communication\",\"relationName\":\"CommunicationToUser\"},{\"name\":\"twilioSettings\",\"kind\":\"object\",\"type\":\"TwilioSettings\",\"relationName\":\"TwilioSettingsToUser\"},{\"name\":\"aiSettings\",\"kind\":\"object\",\"type\":\"AiSettings\",\"relationName\":\"AiSettingsToUser\"},{\"name\":\"officeHours\",\"kind\":\"object\",\"type\":\"OfficeHours\",\"relationName\":\"OfficeHoursToUser\"},{\"name\":\"officeContact\",\"kind\":\"object\",\"type\":\"OfficeContact\",\"relationName\":\"OfficeContactToUser\"},{\"name\":\"procedureTimeslot\",\"kind\":\"object\",\"type\":\"ProcedureTimeslot\",\"relationName\":\"ProcedureTimeslotToUser\"}],\"dbName\":null},\"Patient\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dateOfBirth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"insuranceProvider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"insuranceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"groupNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"policyHolder\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"allergies\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"medicalConditions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PatientStatus\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PatientToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToPatient\"},{\"name\":\"procedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentProcedureToPatient\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToPatient\"},{\"name\":\"groups\",\"kind\":\"object\",\"type\":\"PdfGroup\",\"relationName\":\"PatientToPdfGroup\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PatientToPayment\"},{\"name\":\"communications\",\"kind\":\"object\",\"type\":\"Communication\",\"relationName\":\"CommunicationToPatient\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"PatientDocument\",\"relationName\":\"PatientToPatientDocument\"}],\"dbName\":null},\"Appointment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"staffId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"startTime\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"endTime\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureCodeNotes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"eligibilityStatus\",\"kind\":\"enum\",\"type\":\"PatientStatus\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"AppointmentToPatient\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AppointmentToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"AppointmentToStaff\"},{\"name\":\"procedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentToAppointmentProcedure\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"AppointmentToClaim\"},{\"name\":\"files\",\"kind\":\"object\",\"type\":\"AppointmentFile\",\"relationName\":\"AppointmentToAppointmentFile\"}],\"dbName\":null},\"AppointmentFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToAppointmentFile\"}],\"dbName\":null},\"Staff\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"StaffToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToStaff\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimStaff\"}],\"dbName\":null},\"NpiProvider\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"npiNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NpiProviderToUser\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToNpiProvider\"},{\"name\":\"appointmentProcedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentProcedureToNpiProvider\"}],\"dbName\":null},\"AppointmentProcedure\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"npiProviderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"procedureCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureLabel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fee\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"category\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothSurface\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"oralCavityArea\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"enum\",\"type\":\"ProcedureSource\"},{\"name\":\"comboKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToAppointmentProcedure\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"AppointmentProcedureToPatient\"},{\"name\":\"npiProvider\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"AppointmentProcedureToNpiProvider\"}],\"dbName\":null},\"Claim\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"staffId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dateOfBirth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"remarks\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"missingTeethStatus\",\"kind\":\"enum\",\"type\":\"MissingTeethStatus\"},{\"name\":\"missingTeeth\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"serviceDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"insuranceProvider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ClaimStatus\"},{\"name\":\"claimNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"npiProviderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"ClaimToPatient\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToClaim\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ClaimToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"ClaimStaff\"},{\"name\":\"npiProvider\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"ClaimToNpiProvider\"},{\"name\":\"serviceLines\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"ClaimToServiceLine\"},{\"name\":\"claimFiles\",\"kind\":\"object\",\"type\":\"ClaimFile\",\"relationName\":\"ClaimToClaimFile\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"ClaimToPayment\"}],\"dbName\":null},\"ServiceLine\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"paymentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"procedureCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"quad\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"arch\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothSurface\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icn\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paidCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"allowedAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalBilled\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalPaid\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalAdjusted\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalDue\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ServiceLineStatus\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToServiceLine\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToServiceLine\"},{\"name\":\"serviceLineTransactions\",\"kind\":\"object\",\"type\":\"ServiceLineTransaction\",\"relationName\":\"ServiceLineToServiceLineTransaction\"}],\"dbName\":null},\"ClaimFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToClaimFile\"}],\"dbName\":null},\"InsuranceCredential\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"siteKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InsuranceCredentialToUser\"}],\"dbName\":null},\"PdfGroup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"titleKey\",\"kind\":\"enum\",\"type\":\"PdfTitleKey\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPdfGroup\"},{\"name\":\"pdfs\",\"kind\":\"object\",\"type\":\"PdfFile\",\"relationName\":\"PdfFileToPdfGroup\"}],\"dbName\":null},\"PdfFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pdfData\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"uploadedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"groupId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"group\",\"kind\":\"object\",\"type\":\"PdfGroup\",\"relationName\":\"PdfFileToPdfGroup\"}],\"dbName\":null},\"Payment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"totalBilled\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalPaid\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalAdjusted\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalDue\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"mhPaidAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"copayment\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"adjustment\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PaymentStatus\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icn\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToPayment\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPayment\"},{\"name\":\"updatedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaymentUpdatedBy\"},{\"name\":\"serviceLineTransactions\",\"kind\":\"object\",\"type\":\"ServiceLineTransaction\",\"relationName\":\"PaymentToServiceLineTransaction\"},{\"name\":\"serviceLines\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"PaymentToServiceLine\"}],\"dbName\":null},\"ServiceLineTransaction\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"paymentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"serviceLineId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"transactionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paidAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"adjustedAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"method\",\"kind\":\"enum\",\"type\":\"PaymentMethod\"},{\"name\":\"receivedDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payerName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToServiceLineTransaction\"},{\"name\":\"serviceLine\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"ServiceLineToServiceLineTransaction\"}],\"dbName\":null},\"DatabaseBackup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DatabaseBackupToUser\"}],\"dbName\":null},\"BackupDestination\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"BackupDestinationToUser\"}],\"dbName\":null},\"Notification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"NotificationTypes\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"read\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotificationToUser\"}],\"dbName\":null},\"CronJobLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"jobName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"CloudFolder\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"FolderChildren\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"FolderChildren\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CloudFolderToUser\"},{\"name\":\"files\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToCloudFolder\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CloudFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"folderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isComplete\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"totalChunks\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"diskPath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CloudFileToUser\"},{\"name\":\"folder\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"CloudFileToCloudFolder\"},{\"name\":\"chunks\",\"kind\":\"object\",\"type\":\"CloudFileChunk\",\"relationName\":\"CloudFileToCloudFileChunk\"}],\"dbName\":null},\"CloudFileChunk\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"fileId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"seq\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"file\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToCloudFileChunk\"}],\"dbName\":null},\"Communication\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommunicationChannel\"},{\"name\":\"direction\",\"kind\":\"enum\",\"type\":\"CommunicationDirection\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"CommunicationStatus\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"callDuration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"twilioSid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"CommunicationToPatient\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CommunicationToUser\"}],\"dbName\":\"communications\"},\"PatientDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"originalName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uploadedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPatientDocument\"}],\"dbName\":null},\"TwilioSettings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accountSid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"authToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"greetingMessage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"templates\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TwilioSettingsToUser\"}],\"dbName\":\"twilio_settings\"},\"AiSettings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AiSettingsToUser\"}],\"dbName\":\"ai_settings\"},\"OfficeHours\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OfficeHoursToUser\"}],\"dbName\":\"office_hours\"},\"OfficeContact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"receptionistName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dentistName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fax\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OfficeContactToUser\"}],\"dbName\":\"office_contact\"},\"ProcedureTimeslot\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProcedureTimeslotToUser\"}],\"dbName\":\"procedure_timeslot\"}},\"enums\":{},\"types\":{}}")
+config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"autoBackupEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"usbBackupEnabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"patients\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"StaffToUser\"},{\"name\":\"npiProviders\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"NpiProviderToUser\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToUser\"},{\"name\":\"insuranceCredentials\",\"kind\":\"object\",\"type\":\"InsuranceCredential\",\"relationName\":\"InsuranceCredentialToUser\"},{\"name\":\"updatedPayments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentUpdatedBy\"},{\"name\":\"backups\",\"kind\":\"object\",\"type\":\"DatabaseBackup\",\"relationName\":\"DatabaseBackupToUser\"},{\"name\":\"backupDestinations\",\"kind\":\"object\",\"type\":\"BackupDestination\",\"relationName\":\"BackupDestinationToUser\"},{\"name\":\"notifications\",\"kind\":\"object\",\"type\":\"Notification\",\"relationName\":\"NotificationToUser\"},{\"name\":\"cloudFolders\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"CloudFolderToUser\"},{\"name\":\"cloudFiles\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToUser\"},{\"name\":\"communications\",\"kind\":\"object\",\"type\":\"Communication\",\"relationName\":\"CommunicationToUser\"},{\"name\":\"twilioSettings\",\"kind\":\"object\",\"type\":\"TwilioSettings\",\"relationName\":\"TwilioSettingsToUser\"},{\"name\":\"aiSettings\",\"kind\":\"object\",\"type\":\"AiSettings\",\"relationName\":\"AiSettingsToUser\"},{\"name\":\"officeHours\",\"kind\":\"object\",\"type\":\"OfficeHours\",\"relationName\":\"OfficeHoursToUser\"},{\"name\":\"officeContact\",\"kind\":\"object\",\"type\":\"OfficeContact\",\"relationName\":\"OfficeContactToUser\"},{\"name\":\"procedureTimeslot\",\"kind\":\"object\",\"type\":\"ProcedureTimeslot\",\"relationName\":\"ProcedureTimeslotToUser\"},{\"name\":\"insuranceContacts\",\"kind\":\"object\",\"type\":\"InsuranceContact\",\"relationName\":\"InsuranceContactToUser\"}],\"dbName\":null},\"Patient\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dateOfBirth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"gender\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"address\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"zipCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"insuranceProvider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"insuranceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"groupNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"policyHolder\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"allergies\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"medicalConditions\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"preferredLanguage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PatientStatus\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PatientToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToPatient\"},{\"name\":\"procedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentProcedureToPatient\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToPatient\"},{\"name\":\"groups\",\"kind\":\"object\",\"type\":\"PdfGroup\",\"relationName\":\"PatientToPdfGroup\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PatientToPayment\"},{\"name\":\"communications\",\"kind\":\"object\",\"type\":\"Communication\",\"relationName\":\"CommunicationToPatient\"},{\"name\":\"documents\",\"kind\":\"object\",\"type\":\"PatientDocument\",\"relationName\":\"PatientToPatientDocument\"}],\"dbName\":null},\"Appointment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"staffId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"startTime\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"endTime\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureCodeNotes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"eligibilityStatus\",\"kind\":\"enum\",\"type\":\"PatientStatus\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"AppointmentToPatient\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AppointmentToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"AppointmentToStaff\"},{\"name\":\"procedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentToAppointmentProcedure\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"AppointmentToClaim\"},{\"name\":\"files\",\"kind\":\"object\",\"type\":\"AppointmentFile\",\"relationName\":\"AppointmentToAppointmentFile\"}],\"dbName\":null},\"AppointmentFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToAppointmentFile\"}],\"dbName\":null},\"Staff\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"StaffToUser\"},{\"name\":\"appointments\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToStaff\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimStaff\"}],\"dbName\":null},\"NpiProvider\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"npiNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NpiProviderToUser\"},{\"name\":\"claims\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToNpiProvider\"},{\"name\":\"appointmentProcedures\",\"kind\":\"object\",\"type\":\"AppointmentProcedure\",\"relationName\":\"AppointmentProcedureToNpiProvider\"}],\"dbName\":null},\"AppointmentProcedure\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"npiProviderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"procedureCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureLabel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fee\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"category\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothSurface\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"oralCavityArea\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"enum\",\"type\":\"ProcedureSource\"},{\"name\":\"comboKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToAppointmentProcedure\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"AppointmentProcedureToPatient\"},{\"name\":\"npiProvider\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"AppointmentProcedureToNpiProvider\"}],\"dbName\":null},\"Claim\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"appointmentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"staffId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dateOfBirth\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"remarks\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"missingTeethStatus\",\"kind\":\"enum\",\"type\":\"MissingTeethStatus\"},{\"name\":\"missingTeeth\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"serviceDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"insuranceProvider\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ClaimStatus\"},{\"name\":\"claimNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"npiProviderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"ClaimToPatient\"},{\"name\":\"appointment\",\"kind\":\"object\",\"type\":\"Appointment\",\"relationName\":\"AppointmentToClaim\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ClaimToUser\"},{\"name\":\"staff\",\"kind\":\"object\",\"type\":\"Staff\",\"relationName\":\"ClaimStaff\"},{\"name\":\"npiProvider\",\"kind\":\"object\",\"type\":\"NpiProvider\",\"relationName\":\"ClaimToNpiProvider\"},{\"name\":\"serviceLines\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"ClaimToServiceLine\"},{\"name\":\"claimFiles\",\"kind\":\"object\",\"type\":\"ClaimFile\",\"relationName\":\"ClaimToClaimFile\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"ClaimToPayment\"}],\"dbName\":null},\"ServiceLine\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"paymentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"procedureCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"procedureDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"quad\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"arch\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"toothSurface\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icn\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paidCode\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"allowedAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalBilled\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalPaid\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalAdjusted\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalDue\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"ServiceLineStatus\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToServiceLine\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToServiceLine\"},{\"name\":\"serviceLineTransactions\",\"kind\":\"object\",\"type\":\"ServiceLineTransaction\",\"relationName\":\"ServiceLineToServiceLineTransaction\"}],\"dbName\":null},\"ClaimFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToClaimFile\"}],\"dbName\":null},\"InsuranceCredential\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"siteKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InsuranceCredentialToUser\"}],\"dbName\":null},\"PdfGroup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"titleKey\",\"kind\":\"enum\",\"type\":\"PdfTitleKey\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPdfGroup\"},{\"name\":\"pdfs\",\"kind\":\"object\",\"type\":\"PdfFile\",\"relationName\":\"PdfFileToPdfGroup\"}],\"dbName\":null},\"PdfFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pdfData\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"uploadedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"groupId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"group\",\"kind\":\"object\",\"type\":\"PdfGroup\",\"relationName\":\"PdfFileToPdfGroup\"}],\"dbName\":null},\"Payment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"claimId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updatedById\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"totalBilled\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalPaid\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalAdjusted\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"totalDue\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"mhPaidAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"copayment\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"adjustment\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PaymentStatus\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icn\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"claim\",\"kind\":\"object\",\"type\":\"Claim\",\"relationName\":\"ClaimToPayment\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPayment\"},{\"name\":\"updatedBy\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaymentUpdatedBy\"},{\"name\":\"serviceLineTransactions\",\"kind\":\"object\",\"type\":\"ServiceLineTransaction\",\"relationName\":\"PaymentToServiceLineTransaction\"},{\"name\":\"serviceLines\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"PaymentToServiceLine\"}],\"dbName\":null},\"ServiceLineTransaction\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"paymentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"serviceLineId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"transactionId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"paidAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"adjustedAmount\",\"kind\":\"scalar\",\"type\":\"Decimal\"},{\"name\":\"method\",\"kind\":\"enum\",\"type\":\"PaymentMethod\"},{\"name\":\"receivedDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payerName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"payment\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToServiceLineTransaction\"},{\"name\":\"serviceLine\",\"kind\":\"object\",\"type\":\"ServiceLine\",\"relationName\":\"ServiceLineToServiceLineTransaction\"}],\"dbName\":null},\"DatabaseBackup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DatabaseBackupToUser\"}],\"dbName\":null},\"BackupDestination\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"path\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"BackupDestinationToUser\"}],\"dbName\":null},\"Notification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"NotificationTypes\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"read\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"NotificationToUser\"}],\"dbName\":null},\"CronJobLog\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"jobName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"startedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"completedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"durationMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"errorMessage\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"CloudFolder\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"FolderChildren\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"FolderChildren\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CloudFolderToUser\"},{\"name\":\"files\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToCloudFolder\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CloudFile\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"folderId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isComplete\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"totalChunks\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"diskPath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CloudFileToUser\"},{\"name\":\"folder\",\"kind\":\"object\",\"type\":\"CloudFolder\",\"relationName\":\"CloudFileToCloudFolder\"},{\"name\":\"chunks\",\"kind\":\"object\",\"type\":\"CloudFileChunk\",\"relationName\":\"CloudFileToCloudFileChunk\"}],\"dbName\":null},\"CloudFileChunk\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"fileId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"seq\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"file\",\"kind\":\"object\",\"type\":\"CloudFile\",\"relationName\":\"CloudFileToCloudFileChunk\"}],\"dbName\":null},\"Communication\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"channel\",\"kind\":\"enum\",\"type\":\"CommunicationChannel\"},{\"name\":\"direction\",\"kind\":\"enum\",\"type\":\"CommunicationDirection\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"CommunicationStatus\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"callDuration\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"twilioSid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"CommunicationToPatient\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CommunicationToUser\"}],\"dbName\":\"communications\"},\"PatientDocument\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"patientId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"filename\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"originalName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"filePath\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"uploadedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"patient\",\"kind\":\"object\",\"type\":\"Patient\",\"relationName\":\"PatientToPatientDocument\"}],\"dbName\":null},\"TwilioSettings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"accountSid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"authToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"greetingMessage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"templates\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TwilioSettingsToUser\"}],\"dbName\":\"twilio_settings\"},\"AiSettings\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"apiKey\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"AiSettingsToUser\"}],\"dbName\":\"ai_settings\"},\"OfficeHours\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OfficeHoursToUser\"}],\"dbName\":\"office_hours\"},\"OfficeContact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"officeName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"receptionistName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"dentistName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fax\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"OfficeContactToUser\"}],\"dbName\":\"office_contact\"},\"InsuranceContact\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phoneNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"InsuranceContactToUser\"}],\"dbName\":\"insurance_contact\"},\"ProcedureTimeslot\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProcedureTimeslotToUser\"}],\"dbName\":\"procedure_timeslot\"}},\"enums\":{},\"types\":{}}")
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
config.parameterizationSchema = {
- strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"patient\",\"appointments\",\"appointment\",\"staff\",\"claims\",\"npiProvider\",\"appointmentProcedures\",\"_count\",\"claim\",\"updatedBy\",\"payment\",\"serviceLine\",\"serviceLineTransactions\",\"serviceLines\",\"claimFiles\",\"procedures\",\"files\",\"group\",\"pdfs\",\"groups\",\"communications\",\"documents\",\"patients\",\"npiProviders\",\"insuranceCredentials\",\"updatedPayments\",\"backups\",\"backupDestinations\",\"notifications\",\"parent\",\"children\",\"folder\",\"file\",\"chunks\",\"cloudFolders\",\"cloudFiles\",\"twilioSettings\",\"aiSettings\",\"officeHours\",\"officeContact\",\"procedureTimeslot\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Patient.findUnique\",\"Patient.findUniqueOrThrow\",\"Patient.findFirst\",\"Patient.findFirstOrThrow\",\"Patient.findMany\",\"Patient.createOne\",\"Patient.createMany\",\"Patient.createManyAndReturn\",\"Patient.updateOne\",\"Patient.updateMany\",\"Patient.updateManyAndReturn\",\"Patient.upsertOne\",\"Patient.deleteOne\",\"Patient.deleteMany\",\"Patient.groupBy\",\"Patient.aggregate\",\"Appointment.findUnique\",\"Appointment.findUniqueOrThrow\",\"Appointment.findFirst\",\"Appointment.findFirstOrThrow\",\"Appointment.findMany\",\"Appointment.createOne\",\"Appointment.createMany\",\"Appointment.createManyAndReturn\",\"Appointment.updateOne\",\"Appointment.updateMany\",\"Appointment.updateManyAndReturn\",\"Appointment.upsertOne\",\"Appointment.deleteOne\",\"Appointment.deleteMany\",\"Appointment.groupBy\",\"Appointment.aggregate\",\"AppointmentFile.findUnique\",\"AppointmentFile.findUniqueOrThrow\",\"AppointmentFile.findFirst\",\"AppointmentFile.findFirstOrThrow\",\"AppointmentFile.findMany\",\"AppointmentFile.createOne\",\"AppointmentFile.createMany\",\"AppointmentFile.createManyAndReturn\",\"AppointmentFile.updateOne\",\"AppointmentFile.updateMany\",\"AppointmentFile.updateManyAndReturn\",\"AppointmentFile.upsertOne\",\"AppointmentFile.deleteOne\",\"AppointmentFile.deleteMany\",\"AppointmentFile.groupBy\",\"AppointmentFile.aggregate\",\"Staff.findUnique\",\"Staff.findUniqueOrThrow\",\"Staff.findFirst\",\"Staff.findFirstOrThrow\",\"Staff.findMany\",\"Staff.createOne\",\"Staff.createMany\",\"Staff.createManyAndReturn\",\"Staff.updateOne\",\"Staff.updateMany\",\"Staff.updateManyAndReturn\",\"Staff.upsertOne\",\"Staff.deleteOne\",\"Staff.deleteMany\",\"Staff.groupBy\",\"Staff.aggregate\",\"NpiProvider.findUnique\",\"NpiProvider.findUniqueOrThrow\",\"NpiProvider.findFirst\",\"NpiProvider.findFirstOrThrow\",\"NpiProvider.findMany\",\"NpiProvider.createOne\",\"NpiProvider.createMany\",\"NpiProvider.createManyAndReturn\",\"NpiProvider.updateOne\",\"NpiProvider.updateMany\",\"NpiProvider.updateManyAndReturn\",\"NpiProvider.upsertOne\",\"NpiProvider.deleteOne\",\"NpiProvider.deleteMany\",\"NpiProvider.groupBy\",\"NpiProvider.aggregate\",\"AppointmentProcedure.findUnique\",\"AppointmentProcedure.findUniqueOrThrow\",\"AppointmentProcedure.findFirst\",\"AppointmentProcedure.findFirstOrThrow\",\"AppointmentProcedure.findMany\",\"AppointmentProcedure.createOne\",\"AppointmentProcedure.createMany\",\"AppointmentProcedure.createManyAndReturn\",\"AppointmentProcedure.updateOne\",\"AppointmentProcedure.updateMany\",\"AppointmentProcedure.updateManyAndReturn\",\"AppointmentProcedure.upsertOne\",\"AppointmentProcedure.deleteOne\",\"AppointmentProcedure.deleteMany\",\"AppointmentProcedure.groupBy\",\"AppointmentProcedure.aggregate\",\"Claim.findUnique\",\"Claim.findUniqueOrThrow\",\"Claim.findFirst\",\"Claim.findFirstOrThrow\",\"Claim.findMany\",\"Claim.createOne\",\"Claim.createMany\",\"Claim.createManyAndReturn\",\"Claim.updateOne\",\"Claim.updateMany\",\"Claim.updateManyAndReturn\",\"Claim.upsertOne\",\"Claim.deleteOne\",\"Claim.deleteMany\",\"Claim.groupBy\",\"Claim.aggregate\",\"ServiceLine.findUnique\",\"ServiceLine.findUniqueOrThrow\",\"ServiceLine.findFirst\",\"ServiceLine.findFirstOrThrow\",\"ServiceLine.findMany\",\"ServiceLine.createOne\",\"ServiceLine.createMany\",\"ServiceLine.createManyAndReturn\",\"ServiceLine.updateOne\",\"ServiceLine.updateMany\",\"ServiceLine.updateManyAndReturn\",\"ServiceLine.upsertOne\",\"ServiceLine.deleteOne\",\"ServiceLine.deleteMany\",\"ServiceLine.groupBy\",\"ServiceLine.aggregate\",\"ClaimFile.findUnique\",\"ClaimFile.findUniqueOrThrow\",\"ClaimFile.findFirst\",\"ClaimFile.findFirstOrThrow\",\"ClaimFile.findMany\",\"ClaimFile.createOne\",\"ClaimFile.createMany\",\"ClaimFile.createManyAndReturn\",\"ClaimFile.updateOne\",\"ClaimFile.updateMany\",\"ClaimFile.updateManyAndReturn\",\"ClaimFile.upsertOne\",\"ClaimFile.deleteOne\",\"ClaimFile.deleteMany\",\"ClaimFile.groupBy\",\"ClaimFile.aggregate\",\"InsuranceCredential.findUnique\",\"InsuranceCredential.findUniqueOrThrow\",\"InsuranceCredential.findFirst\",\"InsuranceCredential.findFirstOrThrow\",\"InsuranceCredential.findMany\",\"InsuranceCredential.createOne\",\"InsuranceCredential.createMany\",\"InsuranceCredential.createManyAndReturn\",\"InsuranceCredential.updateOne\",\"InsuranceCredential.updateMany\",\"InsuranceCredential.updateManyAndReturn\",\"InsuranceCredential.upsertOne\",\"InsuranceCredential.deleteOne\",\"InsuranceCredential.deleteMany\",\"InsuranceCredential.groupBy\",\"InsuranceCredential.aggregate\",\"PdfGroup.findUnique\",\"PdfGroup.findUniqueOrThrow\",\"PdfGroup.findFirst\",\"PdfGroup.findFirstOrThrow\",\"PdfGroup.findMany\",\"PdfGroup.createOne\",\"PdfGroup.createMany\",\"PdfGroup.createManyAndReturn\",\"PdfGroup.updateOne\",\"PdfGroup.updateMany\",\"PdfGroup.updateManyAndReturn\",\"PdfGroup.upsertOne\",\"PdfGroup.deleteOne\",\"PdfGroup.deleteMany\",\"PdfGroup.groupBy\",\"PdfGroup.aggregate\",\"PdfFile.findUnique\",\"PdfFile.findUniqueOrThrow\",\"PdfFile.findFirst\",\"PdfFile.findFirstOrThrow\",\"PdfFile.findMany\",\"PdfFile.createOne\",\"PdfFile.createMany\",\"PdfFile.createManyAndReturn\",\"PdfFile.updateOne\",\"PdfFile.updateMany\",\"PdfFile.updateManyAndReturn\",\"PdfFile.upsertOne\",\"PdfFile.deleteOne\",\"PdfFile.deleteMany\",\"PdfFile.groupBy\",\"PdfFile.aggregate\",\"Payment.findUnique\",\"Payment.findUniqueOrThrow\",\"Payment.findFirst\",\"Payment.findFirstOrThrow\",\"Payment.findMany\",\"Payment.createOne\",\"Payment.createMany\",\"Payment.createManyAndReturn\",\"Payment.updateOne\",\"Payment.updateMany\",\"Payment.updateManyAndReturn\",\"Payment.upsertOne\",\"Payment.deleteOne\",\"Payment.deleteMany\",\"Payment.groupBy\",\"Payment.aggregate\",\"ServiceLineTransaction.findUnique\",\"ServiceLineTransaction.findUniqueOrThrow\",\"ServiceLineTransaction.findFirst\",\"ServiceLineTransaction.findFirstOrThrow\",\"ServiceLineTransaction.findMany\",\"ServiceLineTransaction.createOne\",\"ServiceLineTransaction.createMany\",\"ServiceLineTransaction.createManyAndReturn\",\"ServiceLineTransaction.updateOne\",\"ServiceLineTransaction.updateMany\",\"ServiceLineTransaction.updateManyAndReturn\",\"ServiceLineTransaction.upsertOne\",\"ServiceLineTransaction.deleteOne\",\"ServiceLineTransaction.deleteMany\",\"ServiceLineTransaction.groupBy\",\"ServiceLineTransaction.aggregate\",\"DatabaseBackup.findUnique\",\"DatabaseBackup.findUniqueOrThrow\",\"DatabaseBackup.findFirst\",\"DatabaseBackup.findFirstOrThrow\",\"DatabaseBackup.findMany\",\"DatabaseBackup.createOne\",\"DatabaseBackup.createMany\",\"DatabaseBackup.createManyAndReturn\",\"DatabaseBackup.updateOne\",\"DatabaseBackup.updateMany\",\"DatabaseBackup.updateManyAndReturn\",\"DatabaseBackup.upsertOne\",\"DatabaseBackup.deleteOne\",\"DatabaseBackup.deleteMany\",\"DatabaseBackup.groupBy\",\"DatabaseBackup.aggregate\",\"BackupDestination.findUnique\",\"BackupDestination.findUniqueOrThrow\",\"BackupDestination.findFirst\",\"BackupDestination.findFirstOrThrow\",\"BackupDestination.findMany\",\"BackupDestination.createOne\",\"BackupDestination.createMany\",\"BackupDestination.createManyAndReturn\",\"BackupDestination.updateOne\",\"BackupDestination.updateMany\",\"BackupDestination.updateManyAndReturn\",\"BackupDestination.upsertOne\",\"BackupDestination.deleteOne\",\"BackupDestination.deleteMany\",\"BackupDestination.groupBy\",\"BackupDestination.aggregate\",\"Notification.findUnique\",\"Notification.findUniqueOrThrow\",\"Notification.findFirst\",\"Notification.findFirstOrThrow\",\"Notification.findMany\",\"Notification.createOne\",\"Notification.createMany\",\"Notification.createManyAndReturn\",\"Notification.updateOne\",\"Notification.updateMany\",\"Notification.updateManyAndReturn\",\"Notification.upsertOne\",\"Notification.deleteOne\",\"Notification.deleteMany\",\"Notification.groupBy\",\"Notification.aggregate\",\"CronJobLog.findUnique\",\"CronJobLog.findUniqueOrThrow\",\"CronJobLog.findFirst\",\"CronJobLog.findFirstOrThrow\",\"CronJobLog.findMany\",\"CronJobLog.createOne\",\"CronJobLog.createMany\",\"CronJobLog.createManyAndReturn\",\"CronJobLog.updateOne\",\"CronJobLog.updateMany\",\"CronJobLog.updateManyAndReturn\",\"CronJobLog.upsertOne\",\"CronJobLog.deleteOne\",\"CronJobLog.deleteMany\",\"CronJobLog.groupBy\",\"CronJobLog.aggregate\",\"CloudFolder.findUnique\",\"CloudFolder.findUniqueOrThrow\",\"CloudFolder.findFirst\",\"CloudFolder.findFirstOrThrow\",\"CloudFolder.findMany\",\"CloudFolder.createOne\",\"CloudFolder.createMany\",\"CloudFolder.createManyAndReturn\",\"CloudFolder.updateOne\",\"CloudFolder.updateMany\",\"CloudFolder.updateManyAndReturn\",\"CloudFolder.upsertOne\",\"CloudFolder.deleteOne\",\"CloudFolder.deleteMany\",\"CloudFolder.groupBy\",\"CloudFolder.aggregate\",\"CloudFile.findUnique\",\"CloudFile.findUniqueOrThrow\",\"CloudFile.findFirst\",\"CloudFile.findFirstOrThrow\",\"CloudFile.findMany\",\"CloudFile.createOne\",\"CloudFile.createMany\",\"CloudFile.createManyAndReturn\",\"CloudFile.updateOne\",\"CloudFile.updateMany\",\"CloudFile.updateManyAndReturn\",\"CloudFile.upsertOne\",\"CloudFile.deleteOne\",\"CloudFile.deleteMany\",\"CloudFile.groupBy\",\"CloudFile.aggregate\",\"CloudFileChunk.findUnique\",\"CloudFileChunk.findUniqueOrThrow\",\"CloudFileChunk.findFirst\",\"CloudFileChunk.findFirstOrThrow\",\"CloudFileChunk.findMany\",\"CloudFileChunk.createOne\",\"CloudFileChunk.createMany\",\"CloudFileChunk.createManyAndReturn\",\"CloudFileChunk.updateOne\",\"CloudFileChunk.updateMany\",\"CloudFileChunk.updateManyAndReturn\",\"CloudFileChunk.upsertOne\",\"CloudFileChunk.deleteOne\",\"CloudFileChunk.deleteMany\",\"CloudFileChunk.groupBy\",\"CloudFileChunk.aggregate\",\"Communication.findUnique\",\"Communication.findUniqueOrThrow\",\"Communication.findFirst\",\"Communication.findFirstOrThrow\",\"Communication.findMany\",\"Communication.createOne\",\"Communication.createMany\",\"Communication.createManyAndReturn\",\"Communication.updateOne\",\"Communication.updateMany\",\"Communication.updateManyAndReturn\",\"Communication.upsertOne\",\"Communication.deleteOne\",\"Communication.deleteMany\",\"Communication.groupBy\",\"Communication.aggregate\",\"PatientDocument.findUnique\",\"PatientDocument.findUniqueOrThrow\",\"PatientDocument.findFirst\",\"PatientDocument.findFirstOrThrow\",\"PatientDocument.findMany\",\"PatientDocument.createOne\",\"PatientDocument.createMany\",\"PatientDocument.createManyAndReturn\",\"PatientDocument.updateOne\",\"PatientDocument.updateMany\",\"PatientDocument.updateManyAndReturn\",\"PatientDocument.upsertOne\",\"PatientDocument.deleteOne\",\"PatientDocument.deleteMany\",\"PatientDocument.groupBy\",\"PatientDocument.aggregate\",\"TwilioSettings.findUnique\",\"TwilioSettings.findUniqueOrThrow\",\"TwilioSettings.findFirst\",\"TwilioSettings.findFirstOrThrow\",\"TwilioSettings.findMany\",\"TwilioSettings.createOne\",\"TwilioSettings.createMany\",\"TwilioSettings.createManyAndReturn\",\"TwilioSettings.updateOne\",\"TwilioSettings.updateMany\",\"TwilioSettings.updateManyAndReturn\",\"TwilioSettings.upsertOne\",\"TwilioSettings.deleteOne\",\"TwilioSettings.deleteMany\",\"TwilioSettings.groupBy\",\"TwilioSettings.aggregate\",\"AiSettings.findUnique\",\"AiSettings.findUniqueOrThrow\",\"AiSettings.findFirst\",\"AiSettings.findFirstOrThrow\",\"AiSettings.findMany\",\"AiSettings.createOne\",\"AiSettings.createMany\",\"AiSettings.createManyAndReturn\",\"AiSettings.updateOne\",\"AiSettings.updateMany\",\"AiSettings.updateManyAndReturn\",\"AiSettings.upsertOne\",\"AiSettings.deleteOne\",\"AiSettings.deleteMany\",\"AiSettings.groupBy\",\"AiSettings.aggregate\",\"OfficeHours.findUnique\",\"OfficeHours.findUniqueOrThrow\",\"OfficeHours.findFirst\",\"OfficeHours.findFirstOrThrow\",\"OfficeHours.findMany\",\"OfficeHours.createOne\",\"OfficeHours.createMany\",\"OfficeHours.createManyAndReturn\",\"OfficeHours.updateOne\",\"OfficeHours.updateMany\",\"OfficeHours.updateManyAndReturn\",\"OfficeHours.upsertOne\",\"OfficeHours.deleteOne\",\"OfficeHours.deleteMany\",\"OfficeHours.groupBy\",\"OfficeHours.aggregate\",\"OfficeContact.findUnique\",\"OfficeContact.findUniqueOrThrow\",\"OfficeContact.findFirst\",\"OfficeContact.findFirstOrThrow\",\"OfficeContact.findMany\",\"OfficeContact.createOne\",\"OfficeContact.createMany\",\"OfficeContact.createManyAndReturn\",\"OfficeContact.updateOne\",\"OfficeContact.updateMany\",\"OfficeContact.updateManyAndReturn\",\"OfficeContact.upsertOne\",\"OfficeContact.deleteOne\",\"OfficeContact.deleteMany\",\"OfficeContact.groupBy\",\"OfficeContact.aggregate\",\"ProcedureTimeslot.findUnique\",\"ProcedureTimeslot.findUniqueOrThrow\",\"ProcedureTimeslot.findFirst\",\"ProcedureTimeslot.findFirstOrThrow\",\"ProcedureTimeslot.findMany\",\"ProcedureTimeslot.createOne\",\"ProcedureTimeslot.createMany\",\"ProcedureTimeslot.createManyAndReturn\",\"ProcedureTimeslot.updateOne\",\"ProcedureTimeslot.updateMany\",\"ProcedureTimeslot.updateManyAndReturn\",\"ProcedureTimeslot.upsertOne\",\"ProcedureTimeslot.deleteOne\",\"ProcedureTimeslot.deleteMany\",\"ProcedureTimeslot.groupBy\",\"ProcedureTimeslot.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"userId\",\"equals\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"in\",\"notIn\",\"receptionistName\",\"dentistName\",\"phoneNumber\",\"email\",\"fax\",\"contains\",\"startsWith\",\"endsWith\",\"apiKey\",\"accountSid\",\"authToken\",\"greetingMessage\",\"templates\",\"patientId\",\"filename\",\"originalName\",\"mimeType\",\"fileSize\",\"filePath\",\"uploadedAt\",\"updatedAt\",\"CommunicationChannel\",\"channel\",\"CommunicationDirection\",\"direction\",\"CommunicationStatus\",\"status\",\"body\",\"callDuration\",\"twilioSid\",\"createdAt\",\"fileId\",\"seq\",\"name\",\"folderId\",\"isComplete\",\"totalChunks\",\"diskPath\",\"parentId\",\"jobName\",\"startedAt\",\"completedAt\",\"durationMs\",\"errorMessage\",\"NotificationTypes\",\"type\",\"message\",\"read\",\"path\",\"isActive\",\"paymentId\",\"serviceLineId\",\"transactionId\",\"paidAmount\",\"adjustedAmount\",\"PaymentMethod\",\"method\",\"receivedDate\",\"payerName\",\"notes\",\"claimId\",\"updatedById\",\"totalBilled\",\"totalPaid\",\"totalAdjusted\",\"totalDue\",\"mhPaidAmount\",\"copayment\",\"adjustment\",\"PaymentStatus\",\"icn\",\"pdfData\",\"groupId\",\"title\",\"PdfTitleKey\",\"titleKey\",\"siteKey\",\"username\",\"password\",\"procedureCode\",\"procedureDate\",\"quad\",\"arch\",\"toothNumber\",\"toothSurface\",\"paidCode\",\"allowedAmount\",\"ServiceLineStatus\",\"appointmentId\",\"staffId\",\"patientName\",\"memberId\",\"dateOfBirth\",\"remarks\",\"MissingTeethStatus\",\"missingTeethStatus\",\"missingTeeth\",\"serviceDate\",\"insuranceProvider\",\"ClaimStatus\",\"claimNumber\",\"npiProviderId\",\"procedureLabel\",\"fee\",\"category\",\"oralCavityArea\",\"ProcedureSource\",\"source\",\"comboKey\",\"npiNumber\",\"providerName\",\"role\",\"phone\",\"date\",\"startTime\",\"endTime\",\"procedureCodeNotes\",\"PatientStatus\",\"eligibilityStatus\",\"firstName\",\"lastName\",\"gender\",\"address\",\"city\",\"zipCode\",\"insuranceId\",\"groupNumber\",\"policyHolder\",\"allergies\",\"medicalConditions\",\"autoBackupEnabled\",\"usbBackupEnabled\",\"fileId_seq\",\"every\",\"some\",\"none\",\"userId_parentId_name\",\"userId_siteKey\",\"userId_npiNumber\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
- graph: "phCuAtADGgUAANsHACAHAACDCAAgCAAA1wcAIBgAAIoIACAaAACCCAAgGwAAhAgAIBwAAIUIACAdAACGCAAgHgAAhwgAIB8AAIgIACAgAACJCAAgJgAAzQcAICcAAM4HACAoAACLCAAgKQAAjAgAICoAAI0IACArAACOCAAgLAAAjwgAIIUEAACBCAAwhgQAAA0AEIcEAACBCAAwiAQCAAAAAeUEAQAAAAHmBAEA4wYAIZoFIADIBwAhmwUgAMgHACEBAAAAAQAgHwMAANQGACAFAADbBwAgCAAA1wcAIA4AAIYIACATAADYBwAgFwAAlAgAIBgAAIoIACAZAACVCAAghQQAAJMIADCGBAAAAwAQhwQAAJMIADCIBAIAiwcAIYkEAgCLBwAhmwQBANsGACGsBEAAjAcAIbIEAACRCI4FIrYEQACMBwAh9ARAAI0HACH6BAEA2wYAIYgFAQDjBgAhjwUBAOMGACGQBQEA4wYAIZEFAQDjBgAhkgUBANsGACGTBQEA2wYAIZQFAQDbBgAhlQUBANsGACGWBQEA2wYAIZcFAQDbBgAhmAUBANsGACGZBQEA2wYAIRMDAACeCAAgBQAAjQ4AIAgAAJAOACAOAACSDgAgEwAAoQ4AIBcAAK8OACAYAACYDgAgGQAAsA4AIJsEAACfCAAg9AQAAJ8IACD6BAAAnwgAIJIFAACfCAAgkwUAAJ8IACCUBQAAnwgAIJUFAACfCAAglgUAAJ8IACCXBQAAnwgAIJgFAACfCAAgmQUAAJ8IACAfAwAA1AYAIAUAANsHACAIAADXBwAgDgAAhggAIBMAANgHACAXAACUCAAgGAAAiggAIBkAAJUIACCFBAAAkwgAMIYEAAADABCHBAAAkwgAMIgEAgAAAAGJBAIAiwcAIZsEAQDbBgAhrARAAIwHACGyBAAAkQiOBSK2BEAAjAcAIfQEQACNBwAh-gQBANsGACGIBQEA4wYAIY8FAQDjBgAhkAUBAOMGACGRBQEA4wYAIZIFAQDbBgAhkwUBANsGACGUBQEA2wYAIZUFAQDbBgAhlgUBANsGACGXBQEA2wYAIZgFAQDbBgAhmQUBANsGACEDAAAAAwAgAQAABAAwAgAABQAgFwMAANQGACAEAADdBwAgBwAA_wcAIAgAANcHACATAADYBwAgFAAAkggAIIUEAACQCAAwhgQAAAcAEIcEAACQCAAwiAQCAIsHACGJBAIAiwcAIaUEAgCLBwAhsgQBAOMGACG2BEAAjAcAIcUEAQDjBgAh0wQBANsGACHhBAEA4wYAIfEEAgCLBwAhiQVAAIwHACGKBQEA4wYAIYsFAQDjBgAhjAUBANsGACGOBQAAkQiOBSIIAwAAnggAIAQAAKIOACAHAACsDgAgCAAAkA4AIBMAAKEOACAUAACuDgAg0wQAAJ8IACCMBQAAnwgAIBcDAADUBgAgBAAA3QcAIAcAAP8HACAIAADXBwAgEwAA2AcAIBQAAJIIACCFBAAAkAgAMIYEAAAHABCHBAAAkAgAMIgEAgAAAAGJBAIAiwcAIaUEAgCLBwAhsgQBAOMGACG2BEAAjAcAIcUEAQDjBgAh0wQBANsGACHhBAEA4wYAIfEEAgCLBwAhiQVAAIwHACGKBQEA4wYAIYsFAQDjBgAhjAUBANsGACGOBQAAkQiOBSIDAAAABwAgAQAACAAwAgAACQAgDQMAANoHACAFAADbBwAgCAAA1wcAIIUEAADZBwAwhgQAAAsAEIcEAADZBwAwiAQCAIsHACGJBAIAiwcAIZsEAQDbBgAhtgRAAIwHACG5BAEA4wYAIYcFAQDjBgAhiAUBANsGACEBAAAACwAgGgUAANsHACAHAACDCAAgCAAA1wcAIBgAAIoIACAaAACCCAAgGwAAhAgAIBwAAIUIACAdAACGCAAgHgAAhwgAIB8AAIgIACAgAACJCAAgJgAAzQcAICcAAM4HACAoAACLCAAgKQAAjAgAICoAAI0IACArAACOCAAgLAAAjwgAIIUEAACBCAAwhgQAAA0AEIcEAACBCAAwiAQCAIsHACHlBAEA4wYAIeYEAQDjBgAhmgUgAMgHACGbBSAAyAcAIQEAAAANACADAAAABwAgAQAACAAwAgAACQAgHQMAANoHACAEAADdBwAgBgAA7wcAIAcAAP8HACAJAAD7BwAgDgAA-AcAIBEAAOgHACASAACACAAghQQAAPwHADCGBAAAEAAQhwQAAPwHADCIBAIAiwcAIYkEAgCLBwAhpQQCAIsHACGsBEAAjAcAIbIEAAD-B_wEIrYEQACMBwAh8AQCAIsHACHxBAIAiwcAIfIEAQDjBgAh8wQBAOMGACH0BEAAjAcAIfUEAQDjBgAh9wQAAP0H9wQi-AQAAOgGACD5BEAAjAcAIfoEAQDjBgAh_AQBANsGACH9BAIAjgcAIQsDAACeCAAgBAAAog4AIAYAAKgOACAHAACsDgAgCQAAqw4AIA4AAKkOACARAAClDgAgEgAArQ4AIPgEAACfCAAg_AQAAJ8IACD9BAAAnwgAIB0DAADaBwAgBAAA3QcAIAYAAO8HACAHAAD_BwAgCQAA-wcAIA4AAPgHACARAADoBwAgEgAAgAgAIIUEAAD8BwAwhgQAABAAEIcEAAD8BwAwiAQCAAAAAYkEAgCLBwAhpQQCAIsHACGsBEAAjAcAIbIEAAD-B_wEIrYEQACMBwAh8AQCAIsHACHxBAIAiwcAIfIEAQDjBgAh8wQBAOMGACH0BEAAjAcAIfUEAQDjBgAh9wQAAP0H9wQi-AQAAOgGACD5BEAAjAcAIfoEAQDjBgAh_AQBANsGACH9BAIAjgcAIQMAAAAQACABAAARADACAAASACABAAAADQAgAQAAAAsAIAsDAADUBgAgCAAA1wcAIAoAANgHACCFBAAA1gcAMIYEAAAWABCHBAAA1gcAMIgEAgCLBwAhiQQCAIsHACG2BEAAjAcAIYUFAQDjBgAhhgUBAOMGACEBAAAAFgAgAwAAABAAIAEAABEAMAIAABIAIBQEAADdBwAgBgAA7wcAIAkAAPsHACCFBAAA-QcAMIYEAAAZABCHBAAA-QcAMIgEAgCLBwAhpQQCAIsHACG2BEAAjAcAIecEAQDjBgAh6wQBANsGACHsBAEA2wYAIfAEAgCLBwAh_QQCAI4HACH-BAEA2wYAIf8EEADkBwAhgAUBANsGACGBBQEA2wYAIYMFAAD6B4MFIoQFAQDbBgAhCwQAAKIOACAGAACoDgAgCQAAqw4AIOsEAACfCAAg7AQAAJ8IACD9BAAAnwgAIP4EAACfCAAg_wQAAJ8IACCABQAAnwgAIIEFAACfCAAghAUAAJ8IACAUBAAA3QcAIAYAAO8HACAJAAD7BwAghQQAAPkHADCGBAAAGQAQhwQAAPkHADCIBAIAAAABpQQCAIsHACG2BEAAjAcAIecEAQDjBgAh6wQBANsGACHsBAEA2wYAIfAEAgCLBwAh_QQCAI4HACH-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_g0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAdAACADgAgHgAAgQ4AIB8AAIIOACAgAACDDgAgJgAAhA4AICcAAIUOACAoAACHDgAgKQAAiA4AICoAAIkOACArAACKDgAgLAAAiw4AIIgEAgAAAAHlBAEAAAAB5gQBAAAAAZoFIAAAAAGbBSAAAAABATIAAKsBACAFiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAEBMgAArQEAMAEyAACtAQAwFwUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHgAAzAwAIB8AAM0MACAgAADODAAgJgAAzwwAICcAANAMACAoAADSDAAgKQAA0wwAICoAANQMACArAADVDAAgLAAA1gwAIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACECAAAAAQAgMgAAsAEAIAWIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhAgAAAA0AIDIAALIBACACAAAADQAgMgAAsgEAIAMAAAABACA5AACrAQAgOgAAsAEAIAEAAAABACABAAAADQAgBQsAAMAMACA_AADBDAAgQAAAxAwAIEEAAMMMACBCAADCDAAgCIUEAADBBwAwhgQAALkBABCHBAAAwQcAMIgEAgDMBgAh5QQBAN8GACHmBAEA3wYAIZoFIACCBwAhmwUgAIIHACEDAAAADQAgAQAAuAEAMD4AALkBACADAAAADQAgAQAApwEAMAIAAAEAIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgHAMAALgMACAFAAC5DAAgCAAAuwwAIA4AAL0MACATAAC6DAAgFwAAvAwAIBgAAL4MACAZAAC_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_AADaCwAgQAAA3QsAIEEAANwLACBCAADbCwAg0wQAAJ8IACCMBQAAnwgAIBGFBAAAvAcAMIYEAADnAQAQhwQAALwHADCIBAIAzAYAIYkEAgDMBgAhpQQCAMwGACGyBAEA3wYAIbYEQADrBgAhxQQBAN8GACHTBAEA1gYAIeEEAQDfBgAh8QQCAMwGACGJBUAA6wYAIYoFAQDfBgAhiwUBAN8GACGMBQEA1gYAIY4FAAC9B44FIgMAAAAHACABAADmAQAwPgAA5wEAIAMAAAAHACABAAAIADACAAAJACABAAAAPwAgAQAAAD8AIAMAAAA9ACABAAA-ADACAAA_ACADAAAAPQAgAQAAPgAwAgAAPwAgAwAAAD0AIAEAAD4AMAIAAD8AIAYGAADYCwAgiAQCAAAAAaYEAQAAAAGoBAEAAAABqgQBAAAAAfAEAgAAAAEBMgAA7wEAIAWIBAIAAAABpgQBAAAAAagEAQAAAAGqBAEAAAAB8AQCAAAAAQEyAADxAQAwATIAAPEBADAGBgAA1wsAIIgEAgCbCAAhpgQBALQIACGoBAEApQgAIaoEAQClCAAh8AQCAJsIACECAAAAPwAgMgAA9AEAIAWIBAIAmwgAIaYEAQC0CAAhqAQBAKUIACGqBAEApQgAIfAEAgCbCAAhAgAAAD0AIDIAAPYBACACAAAAPQAgMgAA9gEAIAMAAAA_ACA5AADvAQAgOgAA9AEAIAEAAAA_ACABAAAAPQAgBwsAANILACA_AADTCwAgQAAA1gsAIEEAANULACBCAADUCwAgqAQAAJ8IACCqBAAAnwgAIAiFBAAAuwcAMIYEAAD9AQAQhwQAALsHADCIBAIAzAYAIaYEAQDfBgAhqAQBANYGACGqBAEA1gYAIfAEAgDMBgAhAwAAAD0AIAEAAPwBADA-AAD9AQAgAwAAAD0AIAEAAD4AMAIAAD8AIAEAAABkACABAAAAZAAgAwAAAAsAIAEAAGMAMAIAAGQAIAMAAAALACABAABjADACAABkACADAAAACwAgAQAAYwAwAgAAZAAgCgMAAM8LACAFAADQCwAgCAAA0QsAIIgEAgAAAAGJBAIAAAABmwQBAAAAAbYEQAAAAAG5BAEAAAABhwUBAAAAAYgFAQAAAAEBMgAAhQIAIAeIBAIAAAABiQQCAAAAAZsEAQAAAAG2BEAAAAABuQQBAAAAAYcFAQAAAAGIBQEAAAABATIAAIcCADABMgAAhwIAMAEAAAANACAKAwAAjgsAIAUAAI8LACAIAACQCwAgiAQCAJsIACGJBAIAmwgAIZsEAQClCAAhtgRAAMQIACG5BAEAtAgAIYcFAQC0CAAhiAUBAKUIACECAAAAZAAgMgAAiwIAIAeIBAIAmwgAIYkEAgCbCAAhmwQBAKUIACG2BEAAxAgAIbkEAQC0CAAhhwUBALQIACGIBQEApQgAIQIAAAALACAyAACNAgAgAgAAAAsAIDIAAI0CACABAAAADQAgAwAAAGQAIDkAAIUCACA6AACLAgAgAQAAAGQAIAEAAAALACAHCwAAiQsAID8AAIoLACBAAACNCwAgQQAAjAsAIEIAAIsLACCbBAAAnwgAIIgFAACfCAAgCoUEAAC6BwAwhgQAAJUCABCHBAAAugcAMIgEAgDMBgAhiQQCAMwGACGbBAEA1gYAIbYEQADrBgAhuQQBAN8GACGHBQEA3wYAIYgFAQDWBgAhAwAAAAsAIAEAAJQCADA-AACVAgAgAwAAAAsAIAEAAGMAMAIAAGQAIAEAAABnACABAAAAZwAgAwAAABYAIAEAAGYAMAIAAGcAIAMAAAAWACABAABmADACAABnACADAAAAFgAgAQAAZgAwAgAAZwAgCAMAAIYLACAIAACHCwAgCgAAiAsAIIgEAgAAAAGJBAIAAAABtgRAAAAAAYUFAQAAAAGGBQEAAAABATIAAJ0CACAFiAQCAAAAAYkEAgAAAAG2BEAAAAABhQUBAAAAAYYFAQAAAAEBMgAAnwIAMAEyAACfAgAwCAMAAOsKACAIAADsCgAgCgAA7QoAIIgEAgCbCAAhiQQCAJsIACG2BEAAxAgAIYUFAQC0CAAhhgUBALQIACECAAAAZwAgMgAAogIAIAWIBAIAmwgAIYkEAgCbCAAhtgRAAMQIACGFBQEAtAgAIYYFAQC0CAAhAgAAABYAIDIAAKQCACACAAAAFgAgMgAApAIAIAMAAABnACA5AACdAgAgOgAAogIAIAEAAABnACABAAAAFgAgBQsAAOYKACA_AADnCgAgQAAA6goAIEEAAOkKACBCAADoCgAgCIUEAAC5BwAwhgQAAKsCABCHBAAAuQcAMIgEAgDMBgAhiQQCAMwGACG2BEAA6wYAIYUFAQDfBgAhhgUBAN8GACEDAAAAFgAgAQAAqgIAMD4AAKsCACADAAAAFgAgAQAAZgAwAgAAZwAgAQAAABsAIAEAAAAbACADAAAAGQAgAQAAGgAwAgAAGwAgAwAAABkAIAEAABoAMAIAABsAIAMAAAAZACABAAAaADACAAAbACARBAAA5AoAIAYAAOMKACAJAADlCgAgiAQCAAAAAaUEAgAAAAG2BEAAAAAB5wQBAAAAAesEAQAAAAHsBAEAAAAB8AQCAAAAAf0EAgAAAAH-BAEAAAAB_wQQAAAAAYAFAQAAAAGBBQEAAAABgwUAAACDBQKEBQEAAAABATIAALMCACAOiAQCAAAAAaUEAgAAAAG2BEAAAAAB5wQBAAAAAesEAQAAAAHsBAEAAAAB8AQCAAAAAf0EAgAAAAH-BAEAAAAB_wQQAAAAAYAFAQAAAAGBBQEAAAABgwUAAACDBQKEBQEAAAABATIAALUCADABMgAAtQIAMAEAAAAWACARBAAA4QoAIAYAAOAKACAJAADiCgAgiAQCAJsIACGlBAIAmwgAIbYEQADECAAh5wQBALQIACHrBAEApQgAIewEAQClCAAh8AQCAJsIACH9BAIAzwgAIf4EAQClCAAh_wQQAMUJACGABQEApQgAIYEFAQClCAAhgwUAAN8KgwUihAUBAKUIACECAAAAGwAgMgAAuQIAIA6IBAIAmwgAIaUEAgCbCAAhtgRAAMQIACHnBAEAtAgAIesEAQClCAAh7AQBAKUIACHwBAIAmwgAIf0EAgDPCAAh_gQBAKUIACH_BBAAxQkAIYAFAQClCAAhgQUBAKUIACGDBQAA3wqDBSKEBQEApQgAIQIAAAAZACAyAAC7AgAgAgAAABkAIDIAALsCACABAAAAFgAgAwAAABsAIDkAALMCACA6AAC5AgAgAQAAABsAIAEAAAAZACANCwAA2goAID8AANsKACBAAADeCgAgQQAA3QoAIEIAANwKACDrBAAAnwgAIOwEAACfCAAg_QQAAJ8IACD-BAAAnwgAIP8EAACfCAAggAUAAJ8IACCBBQAAnwgAIIQFAACfCAAgEYUEAAC1BwAwhgQAAMMCABCHBAAAtQcAMIgEAgDMBgAhpQQCAMwGACG2BEAA6wYAIecEAQDfBgAh6wQBANYGACHsBAEA1gYAIfAEAgDMBgAh_QQCAPEGACH-BAEA1gYAIf8EEACdBwAhgAUBANYGACGBBQEA1gYAIYMFAAC2B4MFIoQFAQDWBgAhAwAAABkAIAEAAMICADA-AADDAgAgAwAAABkAIAEAABoAMAIAABsAIAEAAAASACABAAAAEgAgAwAAABAAIAEAABEAMAIAABIAIAMAAAAQACABAAARADACAAASACADAAAAEAAgAQAAEQAwAgAAEgAgGgMAANQKACAEAADSCgAgBgAA0woAIAcAANUKACAJAADWCgAgDgAA2QoAIBEAANcKACASAADYCgAgiAQCAAAAAYkEAgAAAAGlBAIAAAABrARAAAAAAbIEAAAA_AQCtgRAAAAAAfAEAgAAAAHxBAIAAAAB8gQBAAAAAfMEAQAAAAH0BEAAAAAB9QQBAAAAAfcEAAAA9wQC-ASAAAAAAfkEQAAAAAH6BAEAAAAB_AQBAAAAAf0EAgAAAAEBMgAAywIAIBKIBAIAAAABiQQCAAAAAaUEAgAAAAGsBEAAAAABsgQAAAD8BAK2BEAAAAAB8AQCAAAAAfEEAgAAAAHyBAEAAAAB8wQBAAAAAfQEQAAAAAH1BAEAAAAB9wQAAAD3BAL4BIAAAAAB-QRAAAAAAfoEAQAAAAH8BAEAAAAB_QQCAAAAAQEyAADNAgAwATIAAM0CADABAAAADQAgAQAAAAsAIAEAAAAWACAaAwAAsgoAIAQAALAKACAGAACxCgAgBwAAswoAIAkAALQKACAOAAC3CgAgEQAAtQoAIBIAALYKACCIBAIAmwgAIYkEAgCbCAAhpQQCAJsIACGsBEAAxAgAIbIEAACvCvwEIrYEQADECAAh8AQCAJsIACHxBAIAmwgAIfIEAQC0CAAh8wQBALQIACH0BEAAxAgAIfUEAQC0CAAh9wQAAK4K9wQi-ASAAAAAAfkEQADECAAh-gQBALQIACH8BAEApQgAIf0EAgDPCAAhAgAAABIAIDIAANMCACASiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhrARAAMQIACGyBAAArwr8BCK2BEAAxAgAIfAEAgCbCAAh8QQCAJsIACHyBAEAtAgAIfMEAQC0CAAh9ARAAMQIACH1BAEAtAgAIfcEAACuCvcEIvgEgAAAAAH5BEAAxAgAIfoEAQC0CAAh_AQBAKUIACH9BAIAzwgAIQIAAAAQACAyAADVAgAgAgAAABAAIDIAANUCACABAAAADQAgAQAAAAsAIAEAAAAWACADAAAAEgAgOQAAywIAIDoAANMCACABAAAAEgAgAQAAABAAIAgLAACpCgAgPwAAqgoAIEAAAK0KACBBAACsCgAgQgAAqwoAIPgEAACfCAAg_AQAAJ8IACD9BAAAnwgAIBWFBAAArgcAMIYEAADfAgAQhwQAAK4HADCIBAIAzAYAIYkEAgDMBgAhpQQCAMwGACGsBEAA6wYAIbIEAACwB_wEIrYEQADrBgAh8AQCAMwGACHxBAIAzAYAIfIEAQDfBgAh8wQBAN8GACH0BEAA6wYAIfUEAQDfBgAh9wQAAK8H9wQi-AQAAOUGACD5BEAA6wYAIfoEAQDfBgAh_AQBANYGACH9BAIA8QYAIQMAAAAQACABAADeAgAwPgAA3wIAIAMAAAAQACABAAARADACAAASACABAAAAIgAgAQAAACIAIAMAAAAgACABAAAhADACAAAiACADAAAAIAAgAQAAIQAwAgAAIgAgAwAAACAAIAEAACEAMAIAACIAIBQMAADnCQAgDgAAqAoAIBAAAOgJACCIBAIAAAABsgQAAADwBALKBAIAAAAB1AQCAAAAAdYEEAAAAAHXBBAAAAAB2AQQAAAAAdkEEAAAAAHeBAEAAAAB5wQBAAAAAegEQAAAAAHpBAEAAAAB6gQBAAAAAesEAQAAAAHsBAEAAAAB7QQBAAAAAe4EEAAAAAEBMgAA5wIAIBGIBAIAAAABsgQAAADwBALKBAIAAAAB1AQCAAAAAdYEEAAAAAHXBBAAAAAB2AQQAAAAAdkEEAAAAAHeBAEAAAAB5wQBAAAAAegEQAAAAAHpBAEAAAAB6gQBAAAAAesEAQAAAAHsBAEAAAAB7QQBAAAAAe4EEAAAAAEBMgAA6QIAMAEyAADpAgAwAQAAABAAIAEAAAAlACAUDAAA2AkAIA4AAKcKACAQAADZCQAgiAQCAJsIACGyBAAA1gnwBCLKBAIAzwgAIdQEAgDPCAAh1gQQALoJACHXBBAAugkAIdgEEAC6CQAh2QQQALoJACHeBAEApQgAIecEAQC0CAAh6ARAAMQIACHpBAEApQgAIeoEAQClCAAh6wQBAKUIACHsBAEApQgAIe0EAQClCAAh7gQQAMUJACECAAAAIgAgMgAA7gIAIBGIBAIAmwgAIbIEAADWCfAEIsoEAgDPCAAh1AQCAM8IACHWBBAAugkAIdcEEAC6CQAh2AQQALoJACHZBBAAugkAId4EAQClCAAh5wQBALQIACHoBEAAxAgAIekEAQClCAAh6gQBAKUIACHrBAEApQgAIewEAQClCAAh7QQBAKUIACHuBBAAxQkAIQIAAAAgACAyAADwAgAgAgAAACAAIDIAAPACACABAAAAEAAgAQAAACUAIAMAAAAiACA5AADnAgAgOgAA7gIAIAEAAAAiACABAAAAIAAgDgsAAKIKACA_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_AAD_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_AACvCQAgQAAAsgkAIEEAALEJACBCAACwCQAgBoUEAACUBwAwhgQAAJcEABCHBAAAlAcAMIgEAgDMBgAhiQQCAMwGACG2BEAA6wYAIQMAAABvACABAACWBAAwPgAAlwQAIAMAAABvACABAABwADACAABxACABAAAAdQAgAQAAAHUAIAMAAABzACABAAB0ADACAAB1ACADAAAAcwAgAQAAdAAwAgAAdQAgAwAAAHMAIAEAAHQAMAIAAHUAIAYDAACtCQAgiAQCAAAAAYkEAgAAAAG2BEAAAAAByAQBAAAAAckEIAAAAAEBMgAAnwQAIAWIBAIAAAABiQQCAAAAAbYEQAAAAAHIBAEAAAAByQQgAAAAAQEyAAChBAAwATIAAKEEADAGAwAArAkAIIgEAgCbCAAhiQQCAJsIACG2BEAAxAgAIcgEAQC0CAAhyQQgAOEIACECAAAAdQAgMgAApAQAIAWIBAIAmwgAIYkEAgCbCAAhtgRAAMQIACHIBAEAtAgAIckEIADhCAAhAgAAAHMAIDIAAKYEACACAAAAcwAgMgAApgQAIAMAAAB1ACA5AACfBAAgOgAApAQAIAEAAAB1ACABAAAAcwAgBQsAAKcJACA_AACoCQAgQAAAqwkAIEEAAKoJACBCAACpCQAgCIUEAACTBwAwhgQAAK0EABCHBAAAkwcAMIgEAgDMBgAhiQQCAMwGACG2BEAA6wYAIcgEAQDfBgAhyQQgAIIHACEDAAAAcwAgAQAArAQAMD4AAK0EACADAAAAcwAgAQAAdAAwAgAAdQAgAQAAAHkAIAEAAAB5ACADAAAAdwAgAQAAeAAwAgAAeQAgAwAAAHcAIAEAAHgAMAIAAHkAIAMAAAB3ACABAAB4ADACAAB5ACAHAwAApgkAIIgEAgAAAAGJBAIAAAABtgRAAAAAAcUEAAAAxQQCxgQBAAAAAccEIAAAAAEBMgAAtQQAIAaIBAIAAAABiQQCAAAAAbYEQAAAAAHFBAAAAMUEAsYEAQAAAAHHBCAAAAABATIAALcEADABMgAAtwQAMAcDAAClCQAgiAQCAJsIACGJBAIAmwgAIbYEQADECAAhxQQAAKQJxQQixgQBALQIACHHBCAA4QgAIQIAAAB5ACAyAAC6BAAgBogEAgCbCAAhiQQCAJsIACG2BEAAxAgAIcUEAACkCcUEIsYEAQC0CAAhxwQgAOEIACECAAAAdwAgMgAAvAQAIAIAAAB3ACAyAAC8BAAgAwAAAHkAIDkAALUEACA6AAC6BAAgAQAAAHkAIAEAAAB3ACAFCwAAnwkAID8AAKAJACBAAACjCQAgQQAAogkAIEIAAKEJACAJhQQAAI8HADCGBAAAwwQAEIcEAACPBwAwiAQCAMwGACGJBAIAzAYAIbYEQADrBgAhxQQAAJAHxQQixgQBAN8GACHHBCAAggcAIQMAAAB3ACABAADCBAAwPgAAwwQAIAMAAAB3ACABAAB4ADACAAB5ACAKhQQAAIoHADCGBAAAyQQAEIcEAACKBwAwiAQCAAAAAbIEAQDjBgAhvwQBAOMGACHABEAAjAcAIcEEQACNBwAhwgQCAI4HACHDBAEA2wYAIQEAAADGBAAgAQAAAMYEACAKhQQAAIoHADCGBAAAyQQAEIcEAACKBwAwiAQCAIsHACGyBAEA4wYAIb8EAQDjBgAhwARAAIwHACHBBEAAjQcAIcIEAgCOBwAhwwQBANsGACEDwQQAAJ8IACDCBAAAnwgAIMMEAACfCAAgAwAAAMkEACABAADKBAAwAgAAxgQAIAMAAADJBAAgAQAAygQAMAIAAMYEACADAAAAyQQAIAEAAMoEADACAADGBAAgB4gEAgAAAAGyBAEAAAABvwQBAAAAAcAEQAAAAAHBBEAAAAABwgQCAAAAAcMEAQAAAAEBMgAAzgQAIAeIBAIAAAABsgQBAAAAAb8EAQAAAAHABEAAAAABwQRAAAAAAcIEAgAAAAHDBAEAAAABATIAANAEADABMgAA0AQAMAeIBAIAmwgAIbIEAQC0CAAhvwQBALQIACHABEAAxAgAIcEEQACeCQAhwgQCAM8IACHDBAEApQgAIQIAAADGBAAgMgAA0wQAIAeIBAIAmwgAIbIEAQC0CAAhvwQBALQIACHABEAAxAgAIcEEQACeCQAhwgQCAM8IACHDBAEApQgAIQIAAADJBAAgMgAA1QQAIAIAAADJBAAgMgAA1QQAIAMAAADGBAAgOQAAzgQAIDoAANMEACABAAAAxgQAIAEAAADJBAAgCAsAAJkJACA_AACaCQAgQAAAnQkAIEEAAJwJACBCAACbCQAgwQQAAJ8IACDCBAAAnwgAIMMEAACfCAAgCoUEAACGBwAwhgQAANwEABCHBAAAhgcAMIgEAgDMBgAhsgQBAN8GACG_BAEA3wYAIcAEQADrBgAhwQRAAIcHACHCBAIA8QYAIcMEAQDWBgAhAwAAAMkEACABAADbBAAwPgAA3AQAIAMAAADJBAAgAQAAygQAMAIAAMYEACABAAAAfQAgAQAAAH0AIAMAAAB7ACABAAB8ADACAAB9ACADAAAAewAgAQAAfAAwAgAAfQAgAwAAAHsAIAEAAHwAMAIAAH0AIAoDAACWCQAgFAAAlwkAICEAAJgJACAiAACVCQAgiAQCAAAAAYkEAgAAAAGsBEAAAAABtgRAAAAAAbkEAQAAAAG-BAIAAAABATIAAOQEACAGiAQCAAAAAYkEAgAAAAGsBEAAAAABtgRAAAAAAbkEAQAAAAG-BAIAAAABATIAAOYEADABMgAA5gQAMAEAAAB7ACAKAwAA-wgAIBQAAPwIACAhAAD5CAAgIgAA-ggAIIgEAgCbCAAhiQQCAJsIACGsBEAAxAgAIbYEQADECAAhuQQBALQIACG-BAIAzwgAIQIAAAB9ACAyAADqBAAgBogEAgCbCAAhiQQCAJsIACGsBEAAxAgAIbYEQADECAAhuQQBALQIACG-BAIAzwgAIQIAAAB7ACAyAADsBAAgAgAAAHsAIDIAAOwEACABAAAAewAgAwAAAH0AIDkAAOQEACA6AADqBAAgAQAAAH0AIAEAAAB7ACAGCwAA9AgAID8AAPUIACBAAAD4CAAgQQAA9wgAIEIAAPYIACC-BAAAnwgAIAmFBAAAhQcAMIYEAAD0BAAQhwQAAIUHADCIBAIAzAYAIYkEAgDMBgAhrARAAOsGACG2BEAA6wYAIbkEAQDfBgAhvgQCAPEGACEDAAAAewAgAQAA8wQAMD4AAPQEACADAAAAewAgAQAAfAAwAgAAfQAgAQAAAIMBACABAAAAgwEAIAMAAACBAQAgAQAAggEAMAIAAIMBACADAAAAgQEAIAEAAIIBADACAACDAQAgAwAAAIEBACABAACCAQAwAgAAgwEAIA4DAADxCAAgIwAA8ggAICUAAPMIACCIBAIAAAABiQQCAAAAAagEAQAAAAGpBAQAAAABrARAAAAAAbYEQAAAAAG5BAEAAAABugQCAAAAAbsEIAAAAAG8BAIAAAABvQQBAAAAAQEyAAD8BAAgC4gEAgAAAAGJBAIAAAABqAQBAAAAAakEBAAAAAGsBEAAAAABtgRAAAAAAbkEAQAAAAG6BAIAAAABuwQgAAAAAbwEAgAAAAG9BAEAAAABATIAAP4EADABMgAA_gQAMAEAAAB7ACAOAwAA4ggAICMAAOMIACAlAADkCAAgiAQCAJsIACGJBAIAmwgAIagEAQClCAAhqQQEAMMIACGsBEAAxAgAIbYEQADECAAhuQQBALQIACG6BAIAzwgAIbsEIADhCAAhvAQCAM8IACG9BAEApQgAIQIAAACDAQAgMgAAggUAIAuIBAIAmwgAIYkEAgCbCAAhqAQBAKUIACGpBAQAwwgAIawEQADECAAhtgRAAMQIACG5BAEAtAgAIboEAgDPCAAhuwQgAOEIACG8BAIAzwgAIb0EAQClCAAhAgAAAIEBACAyAACEBQAgAgAAAIEBACAyAACEBQAgAQAAAHsAIAMAAACDAQAgOQAA_AQAIDoAAIIFACABAAAAgwEAIAEAAACBAQAgCQsAANwIACA_AADdCAAgQAAA4AgAIEEAAN8IACBCAADeCAAgqAQAAJ8IACC6BAAAnwgAILwEAACfCAAgvQQAAJ8IACAOhQQAAIEHADCGBAAAjAUAEIcEAACBBwAwiAQCAMwGACGJBAIAzAYAIagEAQDWBgAhqQQEAOoGACGsBEAA6wYAIbYEQADrBgAhuQQBAN8GACG6BAIA8QYAIbsEIACCBwAhvAQCAPEGACG9BAEA1gYAIQMAAACBAQAgAQAAiwUAMD4AAIwFACADAAAAgQEAIAEAAIIBADACAACDAQAgAQAAAIgBACABAAAAiAEAIAMAAACGAQAgAQAAhwEAMAIAAIgBACADAAAAhgEAIAEAAIcBADACAACIAQAgAwAAAIYBACABAACHAQAwAgAAiAEAIAYkAADbCAAgMgABAAABiAQCAAAAAbYEQAAAAAG3BAIAAAABuAQCAAAAAQEyAACUBQAgBTIAAQAAAYgEAgAAAAG2BEAAAAABtwQCAAAAAbgEAgAAAAEBMgAAlgUAMAEyAACWBQAwBiQAANoIACAyAAHZCAAhiAQCAJsIACG2BEAAxAgAIbcEAgCbCAAhuAQCAJsIACECAAAAiAEAIDIAAJkFACAFMgAB2QgAIYgEAgCbCAAhtgRAAMQIACG3BAIAmwgAIbgEAgCbCAAhAgAAAIYBACAyAACbBQAgAgAAAIYBACAyAACbBQAgAwAAAIgBACA5AACUBQAgOgAAmQUAIAEAAACIAQAgAQAAAIYBACAFCwAA1AgAID8AANUIACBAAADYCAAgQQAA1wgAIEIAANYIACAIMgAB_gYAIYUEAAD9BgAwhgQAAKIFABCHBAAA_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-QUAIAIAAACRAQAgMgAA-QUAIAMAAADrBQAgOQAA8gUAIDoAAPcFACABAAAA6wUAIAEAAACRAQAgBQsAAK8IACA_AACwCAAgQAAAswgAIEEAALIIACBCAACxCAAgBoUEAADeBgAwhgQAAIAGABCHBAAA3gYAMIgEAgDMBgAhiQQCAMwGACGgBAEA3wYAIQMAAACRAQAgAQAA_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_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_AADRBgAgQAAA7wYAIEEAAO8GACBCAADvBgAgigQEAAAAAZEEBAAAAAGSBAQAAAABkwQEAAAAAZQEBAAAAAGVBAQA7gYAIZYEBAAAAASXBAQAAAAECwsAAM4GACBBAADtBgAgQgAA7QYAIIoEQAAAAAGRBEAAAAABkgRAAAAAAZMEQAAAAAGUBEAAAAABlQRAAOwGACGWBEAAAAAElwRAAAAABAsLAADOBgAgQQAA7QYAIEIAAO0GACCKBEAAAAABkQRAAAAAAZIEQAAAAAGTBEAAAAABlARAAAAAAZUEQADsBgAhlgRAAAAABJcEQAAAAAQIigRAAAAAAZEEQAAAAAGSBEAAAAABkwRAAAAAAZQEQAAAAAGVBEAA7QYAIZYEQAAAAASXBEAAAAAEDQsAAM4GACA_AADRBgAgQAAA7wYAIEEAAO8GACBCAADvBgAgigQEAAAAAZEEBAAAAAGSBAQAAAABkwQEAAAAAZQEBAAAAAGVBAQA7gYAIZYEBAAAAASXBAQAAAAECIoEBAAAAAGRBAQAAAABkgQEAAAAAZMEBAAAAAGUBAQAAAABlQQEAO8GACGWBAQAAAAElwQEAAAABA2FBAAA8AYAMIYEAAC6BQAQhwQAAPAGADCIBAIAzAYAIYkEAgDxBgAhpQQCAMwGACGuBAAA8gauBCKwBAAA8wawBCKyBAAA9AayBCKzBAEA1gYAIbQEAgDxBgAhtQQBANYGACG2BEAA6wYAIQ0LAADYBgAgPwAA_AYAIEAAANgGACBBAADYBgAgQgAA2AYAIIoEAgAAAAGRBAIAAAABkgQCAAAAAZMEAgAAAAGUBAIAAAABlQQCAPsGACGWBAIAAAAFlwQCAAAABQcLAADOBgAgQQAA-gYAIEIAAPoGACCKBAAAAK4EApUEAAD5Bq4EIpYEAAAArgQIlwQAAACuBAgHCwAAzgYAIEEAAPgGACBCAAD4BgAgigQAAACwBAKVBAAA9wawBCKWBAAAALAECJcEAAAAsAQIBwsAAM4GACBBAAD2BgAgQgAA9gYAIIoEAAAAsgQClQQAAPUGsgQilgQAAACyBAiXBAAAALIECAcLAADOBgAgQQAA9gYAIEIAAPYGACCKBAAAALIEApUEAAD1BrIEIpYEAAAAsgQIlwQAAACyBAgEigQAAACyBAKVBAAA9gayBCKWBAAAALIECJcEAAAAsgQIBwsAAM4GACBBAAD4BgAgQgAA-AYAIIoEAAAAsAQClQQAAPcGsAQilgQAAACwBAiXBAAAALAECASKBAAAALAEApUEAAD4BrAEIpYEAAAAsAQIlwQAAACwBAgHCwAAzgYAIEEAAPoGACBCAAD6BgAgigQAAACuBAKVBAAA-QauBCKWBAAAAK4ECJcEAAAArgQIBIoEAAAArgQClQQAAPoGrgQilgQAAACuBAiXBAAAAK4ECA0LAADYBgAgPwAA_AYAIEAAANgGACBBAADYBgAgQgAA2AYAIIoEAgAAAAGRBAIAAAABkgQCAAAAAZMEAgAAAAGUBAIAAAABlQQCAPsGACGWBAIAAAAFlwQCAAAABQiKBAgAAAABkQQIAAAAAZIECAAAAAGTBAgAAAABlAQIAAAAAZUECAD8BgAhlgQIAAAABZcECAAAAAUIMgAB_gYAIYUEAAD9BgAwhgQAAKIFABCHBAAA_QYAMIgEAgDMBgAhtgRAAOsGACG3BAIAzAYAIbgEAgDMBgAhBwsAAM4GACBBAACABwAgQgAAgAcAIIoEAAEAAAGVBAAB_wYAIZYEAAEAAASXBAABAAAEBwsAAM4GACBBAACABwAgQgAAgAcAIIoEAAEAAAGVBAAB_wYAIZYEAAEAAASXBAABAAAEBIoEAAEAAAGVBAABgAcAIZYEAAEAAASXBAABAAAEDoUEAACBBwAwhgQAAIwFABCHBAAAgQcAMIgEAgDMBgAhiQQCAMwGACGoBAEA1gYAIakEBADqBgAhrARAAOsGACG2BEAA6wYAIbkEAQDfBgAhugQCAPEGACG7BCAAggcAIbwEAgDxBgAhvQQBANYGACEFCwAAzgYAIEEAAIQHACBCAACEBwAgigQgAAAAAZUEIACDBwAhBQsAAM4GACBBAACEBwAgQgAAhAcAIIoEIAAAAAGVBCAAgwcAIQKKBCAAAAABlQQgAIQHACEJhQQAAIUHADCGBAAA9AQAEIcEAACFBwAwiAQCAMwGACGJBAIAzAYAIawEQADrBgAhtgRAAOsGACG5BAEA3wYAIb4EAgDxBgAhCoUEAACGBwAwhgQAANwEABCHBAAAhgcAMIgEAgDMBgAhsgQBAN8GACG_BAEA3wYAIcAEQADrBgAhwQRAAIcHACHCBAIA8QYAIcMEAQDWBgAhCwsAANgGACBBAACJBwAgQgAAiQcAIIoEQAAAAAGRBEAAAAABkgRAAAAAAZMEQAAAAAGUBEAAAAABlQRAAIgHACGWBEAAAAAFlwRAAAAABQsLAADYBgAgQQAAiQcAIEIAAIkHACCKBEAAAAABkQRAAAAAAZIEQAAAAAGTBEAAAAABlARAAAAAAZUEQACIBwAhlgRAAAAABZcEQAAAAAUIigRAAAAAAZEEQAAAAAGSBEAAAAABkwRAAAAAAZQEQAAAAAGVBEAAiQcAIZYEQAAAAAWXBEAAAAAFCoUEAACKBwAwhgQAAMkEABCHBAAAigcAMIgEAgCLBwAhsgQBAOMGACG_BAEA4wYAIcAEQACMBwAhwQRAAI0HACHCBAIAjgcAIcMEAQDbBgAhCIoEAgAAAAGRBAIAAAABkgQCAAAAAZMEAgAAAAGUBAIAAAABlQQCAM4GACGWBAIAAAAElwQCAAAABAiKBEAAAAABkQRAAAAAAZIEQAAAAAGTBEAAAAABlARAAAAAAZUEQADtBgAhlgRAAAAABJcEQAAAAAQIigRAAAAAAZEEQAAAAAGSBEAAAAABkwRAAAAAAZQEQAAAAAGVBEAAiQcAIZYEQAAAAAWXBEAAAAAFCIoEAgAAAAGRBAIAAAABkgQCAAAAAZMEAgAAAAGUBAIAAAABlQQCANgGACGWBAIAAAAFlwQCAAAABQmFBAAAjwcAMIYEAADDBAAQhwQAAI8HADCIBAIAzAYAIYkEAgDMBgAhtgRAAOsGACHFBAAAkAfFBCLGBAEA3wYAIccEIACCBwAhBwsAAM4GACBBAACSBwAgQgAAkgcAIIoEAAAAxQQClQQAAJEHxQQilgQAAADFBAiXBAAAAMUECAcLAADOBgAgQQAAkgcAIEIAAJIHACCKBAAAAMUEApUEAACRB8UEIpYEAAAAxQQIlwQAAADFBAgEigQAAADFBAKVBAAAkgfFBCKWBAAAAMUECJcEAAAAxQQICIUEAACTBwAwhgQAAK0EABCHBAAAkwcAMIgEAgDMBgAhiQQCAMwGACG2BEAA6wYAIcgEAQDfBgAhyQQgAIIHACEGhQQAAJQHADCGBAAAlwQAEIcEAACUBwAwiAQCAMwGACGJBAIAzAYAIbYEQADrBgAhDoUEAACVBwAwhgQAAIEEABCHBAAAlQcAMIgEAgDMBgAhtgRAAOsGACHKBAIAzAYAIcsEAgDMBgAhzAQBANYGACHNBBAAlgcAIc4EEACWBwAh0AQAAJcH0AQi0QRAAOsGACHSBAEA1gYAIdMEAQDWBgAhDQsAAM4GACA_AACbBwAgQAAAmwcAIEEAAJsHACBCAACbBwAgigQQAAAAAZEEEAAAAAGSBBAAAAABkwQQAAAAAZQEEAAAAAGVBBAAmgcAIZYEEAAAAASXBBAAAAAEBwsAAM4GACBBAACZBwAgQgAAmQcAIIoEAAAA0AQClQQAAJgH0AQilgQAAADQBAiXBAAAANAECAcLAADOBgAgQQAAmQcAIEIAAJkHACCKBAAAANAEApUEAACYB9AEIpYEAAAA0AQIlwQAAADQBAgEigQAAADQBAKVBAAAmQfQBCKWBAAAANAECJcEAAAA0AQIDQsAAM4GACA_AACbBwAgQAAAmwcAIEEAAJsHACBCAACbBwAgigQQAAAAAZEEEAAAAAGSBBAAAAABkwQQAAAAAZQEEAAAAAGVBBAAmgcAIZYEEAAAAASXBBAAAAAECIoEEAAAAAGRBBAAAAABkgQQAAAAAZMEEAAAAAGUBBAAAAABlQQQAJsHACGWBBAAAAAElwQQAAAABBSFBAAAnAcAMIYEAADrAwAQhwQAAJwHADCIBAIAzAYAIYkEAgDMBgAhpQQCAMwGACGsBEAA6wYAIbIEAACeB94EIrYEQADrBgAh0wQBANYGACHUBAIA8QYAIdUEAgDxBgAh1gQQAJYHACHXBBAAlgcAIdgEEACWBwAh2QQQAJYHACHaBBAAnQcAIdsEEACWBwAh3AQQAJYHACHeBAEA1gYAIQ0LAADYBgAgPwAAogcAIEAAAKIHACBBAACiBwAgQgAAogcAIIoEEAAAAAGRBBAAAAABkgQQAAAAAZMEEAAAAAGUBBAAAAABlQQQAKEHACGWBBAAAAAFlwQQAAAABQcLAADOBgAgQQAAoAcAIEIAAKAHACCKBAAAAN4EApUEAACfB94EIpYEAAAA3gQIlwQAAADeBAgHCwAAzgYAIEEAAKAHACBCAACgBwAgigQAAADeBAKVBAAAnwfeBCKWBAAAAN4ECJcEAAAA3gQIBIoEAAAA3gQClQQAAKAH3gQilgQAAADeBAiXBAAAAN4ECA0LAADYBgAgPwAAogcAIEAAAKIHACBBAACiBwAgQgAAogcAIIoEEAAAAAGRBBAAAAABkgQQAAAAAZMEEAAAAAGUBBAAAAABlQQQAKEHACGWBBAAAAAFlwQQAAAABQiKBBAAAAABkQQQAAAAAZIEEAAAAAGTBBAAAAABlAQQAAAAAZUEEACiBwAhlgQQAAAABZcEEAAAAAUIhQQAAKMHADCGBAAA0QMAEIcEAACjBwAwiAQCAMwGACGmBAEA3wYAIasEQADrBgAh3wQAAf4GACHgBAIAzAYAIQiFBAAApAcAMIYEAAC7AwAQhwQAAKQHADCIBAIAzAYAIaUEAgDMBgAhtgRAAOsGACHhBAEA3wYAIeMEAAClB-MEIgcLAADOBgAgQQAApwcAIEIAAKcHACCKBAAAAOMEApUEAACmB-MEIpYEAAAA4wQIlwQAAADjBAgHCwAAzgYAIEEAAKcHACBCAACnBwAgigQAAADjBAKVBAAApgfjBCKWBAAAAOMECJcEAAAA4wQIBIoEAAAA4wQClQQAAKcH4wQilgQAAADjBAiXBAAAAOMECAiFBAAAqAcAMIYEAAClAwAQhwQAAKgHADCIBAIAzAYAIYkEAgDMBgAh5AQBAN8GACHlBAEA3wYAIeYEAQDfBgAhCIUEAACpBwAwhgQAAI8DABCHBAAAqQcAMIgEAgDMBgAhpgQBAN8GACGoBAEA3wYAIaoEAQDWBgAh1AQCAMwGACEUhQQAAKoHADCGBAAA-QIAEIcEAACqBwAwiAQCAMwGACGyBAAAqwfwBCLKBAIA8QYAIdQEAgDxBgAh1gQQAJYHACHXBBAAlgcAIdgEEACWBwAh2QQQAJYHACHeBAEA1gYAIecEAQDfBgAh6ARAAOsGACHpBAEA1gYAIeoEAQDWBgAh6wQBANYGACHsBAEA1gYAIe0EAQDWBgAh7gQQAJ0HACEHCwAAzgYAIEEAAK0HACBCAACtBwAgigQAAADwBAKVBAAArAfwBCKWBAAAAPAECJcEAAAA8AQIBwsAAM4GACBBAACtBwAgQgAArQcAIIoEAAAA8AQClQQAAKwH8AQilgQAAADwBAiXBAAAAPAECASKBAAAAPAEApUEAACtB_AEIpYEAAAA8AQIlwQAAADwBAgVhQQAAK4HADCGBAAA3wIAEIcEAACuBwAwiAQCAMwGACGJBAIAzAYAIaUEAgDMBgAhrARAAOsGACGyBAAAsAf8BCK2BEAA6wYAIfAEAgDMBgAh8QQCAMwGACHyBAEA3wYAIfMEAQDfBgAh9ARAAOsGACH1BAEA3wYAIfcEAACvB_cEIvgEAADlBgAg-QRAAOsGACH6BAEA3wYAIfwEAQDWBgAh_QQCAPEGACEHCwAAzgYAIEEAALQHACBCAAC0BwAgigQAAAD3BAKVBAAAswf3BCKWBAAAAPcECJcEAAAA9wQIBwsAAM4GACBBAACyBwAgQgAAsgcAIIoEAAAA_AQClQQAALEH_AQilgQAAAD8BAiXBAAAAPwECAcLAADOBgAgQQAAsgcAIEIAALIHACCKBAAAAPwEApUEAACxB_wEIpYEAAAA_AQIlwQAAAD8BAgEigQAAAD8BAKVBAAAsgf8BCKWBAAAAPwECJcEAAAA_AQIBwsAAM4GACBBAAC0BwAgQgAAtAcAIIoEAAAA9wQClQQAALMH9wQilgQAAAD3BAiXBAAAAPcECASKBAAAAPcEApUEAAC0B_cEIpYEAAAA9wQIlwQAAAD3BAgRhQQAALUHADCGBAAAwwIAEIcEAAC1BwAwiAQCAMwGACGlBAIAzAYAIbYEQADrBgAh5wQBAN8GACHrBAEA1gYAIewEAQDWBgAh8AQCAMwGACH9BAIA8QYAIf4EAQDWBgAh_wQQAJ0HACGABQEA1gYAIYEFAQDWBgAhgwUAALYHgwUihAUBANYGACEHCwAAzgYAIEEAALgHACBCAAC4BwAgigQAAACDBQKVBAAAtweDBSKWBAAAAIMFCJcEAAAAgwUIBwsAAM4GACBBAAC4BwAgQgAAuAcAIIoEAAAAgwUClQQAALcHgwUilgQAAACDBQiXBAAAAIMFCASKBAAAAIMFApUEAAC4B4MFIpYEAAAAgwUIlwQAAACDBQgIhQQAALkHADCGBAAAqwIAEIcEAAC5BwAwiAQCAMwGACGJBAIAzAYAIbYEQADrBgAhhQUBAN8GACGGBQEA3wYAIQqFBAAAugcAMIYEAACVAgAQhwQAALoHADCIBAIAzAYAIYkEAgDMBgAhmwQBANYGACG2BEAA6wYAIbkEAQDfBgAhhwUBAN8GACGIBQEA1gYAIQiFBAAAuwcAMIYEAAD9AQAQhwQAALsHADCIBAIAzAYAIaYEAQDfBgAhqAQBANYGACGqBAEA1gYAIfAEAgDMBgAhEYUEAAC8BwAwhgQAAOcBABCHBAAAvAcAMIgEAgDMBgAhiQQCAMwGACGlBAIAzAYAIbIEAQDfBgAhtgRAAOsGACHFBAEA3wYAIdMEAQDWBgAh4QQBAN8GACHxBAIAzAYAIYkFQADrBgAhigUBAN8GACGLBQEA3wYAIYwFAQDWBgAhjgUAAL0HjgUiBwsAAM4GACBBAAC_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-B_wEIrYEQACMBwAh8AQCAIsHACHxBAIAiwcAIfIEAQDjBgAh8wQBAOMGACH0BEAAjAcAIfUEAQDjBgAh9wQAAP0H9wQi-AQAAOgGACD5BEAAjAcAIfoEAQDjBgAh_AQBANsGACH9BAIAjgcAIaMFAAAQACCkBQAAEAAgA50FAAApACCeBQAAKQAgnwUAACkAIAOdBQAAIAAgngUAACAAIJ8FAAAgACAJFQAA6gcAIIUEAADpBwAwhgQAAEoAEIcEAADpBwAwiAQCAIsHACGmBAEA4wYAIasEQACMBwAh3wQAAcQHACHgBAIAiwcAIQwEAADdBwAgFgAA7QcAIIUEAADrBwAwhgQAAEYAEIcEAADrBwAwiAQCAIsHACGlBAIAiwcAIbYEQACMBwAh4QQBAOMGACHjBAAA7AfjBCKjBQAARgAgpAUAAEYAIAoEAADdBwAgFgAA7QcAIIUEAADrBwAwhgQAAEYAEIcEAADrBwAwiAQCAIsHACGlBAIAiwcAIbYEQACMBwAh4QQBAOMGACHjBAAA7AfjBCIEigQAAADjBAKVBAAApwfjBCKWBAAAAOMECJcEAAAA4wQIA50FAABKACCeBQAASgAgnwUAAEoAIAkGAADvBwAghQQAAO4HADCGBAAAPQAQhwQAAO4HADCIBAIAiwcAIaYEAQDjBgAhqAQBANsGACGqBAEA2wYAIfAEAgCLBwAhGQMAANQGACAEAADdBwAgBwAA_wcAIAgAANcHACATAADYBwAgFAAAkggAIIUEAACQCAAwhgQAAAcAEIcEAACQCAAwiAQCAIsHACGJBAIAiwcAIaUEAgCLBwAhsgQBAOMGACG2BEAAjAcAIcUEAQDjBgAh0wQBANsGACHhBAEA4wYAIfEEAgCLBwAhiQVAAIwHACGKBQEA4wYAIYsFAQDjBgAhjAUBANsGACGOBQAAkQiOBSKjBQAABwAgpAUAAAcAIAkMAADxBwAghQQAAPAHADCGBAAAMgAQhwQAAPAHADCIBAIAiwcAIaYEAQDjBgAhqAQBAOMGACGqBAEA2wYAIdQEAgCLBwAhHwMAANoHACAEAADdBwAgBgAA7wcAIAcAAP8HACAJAAD7BwAgDgAA-AcAIBEAAOgHACASAACACAAghQQAAPwHADCGBAAAEAAQhwQAAPwHADCIBAIAiwcAIYkEAgCLBwAhpQQCAIsHACGsBEAAjAcAIbIEAAD-B_wEIrYEQACMBwAh8AQCAIsHACHxBAIAiwcAIfIEAQDjBgAh8wQBAOMGACH0BEAAjAcAIfUEAQDjBgAh9wQAAP0H9wQi-AQAAOgGACD5BEAAjAcAIfoEAQDjBgAh_AQBANsGACH9BAIAjgcAIaMFAAAQACCkBQAAEAAgEA4AAPQHACAPAAD1BwAghQQAAPIHADCGBAAAKQAQhwQAAPIHADCIBAIAiwcAIbYEQACMBwAhygQCAIsHACHLBAIAiwcAIcwEAQDbBgAhzQQQAOMHACHOBBAA4wcAIdAEAADzB9AEItEEQACMBwAh0gQBANsGACHTBAEA2wYAIQSKBAAAANAEApUEAACZB9AEIpYEAAAA0AQIlwQAAADQBAgbBAAA3QcAIAwAAOYHACANAADaBwAgEAAA5wcAIBEAAOgHACCFBAAA4gcAMIYEAAAlABCHBAAA4gcAMIgEAgCLBwAhiQQCAIsHACGlBAIAiwcAIawEQACMBwAhsgQAAOUH3gQitgRAAIwHACHTBAEA2wYAIdQEAgCOBwAh1QQCAI4HACHWBBAA4wcAIdcEEADjBwAh2AQQAOMHACHZBBAA4wcAIdoEEADkBwAh2wQQAOMHACHcBBAA4wcAId4EAQDbBgAhowUAACUAIKQFAAAlACAZDAAA5gcAIA4AAPgHACAQAADnBwAghQQAAPYHADCGBAAAIAAQhwQAAPYHADCIBAIAiwcAIbIEAAD3B_AEIsoEAgCOBwAh1AQCAI4HACHWBBAA4wcAIdcEEADjBwAh2AQQAOMHACHZBBAA4wcAId4EAQDbBgAh5wQBAOMGACHoBEAAjAcAIekEAQDbBgAh6gQBANsGACHrBAEA2wYAIewEAQDbBgAh7QQBANsGACHuBBAA5AcAIaMFAAAgACCkBQAAIAAgFwwAAOYHACAOAAD4BwAgEAAA5wcAIIUEAAD2BwAwhgQAACAAEIcEAAD2BwAwiAQCAIsHACGyBAAA9wfwBCLKBAIAjgcAIdQEAgCOBwAh1gQQAOMHACHXBBAA4wcAIdgEEADjBwAh2QQQAOMHACHeBAEA2wYAIecEAQDjBgAh6ARAAIwHACHpBAEA2wYAIeoEAQDbBgAh6wQBANsGACHsBAEA2wYAIe0EAQDbBgAh7gQQAOQHACEEigQAAADwBAKVBAAArQfwBCKWBAAAAPAECJcEAAAA8AQIGwQAAN0HACAMAADmBwAgDQAA2gcAIBAAAOcHACARAADoBwAghQQAAOIHADCGBAAAJQAQhwQAAOIHADCIBAIAiwcAIYkEAgCLBwAhpQQCAIsHACGsBEAAjAcAIbIEAADlB94EIrYEQACMBwAh0wQBANsGACHUBAIAjgcAIdUEAgCOBwAh1gQQAOMHACHXBBAA4wcAIdgEEADjBwAh2QQQAOMHACHaBBAA5AcAIdsEEADjBwAh3AQQAOMHACHeBAEA2wYAIaMFAAAlACCkBQAAJQAgFAQAAN0HACAGAADvBwAgCQAA-wcAIIUEAAD5BwAwhgQAABkAEIcEAAD5BwAwiAQCAIsHACGlBAIAiwcAIbYEQACMBwAh5wQBAOMGACHrBAEA2wYAIewEAQDbBgAh8AQCAIsHACH9BAIAjgcAIf4EAQDbBgAh_wQQAOQHACGABQEA2wYAIYEFAQDbBgAhgwUAAPoHgwUihAUBANsGACEEigQAAACDBQKVBAAAuAeDBSKWBAAAAIMFCJcEAAAAgwUIDQMAANQGACAIAADXBwAgCgAA2AcAIIUEAADWBwAwhgQAABYAEIcEAADWBwAwiAQCAIsHACGJBAIAiwcAIbYEQACMBwAhhQUBAOMGACGGBQEA4wYAIaMFAAAWACCkBQAAFgAgHQMAANoHACAEAADdBwAgBgAA7wcAIAcAAP8HACAJAAD7BwAgDgAA-AcAIBEAAOgHACASAACACAAghQQAAPwHADCGBAAAEAAQhwQAAPwHADCIBAIAiwcAIYkEAgCLBwAhpQQCAIsHACGsBEAAjAcAIbIEAAD-B_wEIrYEQACMBwAh8AQCAIsHACHxBAIAiwcAIfIEAQDjBgAh8wQBAOMGACH0BEAAjAcAIfUEAQDjBgAh9wQAAP0H9wQi-AQAAOgGACD5BEAAjAcAIfoEAQDjBgAh_AQBANsGACH9BAIAjgcAIQSKBAAAAPcEApUEAAC0B_cEIpYEAAAA9wQIlwQAAAD3BAgEigQAAAD8BAKVBAAAsgf8BCKWBAAAAPwECJcEAAAA_AQIDwMAANoHACAFAADbBwAgCAAA1wcAIIUEAADZBwAwhgQAAAsAEIcEAADZBwAwiAQCAIsHACGJBAIAiwcAIZsEAQDbBgAhtgRAAIwHACG5BAEA4wYAIYcFAQDjBgAhiAUBANsGACGjBQAACwAgpAUAAAsAIAOdBQAAMgAgngUAADIAIJ8FAAAyACAaBQAA2wcAIAcAAIMIACAIAADXBwAgGAAAiggAIBoAAIIIACAbAACECAAgHAAAhQgAIB0AAIYIACAeAACHCAAgHwAAiAgAICAAAIkIACAmAADNBwAgJwAAzgcAICgAAIsIACApAACMCAAgKgAAjQgAICsAAI4IACAsAACPCAAghQQAAIEIADCGBAAADQAQhwQAAIEIADCIBAIAiwcAIeUEAQDjBgAh5gQBAOMGACGaBSAAyAcAIZsFIADIBwAhA50FAAADACCeBQAAAwAgnwUAAAMAIAOdBQAACwAgngUAAAsAIJ8FAAALACADnQUAABYAIJ4FAAAWACCfBQAAFgAgA50FAABqACCeBQAAagAgnwUAAGoAIAOdBQAAJQAgngUAACUAIJ8FAAAlACADnQUAAG8AIJ4FAABvACCfBQAAbwAgA50FAABzACCeBQAAcwAgnwUAAHMAIAOdBQAAdwAgngUAAHcAIJ8FAAB3ACADnQUAAFIAIJ4FAABSACCfBQAAUgAgDQMAANQGACCFBAAA5wYAMIYEAACPAQAQhwQAAOcGADCIBAIAiwcAIYkEAgCLBwAhmgQBAOMGACGhBAEA4wYAIaIEAQDjBgAhowQBANsGACGkBAAA6AYAIKMFAACPAQAgpAUAAI8BACAJAwAA1AYAIIUEAADiBgAwhgQAAJEBABCHBAAA4gYAMIgEAgCLBwAhiQQCAIsHACGgBAEA4wYAIaMFAACRAQAgpAUAAJEBACAJAwAA1AYAIDIAANMGACCFBAAA3QYAMIYEAACTAQAQhwQAAN0GADCIBAIAiwcAIYkEAgCLBwAhowUAAJMBACCkBQAAkwEAIA0DAADUBgAghQQAANoGADCGBAAAlQEAEIcEAADaBgAwiAQCAIsHACGJBAIAiwcAIZgEAQDbBgAhmQQBANsGACGaBAEA2wYAIZsEAQDbBgAhnAQBANsGACGjBQAAlQEAIKQFAACVAQAgCQMAANQGACAyAADTBgAghQQAANIGADCGBAAAlwEAEIcEAADSBgAwiAQCAIsHACGJBAIAiwcAIaMFAACXAQAgpAUAAJcBACAXAwAA1AYAIAQAAN0HACAHAAD_BwAgCAAA1wcAIBMAANgHACAUAACSCAAghQQAAJAIADCGBAAABwAQhwQAAJAIADCIBAIAiwcAIYkEAgCLBwAhpQQCAIsHACGyBAEA4wYAIbYEQACMBwAhxQQBAOMGACHTBAEA2wYAIeEEAQDjBgAh8QQCAIsHACGJBUAAjAcAIYoFAQDjBgAhiwUBAOMGACGMBQEA2wYAIY4FAACRCI4FIgSKBAAAAI4FApUEAAC_B44FIpYEAAAAjgUIlwQAAACOBQgDnQUAAD0AIJ4FAAA9ACCfBQAAPQAgHwMAANQGACAFAADbBwAgCAAA1wcAIA4AAIYIACATAADYBwAgFwAAlAgAIBgAAIoIACAZAACVCAAghQQAAJMIADCGBAAAAwAQhwQAAJMIADCIBAIAiwcAIYkEAgCLBwAhmwQBANsGACGsBEAAjAcAIbIEAACRCI4FIrYEQACMBwAh9ARAAI0HACH6BAEA2wYAIYgFAQDjBgAhjwUBAOMGACGQBQEA4wYAIZEFAQDjBgAhkgUBANsGACGTBQEA2wYAIZQFAQDbBgAhlQUBANsGACGWBQEA2wYAIZcFAQDbBgAhmAUBANsGACGZBQEA2wYAIQOdBQAARgAgngUAAEYAIJ8FAABGACADnQUAAFcAIJ4FAABXACCfBQAAVwAgAAAAAAAFqAUCAAAAAa4FAgAAAAGvBQIAAAABsAUCAAAAAbEFAgAAAAEFOQAAohAAIDoAAKUQACClBQAAoxAAIKYFAACkEAAgqwUAAAEAIAM5AACiEAAgpQUAAKMQACCrBQAAAQAgEgUAAI0OACAHAACODgAgCAAAkA4AIBgAAJgOACAaAACMDgAgGwAAjw4AIBwAAJEOACAdAACSDgAgHgAAkw4AIB8AAJQOACAgAACVDgAgJgAAlg4AICcAAJcOACAoAACZDgAgKQAAmg4AICoAAJsOACArAACcDgAgLAAAnQ4AIAAAAAAAAAGoBQEAAAABBTkAAJ0QACA6AACgEAAgpQUAAJ4QACCmBQAAnxAAIKsFAAABACADOQAAnRAAIKUFAACeEAAgqwUAAAEAIAAAAAAABTkAAJgQACA6AACbEAAgpQUAAJkQACCmBQAAmhAAIKsFAAABACADOQAAmBAAIKUFAACZEAAgqwUAAAEAIAAAAAAAAagFAQAAAAEFOQAAkxAAIDoAAJYQACClBQAAlBAAIKYFAACVEAAgqwUAAAEAIAM5AACTEAAgpQUAAJQQACCrBQAAAQAgAAAAAAAFOQAAjhAAIDoAAJEQACClBQAAjxAAIKYFAACQEAAgqwUAAAEAIAM5AACOEAAgpQUAAI8QACCrBQAAAQAgAAAAAAAFqAUEAAAAAa4FBAAAAAGvBQQAAAABsAUEAAAAAbEFBAAAAAEBqAVAAAAAAQU5AACJEAAgOgAAjBAAIKUFAACKEAAgpgUAAIsQACCrBQAABQAgAzkAAIkQACClBQAAihAAIKsFAAAFACAAAAAAAAGoBQAAAK4EAgGoBQAAALAEAgGoBQAAALIEAgWoBQIAAAABrgUCAAAAAa8FAgAAAAGwBQIAAAABsQUCAAAAAQU5AACBEAAgOgAAhxAAIKUFAACCEAAgpgUAAIYQACCrBQAABQAgBzkAAP8PACA6AACEEAAgpQUAAIAQACCmBQAAgxAAIKkFAAANACCqBQAADQAgqwUAAAEAIAM5AACBEAAgpQUAAIIQACCrBQAABQAgAzkAAP8PACClBQAAgBAAIKsFAAABACAAAAAAAAGoBQABAAABBTkAAPoPACA6AAD9DwAgpQUAAPsPACCmBQAA_A8AIKsFAACDAQAgAzkAAPoPACClBQAA-w8AIKsFAACDAQAgAAAAAAABqAUgAAAAAQU5AADxDwAgOgAA-A8AIKUFAADyDwAgpgUAAPcPACCrBQAAAQAgBzkAAO8PACA6AAD1DwAgpQUAAPAPACCmBQAA9A8AIKkFAAB7ACCqBQAAewAgqwUAAH0AIAs5AADlCAAwOgAA6ggAMKUFAADmCAAwpgUAAOcIADCnBQAA6AgAIKgFAADpCAAwqQUAAOkIADCqBQAA6QgAMKsFAADpCAAwrAUAAOsIADCtBQAA7AgAMAQyAAEAAAGIBAIAAAABtgRAAAAAAbgEAgAAAAECAAAAiAEAIDkAAPAIACADAAAAiAEAIDkAAPAIACA6AADvCAAgATIAAPMPADAKJAAAxQcAIDIAAcQHACGFBAAAwwcAMIYEAACGAQAQhwQAAMMHADCIBAIAAAABtgRAAIwHACG3BAIAiwcAIbgEAgCLBwAhnAUAAMIHACACAAAAiAEAIDIAAO8IACACAAAA7QgAIDIAAO4IACAIMgABxAcAIYUEAADsCAAwhgQAAO0IABCHBAAA7AgAMIgEAgCLBwAhtgRAAIwHACG3BAIAiwcAIbgEAgCLBwAhCDIAAcQHACGFBAAA7AgAMIYEAADtCAAQhwQAAOwIADCIBAIAiwcAIbYEQACMBwAhtwQCAIsHACG4BAIAiwcAIQQyAAHZCAAhiAQCAJsIACG2BEAAxAgAIbgEAgCbCAAhBDIAAdkIACGIBAIAmwgAIbYEQADECAAhuAQCAJsIACEEMgABAAABiAQCAAAAAbYEQAAAAAG4BAIAAAABAzkAAPEPACClBQAA8g8AIKsFAAABACADOQAA7w8AIKUFAADwDwAgqwUAAH0AIAQ5AADlCAAwpQUAAOYIADCnBQAA6AgAIKsFAADpCAAwAAAAAAAHOQAA4w8AIDoAAO0PACClBQAA5A8AIKYFAADsDwAgqQUAAHsAIKoFAAB7ACCrBQAAfQAgCzkAAIkJADA6AACOCQAwpQUAAIoJADCmBQAAiwkAMKcFAACMCQAgqAUAAI0JADCpBQAAjQkAMKoFAACNCQAwqwUAAI0JADCsBQAAjwkAMK0FAACQCQAwBTkAAOUPACA6AADqDwAgpQUAAOYPACCmBQAA6Q8AIKsFAAABACALOQAA_QgAMDoAAIIJADClBQAA_ggAMKYFAAD_CAAwpwUAAIAJACCoBQAAgQkAMKkFAACBCQAwqgUAAIEJADCrBQAAgQkAMKwFAACDCQAwrQUAAIQJADAMAwAA8QgAICUAAPMIACCIBAIAAAABiQQCAAAAAagEAQAAAAGpBAQAAAABrARAAAAAAbYEQAAAAAG5BAEAAAABuwQgAAAAAbwEAgAAAAG9BAEAAAABAgAAAIMBACA5AACICQAgAwAAAIMBACA5AACICQAgOgAAhwkAIAEyAADoDwAwEQMAANQGACAjAADJBwAgJQAAygcAIIUEAADGBwAwhgQAAIEBABCHBAAAxgcAMIgEAgAAAAGJBAIAiwcAIagEAQDbBgAhqQQEAMcHACGsBEAAjAcAIbYEQACMBwAhuQQBAOMGACG6BAIAjgcAIbsEIADIBwAhvAQCAI4HACG9BAEA2wYAIQIAAACDAQAgMgAAhwkAIAIAAACFCQAgMgAAhgkAIA6FBAAAhAkAMIYEAACFCQAQhwQAAIQJADCIBAIAiwcAIYkEAgCLBwAhqAQBANsGACGpBAQAxwcAIawEQACMBwAhtgRAAIwHACG5BAEA4wYAIboEAgCOBwAhuwQgAMgHACG8BAIAjgcAIb0EAQDbBgAhDoUEAACECQAwhgQAAIUJABCHBAAAhAkAMIgEAgCLBwAhiQQCAIsHACGoBAEA2wYAIakEBADHBwAhrARAAIwHACG2BEAAjAcAIbkEAQDjBgAhugQCAI4HACG7BCAAyAcAIbwEAgCOBwAhvQQBANsGACEKiAQCAJsIACGJBAIAmwgAIagEAQClCAAhqQQEAMMIACGsBEAAxAgAIbYEQADECAAhuQQBALQIACG7BCAA4QgAIbwEAgDPCAAhvQQBAKUIACEMAwAA4ggAICUAAOQIACCIBAIAmwgAIYkEAgCbCAAhqAQBAKUIACGpBAQAwwgAIawEQADECAAhtgRAAMQIACG5BAEAtAgAIbsEIADhCAAhvAQCAM8IACG9BAEApQgAIQwDAADxCAAgJQAA8wgAIIgEAgAAAAGJBAIAAAABqAQBAAAAAakEBAAAAAGsBEAAAAABtgRAAAAAAbkEAQAAAAG7BCAAAAABvAQCAAAAAb0EAQAAAAEIAwAAlgkAIBQAAJcJACAiAACVCQAgiAQCAAAAAYkEAgAAAAGsBEAAAAABtgRAAAAAAbkEAQAAAAECAAAAfQAgOQAAlAkAIAMAAAB9ACA5AACUCQAgOgAAkwkAIAEyAADnDwAwDgMAANQGACAUAADOBwAgIQAAyQcAICIAAM0HACCFBAAAzAcAMIYEAAB7ABCHBAAAzAcAMIgEAgAAAAGJBAIAiwcAIawEQACMBwAhtgRAAIwHACG5BAEA4wYAIb4EAgCOBwAhoAUAAMsHACACAAAAfQAgMgAAkwkAIAIAAACRCQAgMgAAkgkAIAmFBAAAkAkAMIYEAACRCQAQhwQAAJAJADCIBAIAiwcAIYkEAgCLBwAhrARAAIwHACG2BEAAjAcAIbkEAQDjBgAhvgQCAI4HACEJhQQAAJAJADCGBAAAkQkAEIcEAACQCQAwiAQCAIsHACGJBAIAiwcAIawEQACMBwAhtgRAAIwHACG5BAEA4wYAIb4EAgCOBwAhBYgEAgCbCAAhiQQCAJsIACGsBEAAxAgAIbYEQADECAAhuQQBALQIACEIAwAA-wgAIBQAAPwIACAiAAD6CAAgiAQCAJsIACGJBAIAmwgAIawEQADECAAhtgRAAMQIACG5BAEAtAgAIQgDAACWCQAgFAAAlwkAICIAAJUJACCIBAIAAAABiQQCAAAAAawEQAAAAAG2BEAAAAABuQQBAAAAAQQ5AACJCQAwpQUAAIoJADCnBQAAjAkAIKsFAACNCQAwAzkAAOUPACClBQAA5g8AIKsFAAABACAEOQAA_QgAMKUFAAD-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_CQAgiAQCAAAAAbYEQAAAAAHLBAIAAAABzAQBAAAAAc0EEAAAAAHOBBAAAAAB0AQAAADQBALRBEAAAAAB0gQBAAAAAdMEAQAAAAEDOQAAtw8AIKUFAAC4DwAgqwUAABIAIAM5AAC1DwAgpQUAALYPACCrBQAABQAgAzkAALMPACClBQAAtA8AIKsFAAABACAEOQAA6QkAMKUFAADqCQAwpwUAAOwJACCrBQAA3gkAMAQ5AADMCQAwpQUAAM0JADCnBQAAzwkAIKsFAADQCQAwAAAAAAAFOQAArg8AIDoAALEPACClBQAArw8AIKYFAACwDwAgqwUAAEgAIAM5AACuDwAgpQUAAK8PACCrBQAASAAgAAAAAAABqAUAAADjBAIFOQAAqA8AIDoAAKwPACClBQAAqQ8AIKYFAACrDwAgqwUAAAUAIAs5AACGCgAwOgAAiwoAMKUFAACHCgAwpgUAAIgKADCnBQAAiQoAIKgFAACKCgAwqQUAAIoKADCqBQAAigoAMKsFAACKCgAwrAUAAIwKADCtBQAAjQoAMASIBAIAAAABpgQBAAAAAasEQAAAAAHfBAABAAABAgAAAEwAIDkAAJEKACADAAAATAAgOQAAkQoAIDoAAJAKACABMgAAqg8AMAkVAADqBwAghQQAAOkHADCGBAAASgAQhwQAAOkHADCIBAIAAAABpgQBAOMGACGrBEAAjAcAId8EAAHEBwAh4AQCAIsHACECAAAATAAgMgAAkAoAIAIAAACOCgAgMgAAjwoAIAiFBAAAjQoAMIYEAACOCgAQhwQAAI0KADCIBAIAiwcAIaYEAQDjBgAhqwRAAIwHACHfBAABxAcAIeAEAgCLBwAhCIUEAACNCgAwhgQAAI4KABCHBAAAjQoAMIgEAgCLBwAhpgQBAOMGACGrBEAAjAcAId8EAAHEBwAh4AQCAIsHACEEiAQCAJsIACGmBAEAtAgAIasEQADECAAh3wQAAdkIACEEiAQCAJsIACGmBAEAtAgAIasEQADECAAh3wQAAdkIACEEiAQCAAAAAaYEAQAAAAGrBEAAAAAB3wQAAQAAAQM5AACoDwAgpQUAAKkPACCrBQAABQAgBDkAAIYKADClBQAAhwoAMKcFAACJCgAgqwUAAIoKADAAAAAAAAU5AACjDwAgOgAApg8AIKUFAACkDwAgpgUAAKUPACCrBQAAAQAgAzkAAKMPACClBQAApA8AIKsFAAABACAAAAAAAAU5AACeDwAgOgAAoQ8AIKUFAACfDwAgpgUAAKAPACCrBQAAEgAgAzkAAJ4PACClBQAAnw8AIKsFAAASACAAAAAAAAc5AACZDwAgOgAAnA8AIKUFAACaDwAgpgUAAJsPACCpBQAAJQAgqgUAACUAIKsFAABQACADOQAAmQ8AIKUFAACaDwAgqwUAAFAAIAAAAAAAAagFAAAA9wQCAagFAAAA_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_g4AIKUFAAD_DgAgqwUAAGcAIAQ5AADJCgAwpQUAAMoKADCnBQAAzAoAIKsFAADQCQAwBDkAAL0KADClBQAAvgoAMKcFAADACgAgqwUAAMEKADADOQAAuAoAIKUFAAC5CgAgqwUAAFAAIAAAAAAAAagFAAAAgwUCBTkAAPMOACA6AAD8DgAgpQUAAPQOACCmBQAA-w4AIKsFAAAJACAFOQAA8Q4AIDoAAPkOACClBQAA8g4AIKYFAAD4DgAgqwUAAAUAIAc5AADvDgAgOgAA9g4AIKUFAADwDgAgpgUAAPUOACCpBQAAFgAgqgUAABYAIKsFAABnACADOQAA8w4AIKUFAAD0DgAgqwUAAAkAIAM5AADxDgAgpQUAAPIOACCrBQAABQAgAzkAAO8OACClBQAA8A4AIKsFAABnACAAAAAAAAU5AADoDgAgOgAA7Q4AIKUFAADpDgAgpgUAAOwOACCrBQAAAQAgCzkAAPoKADA6AAD_CgAwpQUAAPsKADCmBQAA_AoAMKcFAAD9CgAgqAUAAP4KADCpBQAA_goAMKoFAAD-CgAwqwUAAP4KADCsBQAAgAsAMK0FAACBCwAwCzkAAO4KADA6AADzCgAwpQUAAO8KADCmBQAA8AoAMKcFAADxCgAgqAUAAPIKADCpBQAA8goAMKoFAADyCgAwqwUAAPIKADCsBQAA9AoAMK0FAAD1CgAwDwQAAOQKACAGAADjCgAgiAQCAAAAAaUEAgAAAAG2BEAAAAAB5wQBAAAAAesEAQAAAAHsBAEAAAAB8AQCAAAAAf4EAQAAAAH_BBAAAAABgAUBAAAAAYEFAQAAAAGDBQAAAIMFAoQFAQAAAAECAAAAGwAgOQAA-QoAIAMAAAAbACA5AAD5CgAgOgAA-AoAIAEyAADrDgAwFAQAAN0HACAGAADvBwAgCQAA-wcAIIUEAAD5BwAwhgQAABkAEIcEAAD5BwAwiAQCAAAAAaUEAgCLBwAhtgRAAIwHACHnBAEA4wYAIesEAQDbBgAh7AQBANsGACHwBAIAiwcAIf0EAgCOBwAh_gQBANsGACH_BBAA5AcAIYAFAQDbBgAhgQUBANsGACGDBQAA-geDBSKEBQEA2wYAIQIAAAAbACAyAAD4CgAgAgAAAPYKACAyAAD3CgAgEYUEAAD1CgAwhgQAAPYKABCHBAAA9QoAMIgEAgCLBwAhpQQCAIsHACG2BEAAjAcAIecEAQDjBgAh6wQBANsGACHsBAEA2wYAIfAEAgCLBwAh_QQCAI4HACH-BAEA2wYAIf8EEADkBwAhgAUBANsGACGBBQEA2wYAIYMFAAD6B4MFIoQFAQDbBgAhEYUEAAD1CgAwhgQAAPYKABCHBAAA9QoAMIgEAgCLBwAhpQQCAIsHACG2BEAAjAcAIecEAQDjBgAh6wQBANsGACHsBAEA2wYAIfAEAgCLBwAh_QQCAI4HACH-BAEA2wYAIf8EEADkBwAhgAUBANsGACGBBQEA2wYAIYMFAAD6B4MFIoQFAQDbBgAhDYgEAgCbCAAhpQQCAJsIACG2BEAAxAgAIecEAQC0CAAh6wQBAKUIACHsBAEApQgAIfAEAgCbCAAh_gQBAKUIACH_BBAAxQkAIYAFAQClCAAhgQUBAKUIACGDBQAA3wqDBSKEBQEApQgAIQ8EAADhCgAgBgAA4AoAIIgEAgCbCAAhpQQCAJsIACG2BEAAxAgAIecEAQC0CAAh6wQBAKUIACHsBAEApQgAIfAEAgCbCAAh_gQBAKUIACH_BBAAxQkAIYAFAQClCAAhgQUBAKUIACGDBQAA3wqDBSKEBQEApQgAIQ8EAADkCgAgBgAA4woAIIgEAgAAAAGlBAIAAAABtgRAAAAAAecEAQAAAAHrBAEAAAAB7AQBAAAAAfAEAgAAAAH-BAEAAAAB_wQQAAAAAYAFAQAAAAGBBQEAAAABgwUAAACDBQKEBQEAAAABGAMAANQKACAEAADSCgAgBgAA0woAIAcAANUKACAOAADZCgAgEQAA1woAIBIAANgKACCIBAIAAAABiQQCAAAAAaUEAgAAAAGsBEAAAAABsgQAAAD8BAK2BEAAAAAB8AQCAAAAAfEEAgAAAAHyBAEAAAAB8wQBAAAAAfQEQAAAAAH1BAEAAAAB9wQAAAD3BAL4BIAAAAAB-QRAAAAAAfoEAQAAAAH8BAEAAAABAgAAABIAIDkAAIULACADAAAAEgAgOQAAhQsAIDoAAIQLACABMgAA6g4AMB0DAADaBwAgBAAA3QcAIAYAAO8HACAHAAD_BwAgCQAA-wcAIA4AAPgHACARAADoBwAgEgAAgAgAIIUEAAD8BwAwhgQAABAAEIcEAAD8BwAwiAQCAAAAAYkEAgCLBwAhpQQCAIsHACGsBEAAjAcAIbIEAAD-B_wEIrYEQACMBwAh8AQCAIsHACHxBAIAiwcAIfIEAQDjBgAh8wQBAOMGACH0BEAAjAcAIfUEAQDjBgAh9wQAAP0H9wQi-AQAAOgGACD5BEAAjAcAIfoEAQDjBgAh_AQBANsGACH9BAIAjgcAIQIAAAASACAyAACECwAgAgAAAIILACAyAACDCwAgFYUEAACBCwAwhgQAAIILABCHBAAAgQsAMIgEAgCLBwAhiQQCAIsHACGlBAIAiwcAIawEQACMBwAhsgQAAP4H_AQitgRAAIwHACHwBAIAiwcAIfEEAgCLBwAh8gQBAOMGACHzBAEA4wYAIfQEQACMBwAh9QQBAOMGACH3BAAA_Qf3BCL4BAAA6AYAIPkEQACMBwAh-gQBAOMGACH8BAEA2wYAIf0EAgCOBwAhFYUEAACBCwAwhgQAAIILABCHBAAAgQsAMIgEAgCLBwAhiQQCAIsHACGlBAIAiwcAIawEQACMBwAhsgQAAP4H_AQitgRAAIwHACHwBAIAiwcAIfEEAgCLBwAh8gQBAOMGACHzBAEA4wYAIfQEQACMBwAh9QQBAOMGACH3BAAA_Qf3BCL4BAAA6AYAIPkEQACMBwAh-gQBAOMGACH8BAEA2wYAIf0EAgCOBwAhEYgEAgCbCAAhiQQCAJsIACGlBAIAmwgAIawEQADECAAhsgQAAK8K_AQitgRAAMQIACHwBAIAmwgAIfEEAgCbCAAh8gQBALQIACHzBAEAtAgAIfQEQADECAAh9QQBALQIACH3BAAArgr3BCL4BIAAAAAB-QRAAMQIACH6BAEAtAgAIfwEAQClCAAhGAMAALIKACAEAACwCgAgBgAAsQoAIAcAALMKACAOAAC3CgAgEQAAtQoAIBIAALYKACCIBAIAmwgAIYkEAgCbCAAhpQQCAJsIACGsBEAAxAgAIbIEAACvCvwEIrYEQADECAAh8AQCAJsIACHxBAIAmwgAIfIEAQC0CAAh8wQBALQIACH0BEAAxAgAIfUEAQC0CAAh9wQAAK4K9wQi-ASAAAAAAfkEQADECAAh-gQBALQIACH8BAEApQgAIRgDAADUCgAgBAAA0goAIAYAANMKACAHAADVCgAgDgAA2QoAIBEAANcKACASAADYCgAgiAQCAAAAAYkEAgAAAAGlBAIAAAABrARAAAAAAbIEAAAA_AQCtgRAAAAAAfAEAgAAAAHxBAIAAAAB8gQBAAAAAfMEAQAAAAH0BEAAAAAB9QQBAAAAAfcEAAAA9wQC-ASAAAAAAfkEQAAAAAH6BAEAAAAB_AQBAAAAAQM5AADoDgAgpQUAAOkOACCrBQAAAQAgBDkAAPoKADClBQAA-woAMKcFAAD9CgAgqwUAAP4KADAEOQAA7goAMKUFAADvCgAwpwUAAPEKACCrBQAA8goAMAAAAAAABzkAANQOACA6AADmDgAgpQUAANUOACCmBQAA5Q4AIKkFAAANACCqBQAADQAgqwUAAAEAIAs5AACaCwAwOgAAnwsAMKUFAACbCwAwpgUAAJwLADCnBQAAnQsAIKgFAACeCwAwqQUAAJ4LADCqBQAAngsAMKsFAACeCwAwrAUAAKALADCtBQAAoQsAMAs5AACRCwAwOgAAlQsAMKUFAACSCwAwpgUAAJMLADCnBQAAlAsAIKgFAAD-CgAwqQUAAP4KADCqBQAA_goAMKsFAAD-CgAwrAUAAJYLADCtBQAAgQsAMBgDAADUCgAgBAAA0goAIAYAANMKACAJAADWCgAgDgAA2QoAIBEAANcKACASAADYCgAgiAQCAAAAAYkEAgAAAAGlBAIAAAABrARAAAAAAbIEAAAA_AQCtgRAAAAAAfAEAgAAAAHyBAEAAAAB8wQBAAAAAfQEQAAAAAH1BAEAAAAB9wQAAAD3BAL4BIAAAAAB-QRAAAAAAfoEAQAAAAH8BAEAAAAB_QQCAAAAAQIAAAASACA5AACZCwAgAwAAABIAIDkAAJkLACA6AACYCwAgATIAAOQOADACAAAAEgAgMgAAmAsAIAIAAACCCwAgMgAAlwsAIBGIBAIAmwgAIYkEAgCbCAAhpQQCAJsIACGsBEAAxAgAIbIEAACvCvwEIrYEQADECAAh8AQCAJsIACHyBAEAtAgAIfMEAQC0CAAh9ARAAMQIACH1BAEAtAgAIfcEAACuCvcEIvgEgAAAAAH5BEAAxAgAIfoEAQC0CAAh_AQBAKUIACH9BAIAzwgAIRgDAACyCgAgBAAAsAoAIAYAALEKACAJAAC0CgAgDgAAtwoAIBEAALUKACASAAC2CgAgiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhrARAAMQIACGyBAAArwr8BCK2BEAAxAgAIfAEAgCbCAAh8gQBALQIACHzBAEAtAgAIfQEQADECAAh9QQBALQIACH3BAAArgr3BCL4BIAAAAAB-QRAAMQIACH6BAEAtAgAIfwEAQClCAAh_QQCAM8IACEYAwAA1AoAIAQAANIKACAGAADTCgAgCQAA1goAIA4AANkKACARAADXCgAgEgAA2AoAIIgEAgAAAAGJBAIAAAABpQQCAAAAAawEQAAAAAGyBAAAAPwEArYEQAAAAAHwBAIAAAAB8gQBAAAAAfMEAQAAAAH0BEAAAAAB9QQBAAAAAfcEAAAA9wQC-ASAAAAAAfkEQAAAAAH6BAEAAAAB_AQBAAAAAf0EAgAAAAESAwAAywsAIAQAAMoLACAIAADNCwAgEwAAzAsAIBQAAM4LACCIBAIAAAABiQQCAAAAAaUEAgAAAAGyBAEAAAABtgRAAAAAAcUEAQAAAAHTBAEAAAAB4QQBAAAAAYkFQAAAAAGKBQEAAAABiwUBAAAAAYwFAQAAAAGOBQAAAI4FAgIAAAAJACA5AADJCwAgAwAAAAkAIDkAAMkLACA6AAClCwAgATIAAOMOADAXAwAA1AYAIAQAAN0HACAHAAD_BwAgCAAA1wcAIBMAANgHACAUAACSCAAghQQAAJAIADCGBAAABwAQhwQAAJAIADCIBAIAAAABiQQCAIsHACGlBAIAiwcAIbIEAQDjBgAhtgRAAIwHACHFBAEA4wYAIdMEAQDbBgAh4QQBAOMGACHxBAIAiwcAIYkFQACMBwAhigUBAOMGACGLBQEA4wYAIYwFAQDbBgAhjgUAAJEIjgUiAgAAAAkAIDIAAKULACACAAAAogsAIDIAAKMLACARhQQAAKELADCGBAAAogsAEIcEAAChCwAwiAQCAIsHACGJBAIAiwcAIaUEAgCLBwAhsgQBAOMGACG2BEAAjAcAIcUEAQDjBgAh0wQBANsGACHhBAEA4wYAIfEEAgCLBwAhiQVAAIwHACGKBQEA4wYAIYsFAQDjBgAhjAUBANsGACGOBQAAkQiOBSIRhQQAAKELADCGBAAAogsAEIcEAAChCwAwiAQCAIsHACGJBAIAiwcAIaUEAgCLBwAhsgQBAOMGACG2BEAAjAcAIcUEAQDjBgAh0wQBANsGACHhBAEA4wYAIfEEAgCLBwAhiQVAAIwHACGKBQEA4wYAIYsFAQDjBgAhjAUBANsGACGOBQAAkQiOBSINiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhsgQBALQIACG2BEAAxAgAIcUEAQC0CAAh0wQBAKUIACHhBAEAtAgAIYkFQADECAAhigUBALQIACGLBQEAtAgAIYwFAQClCAAhjgUAAKQLjgUiAagFAAAAjgUCEgMAAKcLACAEAACmCwAgCAAAqQsAIBMAAKgLACAUAACqCwAgiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhsgQBALQIACG2BEAAxAgAIcUEAQC0CAAh0wQBAKUIACHhBAEAtAgAIYkFQADECAAhigUBALQIACGLBQEAtAgAIYwFAQClCAAhjgUAAKQLjgUiBTkAANgOACA6AADhDgAgpQUAANkOACCmBQAA4A4AIKsFAAAFACAFOQAA1g4AIDoAAN4OACClBQAA1w4AIKYFAADdDgAgqwUAAAEAIAs5AADACwAwOgAAxAsAMKUFAADBCwAwpgUAAMILADCnBQAAwwsAIKgFAADyCgAwqQUAAPIKADCqBQAA8goAMKsFAADyCgAwrAUAAMULADCtBQAA9QoAMAs5AAC3CwAwOgAAuwsAMKUFAAC4CwAwpgUAALkLADCnBQAAugsAIKgFAAD-CgAwqQUAAP4KADCqBQAA_goAMKsFAAD-CgAwrAUAALwLADCtBQAAgQsAMAs5AACrCwAwOgAAsAsAMKUFAACsCwAwpgUAAK0LADCnBQAArgsAIKgFAACvCwAwqQUAAK8LADCqBQAArwsAMKsFAACvCwAwrAUAALELADCtBQAAsgsAMASIBAIAAAABpgQBAAAAAagEAQAAAAGqBAEAAAABAgAAAD8AIDkAALYLACADAAAAPwAgOQAAtgsAIDoAALULACABMgAA3A4AMAkGAADvBwAghQQAAO4HADCGBAAAPQAQhwQAAO4HADCIBAIAAAABpgQBAOMGACGoBAEA2wYAIaoEAQDbBgAh8AQCAIsHACECAAAAPwAgMgAAtQsAIAIAAACzCwAgMgAAtAsAIAiFBAAAsgsAMIYEAACzCwAQhwQAALILADCIBAIAiwcAIaYEAQDjBgAhqAQBANsGACGqBAEA2wYAIfAEAgCLBwAhCIUEAACyCwAwhgQAALMLABCHBAAAsgsAMIgEAgCLBwAhpgQBAOMGACGoBAEA2wYAIaoEAQDbBgAh8AQCAIsHACEEiAQCAJsIACGmBAEAtAgAIagEAQClCAAhqgQBAKUIACEEiAQCAJsIACGmBAEAtAgAIagEAQClCAAhqgQBAKUIACEEiAQCAAAAAaYEAQAAAAGoBAEAAAABqgQBAAAAARgDAADUCgAgBAAA0goAIAcAANUKACAJAADWCgAgDgAA2QoAIBEAANcKACASAADYCgAgiAQCAAAAAYkEAgAAAAGlBAIAAAABrARAAAAAAbIEAAAA_AQCtgRAAAAAAfEEAgAAAAHyBAEAAAAB8wQBAAAAAfQEQAAAAAH1BAEAAAAB9wQAAAD3BAL4BIAAAAAB-QRAAAAAAfoEAQAAAAH8BAEAAAAB_QQCAAAAAQIAAAASACA5AAC_CwAgAwAAABIAIDkAAL8LACA6AAC-CwAgATIAANsOADACAAAAEgAgMgAAvgsAIAIAAACCCwAgMgAAvQsAIBGIBAIAmwgAIYkEAgCbCAAhpQQCAJsIACGsBEAAxAgAIbIEAACvCvwEIrYEQADECAAh8QQCAJsIACHyBAEAtAgAIfMEAQC0CAAh9ARAAMQIACH1BAEAtAgAIfcEAACuCvcEIvgEgAAAAAH5BEAAxAgAIfoEAQC0CAAh_AQBAKUIACH9BAIAzwgAIRgDAACyCgAgBAAAsAoAIAcAALMKACAJAAC0CgAgDgAAtwoAIBEAALUKACASAAC2CgAgiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhrARAAMQIACGyBAAArwr8BCK2BEAAxAgAIfEEAgCbCAAh8gQBALQIACHzBAEAtAgAIfQEQADECAAh9QQBALQIACH3BAAArgr3BCL4BIAAAAAB-QRAAMQIACH6BAEAtAgAIfwEAQClCAAh_QQCAM8IACEYAwAA1AoAIAQAANIKACAHAADVCgAgCQAA1goAIA4AANkKACARAADXCgAgEgAA2AoAIIgEAgAAAAGJBAIAAAABpQQCAAAAAawEQAAAAAGyBAAAAPwEArYEQAAAAAHxBAIAAAAB8gQBAAAAAfMEAQAAAAH0BEAAAAAB9QQBAAAAAfcEAAAA9wQC-ASAAAAAAfkEQAAAAAH6BAEAAAAB_AQBAAAAAf0EAgAAAAEPBAAA5AoAIAkAAOUKACCIBAIAAAABpQQCAAAAAbYEQAAAAAHnBAEAAAAB6wQBAAAAAewEAQAAAAH9BAIAAAAB_gQBAAAAAf8EEAAAAAGABQEAAAABgQUBAAAAAYMFAAAAgwUChAUBAAAAAQIAAAAbACA5AADICwAgAwAAABsAIDkAAMgLACA6AADHCwAgATIAANoOADACAAAAGwAgMgAAxwsAIAIAAAD2CgAgMgAAxgsAIA2IBAIAmwgAIaUEAgCbCAAhtgRAAMQIACHnBAEAtAgAIesEAQClCAAh7AQBAKUIACH9BAIAzwgAIf4EAQClCAAh_wQQAMUJACGABQEApQgAIYEFAQClCAAhgwUAAN8KgwUihAUBAKUIACEPBAAA4QoAIAkAAOIKACCIBAIAmwgAIaUEAgCbCAAhtgRAAMQIACHnBAEAtAgAIesEAQClCAAh7AQBAKUIACH9BAIAzwgAIf4EAQClCAAh_wQQAMUJACGABQEApQgAIYEFAQClCAAhgwUAAN8KgwUihAUBAKUIACEPBAAA5AoAIAkAAOUKACCIBAIAAAABpQQCAAAAAbYEQAAAAAHnBAEAAAAB6wQBAAAAAewEAQAAAAH9BAIAAAAB_gQBAAAAAf8EEAAAAAGABQEAAAABgQUBAAAAAYMFAAAAgwUChAUBAAAAARIDAADLCwAgBAAAygsAIAgAAM0LACATAADMCwAgFAAAzgsAIIgEAgAAAAGJBAIAAAABpQQCAAAAAbIEAQAAAAG2BEAAAAABxQQBAAAAAdMEAQAAAAHhBAEAAAABiQVAAAAAAYoFAQAAAAGLBQEAAAABjAUBAAAAAY4FAAAAjgUCAzkAANgOACClBQAA2Q4AIKsFAAAFACADOQAA1g4AIKUFAADXDgAgqwUAAAEAIAQ5AADACwAwpQUAAMELADCnBQAAwwsAIKsFAADyCgAwBDkAALcLADClBQAAuAsAMKcFAAC6CwAgqwUAAP4KADAEOQAAqwsAMKUFAACsCwAwpwUAAK4LACCrBQAArwsAMAM5AADUDgAgpQUAANUOACCrBQAAAQAgBDkAAJoLADClBQAAmwsAMKcFAACdCwAgqwUAAJ4LADAEOQAAkQsAMKUFAACSCwAwpwUAAJQLACCrBQAA_goAMAAAAAAABTkAAM8OACA6AADSDgAgpQUAANAOACCmBQAA0Q4AIKsFAAAJACADOQAAzw4AIKUFAADQDgAgqwUAAAkAIAAAAAAABzkAAMoOACA6AADNDgAgpQUAAMsOACCmBQAAzA4AIKkFAAALACCqBQAACwAgqwUAAGQAIAM5AADKDgAgpQUAAMsOACCrBQAAZAAgAAAAAAAFOQAAvg4AIDoAAMgOACClBQAAvw4AIKYFAADHDgAgqwUAAAEAIAs5AACvDAAwOgAAswwAMKUFAACwDAAwpgUAALEMADCnBQAAsgwAIKgFAACeCwAwqQUAAJ4LADCqBQAAngsAMKsFAACeCwAwrAUAALQMADCtBQAAoQsAMAs5AACmDAAwOgAAqgwAMKUFAACnDAAwpgUAAKgMADCnBQAAqQwAIKgFAADyCgAwqQUAAPIKADCqBQAA8goAMKsFAADyCgAwrAUAAKsMADCtBQAA9QoAMAs5AACdDAAwOgAAoQwAMKUFAACeDAAwpgUAAJ8MADCnBQAAoAwAIKgFAAD-CgAwqQUAAP4KADCqBQAA_goAMKsFAAD-CgAwrAUAAKIMADCtBQAAgQsAMAs5AACRDAAwOgAAlgwAMKUFAACSDAAwpgUAAJMMADCnBQAAlAwAIKgFAACVDAAwqQUAAJUMADCqBQAAlQwAMKsFAACVDAAwrAUAAJcMADCtBQAAmAwAMAs5AACFDAAwOgAAigwAMKUFAACGDAAwpgUAAIcMADCnBQAAiAwAIKgFAACJDAAwqQUAAIkMADCqBQAAiQwAMKsFAACJDAAwrAUAAIsMADCtBQAAjAwAMAs5AAD5CwAwOgAA_gsAMKUFAAD6CwAwpgUAAPsLADCnBQAA_AsAIKgFAAD9CwAwqQUAAP0LADCqBQAA_QsAMKsFAAD9CwAwrAUAAP8LADCtBQAAgAwAMAs5AADtCwAwOgAA8gsAMKUFAADuCwAwpgUAAO8LADCnBQAA8AsAIKgFAADxCwAwqQUAAPELADCqBQAA8QsAMKsFAADxCwAwrAUAAPMLADCtBQAA9AsAMAiIBAIAAAABpgQBAAAAAacEAQAAAAGoBAEAAAABqQQEAAAAAaoEAQAAAAGrBEAAAAABrARAAAAAAQIAAABZACA5AAD4CwAgAwAAAFkAIDkAAPgLACA6AAD3CwAgATIAAMYOADANBAAA3QcAIIUEAADcBwAwhgQAAFcAEIcEAADcBwAwiAQCAAAAAaUEAgCLBwAhpgQBAOMGACGnBAEA4wYAIagEAQDjBgAhqQQEAMcHACGqBAEA4wYAIasEQACMBwAhrARAAIwHACECAAAAWQAgMgAA9wsAIAIAAAD1CwAgMgAA9gsAIAyFBAAA9AsAMIYEAAD1CwAQhwQAAPQLADCIBAIAiwcAIaUEAgCLBwAhpgQBAOMGACGnBAEA4wYAIagEAQDjBgAhqQQEAMcHACGqBAEA4wYAIasEQACMBwAhrARAAIwHACEMhQQAAPQLADCGBAAA9QsAEIcEAAD0CwAwiAQCAIsHACGlBAIAiwcAIaYEAQDjBgAhpwQBAOMGACGoBAEA4wYAIakEBADHBwAhqgQBAOMGACGrBEAAjAcAIawEQACMBwAhCIgEAgCbCAAhpgQBALQIACGnBAEAtAgAIagEAQC0CAAhqQQEAMMIACGqBAEAtAgAIasEQADECAAhrARAAMQIACEIiAQCAJsIACGmBAEAtAgAIacEAQC0CAAhqAQBALQIACGpBAQAwwgAIaoEAQC0CAAhqwRAAMQIACGsBEAAxAgAIQiIBAIAAAABpgQBAAAAAacEAQAAAAGoBAEAAAABqQQEAAAAAaoEAQAAAAGrBEAAAAABrARAAAAAAQoDAADTCAAgiAQCAAAAAYkEAgAAAAGuBAAAAK4EArAEAAAAsAQCsgQAAACyBAKzBAEAAAABtAQCAAAAAbUEAQAAAAG2BEAAAAABAgAAAFQAIDkAAIQMACADAAAAVAAgOQAAhAwAIDoAAIMMACABMgAAxQ4AMA8DAADaBwAgBAAA3QcAIIUEAADeBwAwhgQAAFIAEIcEAADeBwAwiAQCAAAAAYkEAgCOBwAhpQQCAIsHACGuBAAA3weuBCKwBAAA4AewBCKyBAAA4QeyBCKzBAEA2wYAIbQEAgCOBwAhtQQBANsGACG2BEAAjAcAIQIAAABUACAyAACDDAAgAgAAAIEMACAyAACCDAAgDYUEAACADAAwhgQAAIEMABCHBAAAgAwAMIgEAgCLBwAhiQQCAI4HACGlBAIAiwcAIa4EAADfB64EIrAEAADgB7AEIrIEAADhB7IEIrMEAQDbBgAhtAQCAI4HACG1BAEA2wYAIbYEQACMBwAhDYUEAACADAAwhgQAAIEMABCHBAAAgAwAMIgEAgCLBwAhiQQCAI4HACGlBAIAiwcAIa4EAADfB64EIrAEAADgB7AEIrIEAADhB7IEIrMEAQDbBgAhtAQCAI4HACG1BAEA2wYAIbYEQACMBwAhCYgEAgCbCAAhiQQCAM8IACGuBAAAzAiuBCKwBAAAzQiwBCKyBAAAzgiyBCKzBAEApQgAIbQEAgDPCAAhtQQBAKUIACG2BEAAxAgAIQoDAADRCAAgiAQCAJsIACGJBAIAzwgAIa4EAADMCK4EIrAEAADNCLAEIrIEAADOCLIEIrMEAQClCAAhtAQCAM8IACG1BAEApQgAIbYEQADECAAhCgMAANMIACCIBAIAAAABiQQCAAAAAa4EAAAArgQCsAQAAACwBAKyBAAAALIEArMEAQAAAAG0BAIAAAABtQQBAAAAAbYEQAAAAAEUDAAA8gkAIA0AAPQJACAQAAD1CQAgEQAA9gkAIIgEAgAAAAGJBAIAAAABrARAAAAAAbIEAAAA3gQCtgRAAAAAAdMEAQAAAAHUBAIAAAAB1QQCAAAAAdYEEAAAAAHXBBAAAAAB2AQQAAAAAdkEEAAAAAHaBBAAAAAB2wQQAAAAAdwEEAAAAAHeBAEAAAABAgAAAFAAIDkAAJAMACADAAAAUAAgOQAAkAwAIDoAAI8MACABMgAAxA4AMBkEAADdBwAgDAAA5gcAIA0AANoHACAQAADnBwAgEQAA6AcAIIUEAADiBwAwhgQAACUAEIcEAADiBwAwiAQCAAAAAYkEAgCLBwAhpQQCAIsHACGsBEAAjAcAIbIEAADlB94EIrYEQACMBwAh0wQBANsGACHUBAIAAAAB1QQCAI4HACHWBBAA4wcAIdcEEADjBwAh2AQQAOMHACHZBBAA4wcAIdoEEADkBwAh2wQQAOMHACHcBBAA4wcAId4EAQDbBgAhAgAAAFAAIDIAAI8MACACAAAAjQwAIDIAAI4MACAUhQQAAIwMADCGBAAAjQwAEIcEAACMDAAwiAQCAIsHACGJBAIAiwcAIaUEAgCLBwAhrARAAIwHACGyBAAA5QfeBCK2BEAAjAcAIdMEAQDbBgAh1AQCAI4HACHVBAIAjgcAIdYEEADjBwAh1wQQAOMHACHYBBAA4wcAIdkEEADjBwAh2gQQAOQHACHbBBAA4wcAIdwEEADjBwAh3gQBANsGACEUhQQAAIwMADCGBAAAjQwAEIcEAACMDAAwiAQCAIsHACGJBAIAiwcAIaUEAgCLBwAhrARAAIwHACGyBAAA5QfeBCK2BEAAjAcAIdMEAQDbBgAh1AQCAI4HACHVBAIAjgcAIdYEEADjBwAh1wQQAOMHACHYBBAA4wcAIdkEEADjBwAh2gQQAOQHACHbBBAA4wcAIdwEEADjBwAh3gQBANsGACEQiAQCAJsIACGJBAIAmwgAIawEQADECAAhsgQAAMYJ3gQitgRAAMQIACHTBAEApQgAIdQEAgDPCAAh1QQCAM8IACHWBBAAugkAIdcEEAC6CQAh2AQQALoJACHZBBAAugkAIdoEEADFCQAh2wQQALoJACHcBBAAugkAId4EAQClCAAhFAwAAMcJACANAADJCQAgEAAAygkAIBEAAMsJACCIBAIAmwgAIYkEAgCbCAAhrARAAMQIACGyBAAAxgneBCK2BEAAxAgAIdMEAQClCAAh1AQCAM8IACHVBAIAzwgAIdYEEAC6CQAh1wQQALoJACHYBBAAugkAIdkEEAC6CQAh2gQQAMUJACHbBBAAugkAIdwEEAC6CQAh3gQBAKUIACEUDAAA8gkAIA0AAPQJACAQAAD1CQAgEQAA9gkAIIgEAgAAAAGJBAIAAAABrARAAAAAAbIEAAAA3gQCtgRAAAAAAdMEAQAAAAHUBAIAAAAB1QQCAAAAAdYEEAAAAAHXBBAAAAAB2AQQAAAAAdkEEAAAAAHaBBAAAAAB2wQQAAAAAdwEEAAAAAHeBAEAAAABBRYAAJMKACCIBAIAAAABtgRAAAAAAeEEAQAAAAHjBAAAAOMEAgIAAABIACA5AACcDAAgAwAAAEgAIDkAAJwMACA6AACbDAAgATIAAMMOADAKBAAA3QcAIBYAAO0HACCFBAAA6wcAMIYEAABGABCHBAAA6wcAMIgEAgAAAAGlBAIAiwcAIbYEQACMBwAh4QQBAOMGACHjBAAA7AfjBCICAAAASAAgMgAAmwwAIAIAAACZDAAgMgAAmgwAIAiFBAAAmAwAMIYEAACZDAAQhwQAAJgMADCIBAIAiwcAIaUEAgCLBwAhtgRAAIwHACHhBAEA4wYAIeMEAADsB-MEIgiFBAAAmAwAMIYEAACZDAAQhwQAAJgMADCIBAIAiwcAIaUEAgCLBwAhtgRAAIwHACHhBAEA4wYAIeMEAADsB-MEIgSIBAIAmwgAIbYEQADECAAh4QQBALQIACHjBAAAgwrjBCIFFgAAhQoAIIgEAgCbCAAhtgRAAMQIACHhBAEAtAgAIeMEAACDCuMEIgUWAACTCgAgiAQCAAAAAbYEQAAAAAHhBAEAAAAB4wQAAADjBAIYAwAA1AoAIAYAANMKACAHAADVCgAgCQAA1goAIA4AANkKACARAADXCgAgEgAA2AoAIIgEAgAAAAGJBAIAAAABrARAAAAAAbIEAAAA_AQCtgRAAAAAAfAEAgAAAAHxBAIAAAAB8gQBAAAAAfMEAQAAAAH0BEAAAAAB9QQBAAAAAfcEAAAA9wQC-ASAAAAAAfkEQAAAAAH6BAEAAAAB_AQBAAAAAf0EAgAAAAECAAAAEgAgOQAApQwAIAMAAAASACA5AAClDAAgOgAApAwAIAEyAADCDgAwAgAAABIAIDIAAKQMACACAAAAggsAIDIAAKMMACARiAQCAJsIACGJBAIAmwgAIawEQADECAAhsgQAAK8K_AQitgRAAMQIACHwBAIAmwgAIfEEAgCbCAAh8gQBALQIACHzBAEAtAgAIfQEQADECAAh9QQBALQIACH3BAAArgr3BCL4BIAAAAAB-QRAAMQIACH6BAEAtAgAIfwEAQClCAAh_QQCAM8IACEYAwAAsgoAIAYAALEKACAHAACzCgAgCQAAtAoAIA4AALcKACARAAC1CgAgEgAAtgoAIIgEAgCbCAAhiQQCAJsIACGsBEAAxAgAIbIEAACvCvwEIrYEQADECAAh8AQCAJsIACHxBAIAmwgAIfIEAQC0CAAh8wQBALQIACH0BEAAxAgAIfUEAQC0CAAh9wQAAK4K9wQi-ASAAAAAAfkEQADECAAh-gQBALQIACH8BAEApQgAIf0EAgDPCAAhGAMAANQKACAGAADTCgAgBwAA1QoAIAkAANYKACAOAADZCgAgEQAA1woAIBIAANgKACCIBAIAAAABiQQCAAAAAawEQAAAAAGyBAAAAPwEArYEQAAAAAHwBAIAAAAB8QQCAAAAAfIEAQAAAAHzBAEAAAAB9ARAAAAAAfUEAQAAAAH3BAAAAPcEAvgEgAAAAAH5BEAAAAAB-gQBAAAAAfwEAQAAAAH9BAIAAAABDwYAAOMKACAJAADlCgAgiAQCAAAAAbYEQAAAAAHnBAEAAAAB6wQBAAAAAewEAQAAAAHwBAIAAAAB_QQCAAAAAf4EAQAAAAH_BBAAAAABgAUBAAAAAYEFAQAAAAGDBQAAAIMFAoQFAQAAAAECAAAAGwAgOQAArgwAIAMAAAAbACA5AACuDAAgOgAArQwAIAEyAADBDgAwAgAAABsAIDIAAK0MACACAAAA9goAIDIAAKwMACANiAQCAJsIACG2BEAAxAgAIecEAQC0CAAh6wQBAKUIACHsBAEApQgAIfAEAgCbCAAh_QQCAM8IACH-BAEApQgAIf8EEADFCQAhgAUBAKUIACGBBQEApQgAIYMFAADfCoMFIoQFAQClCAAhDwYAAOAKACAJAADiCgAgiAQCAJsIACG2BEAAxAgAIecEAQC0CAAh6wQBAKUIACHsBAEApQgAIfAEAgCbCAAh_QQCAM8IACH-BAEApQgAIf8EEADFCQAhgAUBAKUIACGBBQEApQgAIYMFAADfCoMFIoQFAQClCAAhDwYAAOMKACAJAADlCgAgiAQCAAAAAbYEQAAAAAHnBAEAAAAB6wQBAAAAAewEAQAAAAHwBAIAAAAB_QQCAAAAAf4EAQAAAAH_BBAAAAABgAUBAAAAAYEFAQAAAAGDBQAAAIMFAoQFAQAAAAESAwAAywsAIAcAAN8LACAIAADNCwAgEwAAzAsAIBQAAM4LACCIBAIAAAABiQQCAAAAAbIEAQAAAAG2BEAAAAABxQQBAAAAAdMEAQAAAAHhBAEAAAAB8QQCAAAAAYkFQAAAAAGKBQEAAAABiwUBAAAAAYwFAQAAAAGOBQAAAI4FAgIAAAAJACA5AAC3DAAgAwAAAAkAIDkAALcMACA6AAC2DAAgATIAAMAOADACAAAACQAgMgAAtgwAIAIAAACiCwAgMgAAtQwAIA2IBAIAmwgAIYkEAgCbCAAhsgQBALQIACG2BEAAxAgAIcUEAQC0CAAh0wQBAKUIACHhBAEAtAgAIfEEAgCbCAAhiQVAAMQIACGKBQEAtAgAIYsFAQC0CAAhjAUBAKUIACGOBQAApAuOBSISAwAApwsAIAcAAN4LACAIAACpCwAgEwAAqAsAIBQAAKoLACCIBAIAmwgAIYkEAgCbCAAhsgQBALQIACG2BEAAxAgAIcUEAQC0CAAh0wQBAKUIACHhBAEAtAgAIfEEAgCbCAAhiQVAAMQIACGKBQEAtAgAIYsFAQC0CAAhjAUBAKUIACGOBQAApAuOBSISAwAAywsAIAcAAN8LACAIAADNCwAgEwAAzAsAIBQAAM4LACCIBAIAAAABiQQCAAAAAbIEAQAAAAG2BEAAAAABxQQBAAAAAdMEAQAAAAHhBAEAAAAB8QQCAAAAAYkFQAAAAAGKBQEAAAABiwUBAAAAAYwFAQAAAAGOBQAAAI4FAgM5AAC-DgAgpQUAAL8OACCrBQAAAQAgBDkAAK8MADClBQAAsAwAMKcFAACyDAAgqwUAAJ4LADAEOQAApgwAMKUFAACnDAAwpwUAAKkMACCrBQAA8goAMAQ5AACdDAAwpQUAAJ4MADCnBQAAoAwAIKsFAAD-CgAwBDkAAJEMADClBQAAkgwAMKcFAACUDAAgqwUAAJUMADAEOQAAhQwAMKUFAACGDAAwpwUAAIgMACCrBQAAiQwAMAQ5AAD5CwAwpQUAAPoLADCnBQAA_AsAIKsFAAD9CwAwBDkAAO0LADClBQAA7gsAMKcFAADwCwAgqwUAAPELADAAAAAAAAs5AADuDQAwOgAA8w0AMKUFAADvDQAwpgUAAPANADCnBQAA8Q0AIKgFAADyDQAwqQUAAPINADCqBQAA8g0AMKsFAADyDQAwrAUAAPQNADCtBQAA9Q0AMAs5AADlDQAwOgAA6Q0AMKUFAADmDQAwpgUAAOcNADCnBQAA6A0AIKgFAACeCwAwqQUAAJ4LADCqBQAAngsAMKsFAACeCwAwrAUAAOoNADCtBQAAoQsAMAs5AADZDQAwOgAA3g0AMKUFAADaDQAwpgUAANsNADCnBQAA3A0AIKgFAADdDQAwqQUAAN0NADCqBQAA3Q0AMKsFAADdDQAwrAUAAN8NADCtBQAA4A0AMAs5AADNDQAwOgAA0g0AMKUFAADODQAwpgUAAM8NADCnBQAA0A0AIKgFAADRDQAwqQUAANENADCqBQAA0Q0AMKsFAADRDQAwrAUAANMNADCtBQAA1A0AMAs5AADEDQAwOgAAyA0AMKUFAADFDQAwpgUAAMYNADCnBQAAxw0AIKgFAAD-CgAwqQUAAP4KADCqBQAA_goAMKsFAAD-CgAwrAUAAMkNADCtBQAAgQsAMAs5AAC4DQAwOgAAvQ0AMKUFAAC5DQAwpgUAALoNADCnBQAAuw0AIKgFAAC8DQAwqQUAALwNADCqBQAAvA0AMKsFAAC8DQAwrAUAAL4NADCtBQAAvw0AMAs5AACvDQAwOgAAsw0AMKUFAACwDQAwpgUAALENADCnBQAAsg0AIKgFAACJDAAwqQUAAIkMADCqBQAAiQwAMKsFAACJDAAwrAUAALQNADCtBQAAjAwAMAs5AACjDQAwOgAAqA0AMKUFAACkDQAwpgUAAKUNADCnBQAApg0AIKgFAACnDQAwqQUAAKcNADCqBQAApw0AMKsFAACnDQAwrAUAAKkNADCtBQAAqg0AMAs5AACXDQAwOgAAnA0AMKUFAACYDQAwpgUAAJkNADCnBQAAmg0AIKgFAACbDQAwqQUAAJsNADCqBQAAmw0AMKsFAACbDQAwrAUAAJ0NADCtBQAAng0AMAs5AACLDQAwOgAAkA0AMKUFAACMDQAwpgUAAI0NADCnBQAAjg0AIKgFAACPDQAwqQUAAI8NADCqBQAAjw0AMKsFAACPDQAwrAUAAJENADCtBQAAkg0AMAs5AACCDQAwOgAAhg0AMKUFAACDDQAwpgUAAIQNADCnBQAAhQ0AIKgFAACNCQAwqQUAAI0JADCqBQAAjQkAMKsFAACNCQAwrAUAAIcNADCtBQAAkAkAMAs5AAD5DAAwOgAA_QwAMKUFAAD6DAAwpgUAAPsMADCnBQAA_AwAIKgFAACBCQAwqQUAAIEJADCqBQAAgQkAMKsFAACBCQAwrAUAAP4MADCtBQAAhAkAMAs5AADwDAAwOgAA9AwAMKUFAADxDAAwpgUAAPIMADCnBQAA8wwAIKgFAAD9CwAwqQUAAP0LADCqBQAA_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-BAIAzwgAIQgUAAD8CAAgIQAA-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_DQAwiAQCAIsHACGJBAIAiwcAIeQEAQDjBgAh5QQBAOMGACHmBAEA4wYAIQiFBAAAvw0AMIYEAADADQAQhwQAAL8NADCIBAIAiwcAIYkEAgCLBwAh5AQBAOMGACHlBAEA4wYAIeYEAQDjBgAhBIgEAgCbCAAh5AQBALQIACHlBAEAtAgAIeYEAQC0CAAhBIgEAgCbCAAh5AQBALQIACHlBAEAtAgAIeYEAQC0CAAhBIgEAgAAAAHkBAEAAAAB5QQBAAAAAeYEAQAAAAEYBAAA0goAIAYAANMKACAHAADVCgAgCQAA1goAIA4AANkKACARAADXCgAgEgAA2AoAIIgEAgAAAAGlBAIAAAABrARAAAAAAbIEAAAA_AQCtgRAAAAAAfAEAgAAAAHxBAIAAAAB8gQBAAAAAfMEAQAAAAH0BEAAAAAB9QQBAAAAAfcEAAAA9wQC-ASAAAAAAfkEQAAAAAH6BAEAAAAB_AQBAAAAAf0EAgAAAAECAAAAEgAgOQAAzA0AIAMAAAASACA5AADMDQAgOgAAyw0AIAEyAAC1DgAwAgAAABIAIDIAAMsNACACAAAAggsAIDIAAMoNACARiAQCAJsIACGlBAIAmwgAIawEQADECAAhsgQAAK8K_AQitgRAAMQIACHwBAIAmwgAIfEEAgCbCAAh8gQBALQIACHzBAEAtAgAIfQEQADECAAh9QQBALQIACH3BAAArgr3BCL4BIAAAAAB-QRAAMQIACH6BAEAtAgAIfwEAQClCAAh_QQCAM8IACEYBAAAsAoAIAYAALEKACAHAACzCgAgCQAAtAoAIA4AALcKACARAAC1CgAgEgAAtgoAIIgEAgCbCAAhpQQCAJsIACGsBEAAxAgAIbIEAACvCvwEIrYEQADECAAh8AQCAJsIACHxBAIAmwgAIfIEAQC0CAAh8wQBALQIACH0BEAAxAgAIfUEAQC0CAAh9wQAAK4K9wQi-ASAAAAAAfkEQADECAAh-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_QQAAJ8IACAAAAIEAACiDgAgFgAApw4AIAAIAwAAnggAIAQAAKIOACAHAACsDgAgCAAAkA4AIBMAAKEOACAUAACuDgAg0wQAAJ8IACCMBQAAnwgAIAoEAACiDgAgDAAAow4AIA0AAJ4IACAQAACkDgAgEQAApQ4AINMEAACfCAAg1AQAAJ8IACDVBAAAnwgAINoEAACfCAAg3gQAAJ8IACAMDAAAow4AIA4AAKkOACAQAACkDgAgygQAAJ8IACDUBAAAnwgAIN4EAACfCAAg6QQAAJ8IACDqBAAAnwgAIOsEAACfCAAg7AQAAJ8IACDtBAAAnwgAIO4EAACfCAAgAwMAAJ4IACAIAACQDgAgCgAAoQ4AIAUDAACeCAAgBQAAjQ4AIAgAAJAOACCbBAAAnwgAIIgFAACfCAAgAAAAABOIBAIAAAABmwQBAAAAAawEQAAAAAGyBAAAAI4FArYEQAAAAAH0BEAAAAAB-gQBAAAAAYgFAQAAAAGPBQEAAAABkAUBAAAAAZEFAQAAAAGSBQEAAAABkwUBAAAAAZQFAQAAAAGVBQEAAAABlgUBAAAAAZcFAQAAAAGYBQEAAAABmQUBAAAAAQ2IBAIAAAABpQQCAAAAAbIEAQAAAAG2BEAAAAABxQQBAAAAAdMEAQAAAAHhBAEAAAAB8QQCAAAAAYkFQAAAAAGKBQEAAAABiwUBAAAAAYwFAQAAAAGOBQAAAI4FAgaIBAIAAAABmwQBAAAAAbYEQAAAAAG5BAEAAAABhwUBAAAAAYgFAQAAAAEEiAQCAAAAAbYEQAAAAAGFBQEAAAABhgUBAAAAARGIBAIAAAABpQQCAAAAAawEQAAAAAGyBAAAAPwEArYEQAAAAAHwBAIAAAAB8QQCAAAAAfIEAQAAAAHzBAEAAAAB9ARAAAAAAfUEAQAAAAH3BAAAAPcEAvgEgAAAAAH5BEAAAAAB-gQBAAAAAfwEAQAAAAH9BAIAAAABBIgEAgAAAAHkBAEAAAAB5QQBAAAAAeYEAQAAAAEQiAQCAAAAAYkEAgAAAAGlBAIAAAABrARAAAAAAbIEAAAA3gQCtgRAAAAAAdMEAQAAAAHUBAIAAAAB1gQQAAAAAdcEEAAAAAHYBBAAAAAB2QQQAAAAAdoEEAAAAAHbBBAAAAAB3AQQAAAAAd4EAQAAAAECiAQCAAAAAbYEQAAAAAEEiAQCAAAAAbYEQAAAAAHIBAEAAAAByQQgAAAAAQWIBAIAAAABtgRAAAAAAcUEAAAAxQQCxgQBAAAAAccEIAAAAAEFiAQCAAAAAawEQAAAAAG2BEAAAAABuQQBAAAAAb4EAgAAAAEKiAQCAAAAAagEAQAAAAGpBAQAAAABrARAAAAAAbYEQAAAAAG5BAEAAAABugQCAAAAAbsEIAAAAAG8BAIAAAABvQQBAAAAAQmIBAIAAAABpQQCAAAAAa4EAAAArgQCsAQAAACwBAKyBAAAALIEArMEAQAAAAG0BAIAAAABtQQBAAAAAbYEQAAAAAEWBQAA-w0AIAcAAPwNACAIAAD-DQAgGAAAhg4AIBsAAP0NACAcAAD_DQAgHQAAgA4AIB4AAIEOACAfAACCDgAgIAAAgw4AICYAAIQOACAnAACFDgAgKAAAhw4AICkAAIgOACAqAACJDgAgKwAAig4AICwAAIsOACCIBAIAAAAB5QQBAAAAAeYEAQAAAAGaBSAAAAABmwUgAAAAAQIAAAABACA5AAC-DgAgDYgEAgAAAAGJBAIAAAABsgQBAAAAAbYEQAAAAAHFBAEAAAAB0wQBAAAAAeEEAQAAAAHxBAIAAAABiQVAAAAAAYoFAQAAAAGLBQEAAAABjAUBAAAAAY4FAAAAjgUCDYgEAgAAAAG2BEAAAAAB5wQBAAAAAesEAQAAAAHsBAEAAAAB8AQCAAAAAf0EAgAAAAH-BAEAAAAB_wQQAAAAAYAFAQAAAAGBBQEAAAABgwUAAACDBQKEBQEAAAABEYgEAgAAAAGJBAIAAAABrARAAAAAAbIEAAAA_AQCtgRAAAAAAfAEAgAAAAHxBAIAAAAB8gQBAAAAAfMEAQAAAAH0BEAAAAAB9QQBAAAAAfcEAAAA9wQC-ASAAAAAAfkEQAAAAAH6BAEAAAAB_AQBAAAAAf0EAgAAAAEEiAQCAAAAAbYEQAAAAAHhBAEAAAAB4wQAAADjBAIQiAQCAAAAAYkEAgAAAAGsBEAAAAABsgQAAADeBAK2BEAAAAAB0wQBAAAAAdQEAgAAAAHVBAIAAAAB1gQQAAAAAdcEEAAAAAHYBBAAAAAB2QQQAAAAAdoEEAAAAAHbBBAAAAAB3AQQAAAAAd4EAQAAAAEJiAQCAAAAAYkEAgAAAAGuBAAAAK4EArAEAAAAsAQCsgQAAACyBAKzBAEAAAABtAQCAAAAAbUEAQAAAAG2BEAAAAABCIgEAgAAAAGmBAEAAAABpwQBAAAAAagEAQAAAAGpBAQAAAABqgQBAAAAAasEQAAAAAGsBEAAAAABAwAAAA0AIDkAAL4OACA6AADJDgAgGAAAAA0AIAUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgMgAAyQ4AIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhCQMAAM8LACAIAADRCwAgiAQCAAAAAYkEAgAAAAGbBAEAAAABtgRAAAAAAbkEAQAAAAGHBQEAAAABiAUBAAAAAQIAAABkACA5AADKDgAgAwAAAAsAIDkAAMoOACA6AADODgAgCwAAAAsAIAMAAI4LACAIAACQCwAgMgAAzg4AIIgEAgCbCAAhiQQCAJsIACGbBAEApQgAIbYEQADECAAhuQQBALQIACGHBQEAtAgAIYgFAQClCAAhCQMAAI4LACAIAACQCwAgiAQCAJsIACGJBAIAmwgAIZsEAQClCAAhtgRAAMQIACG5BAEAtAgAIYcFAQC0CAAhiAUBAKUIACETAwAAywsAIAQAAMoLACAHAADfCwAgCAAAzQsAIBMAAMwLACCIBAIAAAABiQQCAAAAAaUEAgAAAAGyBAEAAAABtgRAAAAAAcUEAQAAAAHTBAEAAAAB4QQBAAAAAfEEAgAAAAGJBUAAAAABigUBAAAAAYsFAQAAAAGMBQEAAAABjgUAAACOBQICAAAACQAgOQAAzw4AIAMAAAAHACA5AADPDgAgOgAA0w4AIBUAAAAHACADAACnCwAgBAAApgsAIAcAAN4LACAIAACpCwAgEwAAqAsAIDIAANMOACCIBAIAmwgAIYkEAgCbCAAhpQQCAJsIACGyBAEAtAgAIbYEQADECAAhxQQBALQIACHTBAEApQgAIeEEAQC0CAAh8QQCAJsIACGJBUAAxAgAIYoFAQC0CAAhiwUBALQIACGMBQEApQgAIY4FAACkC44FIhMDAACnCwAgBAAApgsAIAcAAN4LACAIAACpCwAgEwAAqAsAIIgEAgCbCAAhiQQCAJsIACGlBAIAmwgAIbIEAQC0CAAhtgRAAMQIACHFBAEAtAgAIdMEAQClCAAh4QQBALQIACHxBAIAmwgAIYkFQADECAAhigUBALQIACGLBQEAtAgAIYwFAQClCAAhjgUAAKQLjgUiFgUAAPsNACAIAAD-DQAgGAAAhg4AIBoAAPoNACAbAAD9DQAgHAAA_w0AIB0AAIAOACAeAACBDgAgHwAAgg4AICAAAIMOACAmAACEDgAgJwAAhQ4AICgAAIcOACApAACIDgAgKgAAiQ4AICsAAIoOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAA1A4AIBYHAAD8DQAgCAAA_g0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAdAACADgAgHgAAgQ4AIB8AAIIOACAgAACDDgAgJgAAhA4AICcAAIUOACAoAACHDgAgKQAAiA4AICoAAIkOACArAACKDgAgLAAAiw4AIIgEAgAAAAHlBAEAAAAB5gQBAAAAAZoFIAAAAAGbBSAAAAABAgAAAAEAIDkAANYOACAbAwAAuAwAIAgAALsMACAOAAC9DAAgEwAAugwAIBcAALwMACAYAAC-DAAgGQAAvwwAIIgEAgAAAAGJBAIAAAABmwQBAAAAAawEQAAAAAGyBAAAAI4FArYEQAAAAAH0BEAAAAAB-gQBAAAAAYgFAQAAAAGPBQEAAAABkAUBAAAAAZEFAQAAAAGSBQEAAAABkwUBAAAAAZQFAQAAAAGVBQEAAAABlgUBAAAAAZcFAQAAAAGYBQEAAAABmQUBAAAAAQIAAAAFACA5AADYDgAgDYgEAgAAAAGlBAIAAAABtgRAAAAAAecEAQAAAAHrBAEAAAAB7AQBAAAAAf0EAgAAAAH-BAEAAAAB_wQQAAAAAYAFAQAAAAGBBQEAAAABgwUAAACDBQKEBQEAAAABEYgEAgAAAAGJBAIAAAABpQQCAAAAAawEQAAAAAGyBAAAAPwEArYEQAAAAAHxBAIAAAAB8gQBAAAAAfMEAQAAAAH0BEAAAAAB9QQBAAAAAfcEAAAA9wQC-ASAAAAAAfkEQAAAAAH6BAEAAAAB_AQBAAAAAf0EAgAAAAEEiAQCAAAAAaYEAQAAAAGoBAEAAAABqgQBAAAAAQMAAAANACA5AADWDgAgOgAA3w4AIBgAAAANACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHgAAzAwAIB8AAM0MACAgAADODAAgJgAAzwwAICcAANAMACAoAADSDAAgKQAA0wwAICoAANQMACArAADVDAAgLAAA1gwAIDIAAN8OACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhFgcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIQMAAAADACA5AADYDgAgOgAA4g4AIB0AAAADACADAADlCwAgCAAA6AsAIA4AAOoLACATAADnCwAgFwAA6QsAIBgAAOsLACAZAADsCwAgMgAA4g4AIIgEAgCbCAAhiQQCAJsIACGbBAEApQgAIawEQADECAAhsgQAAKQLjgUitgRAAMQIACH0BEAAngkAIfoEAQClCAAhiAUBALQIACGPBQEAtAgAIZAFAQC0CAAhkQUBALQIACGSBQEApQgAIZMFAQClCAAhlAUBAKUIACGVBQEApQgAIZYFAQClCAAhlwUBAKUIACGYBQEApQgAIZkFAQClCAAhGwMAAOULACAIAADoCwAgDgAA6gsAIBMAAOcLACAXAADpCwAgGAAA6wsAIBkAAOwLACCIBAIAmwgAIYkEAgCbCAAhmwQBAKUIACGsBEAAxAgAIbIEAACkC44FIrYEQADECAAh9ARAAJ4JACH6BAEApQgAIYgFAQC0CAAhjwUBALQIACGQBQEAtAgAIZEFAQC0CAAhkgUBAKUIACGTBQEApQgAIZQFAQClCAAhlQUBAKUIACGWBQEApQgAIZcFAQClCAAhmAUBAKUIACGZBQEApQgAIQ2IBAIAAAABiQQCAAAAAaUEAgAAAAGyBAEAAAABtgRAAAAAAcUEAQAAAAHTBAEAAAAB4QQBAAAAAYkFQAAAAAGKBQEAAAABiwUBAAAAAYwFAQAAAAGOBQAAAI4FAhGIBAIAAAABiQQCAAAAAaUEAgAAAAGsBEAAAAABsgQAAAD8BAK2BEAAAAAB8AQCAAAAAfIEAQAAAAHzBAEAAAAB9ARAAAAAAfUEAQAAAAH3BAAAAPcEAvgEgAAAAAH5BEAAAAAB-gQBAAAAAfwEAQAAAAH9BAIAAAABAwAAAA0AIDkAANQOACA6AADnDgAgGAAAAA0AIAUAAMYMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgMgAA5w4AIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAAxgwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhFgUAAPsNACAHAAD8DQAgCAAA_g0AIBgAAIYOACAaAAD6DQAgHAAA_w0AIB0AAIAOACAeAACBDgAgHwAAgg4AICAAAIMOACAmAACEDgAgJwAAhQ4AICgAAIcOACApAACIDgAgKgAAiQ4AICsAAIoOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAA6A4AIBGIBAIAAAABiQQCAAAAAaUEAgAAAAGsBEAAAAABsgQAAAD8BAK2BEAAAAAB8AQCAAAAAfEEAgAAAAHyBAEAAAAB8wQBAAAAAfQEQAAAAAH1BAEAAAAB9wQAAAD3BAL4BIAAAAAB-QRAAAAAAfoEAQAAAAH8BAEAAAABDYgEAgAAAAGlBAIAAAABtgRAAAAAAecEAQAAAAHrBAEAAAAB7AQBAAAAAfAEAgAAAAH-BAEAAAAB_wQQAAAAAYAFAQAAAAGBBQEAAAABgwUAAACDBQKEBQEAAAABAwAAAA0AIDkAAOgOACA6AADuDgAgGAAAAA0AIAUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgMgAA7g4AIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhBwMAAIYLACAIAACHCwAgiAQCAAAAAYkEAgAAAAG2BEAAAAABhQUBAAAAAYYFAQAAAAECAAAAZwAgOQAA7w4AIBsDAAC4DAAgBQAAuQwAIAgAALsMACAOAAC9DAAgFwAAvAwAIBgAAL4MACAZAAC_DAAgiAQCAAAAAYkEAgAAAAGbBAEAAAABrARAAAAAAbIEAAAAjgUCtgRAAAAAAfQEQAAAAAH6BAEAAAABiAUBAAAAAY8FAQAAAAGQBQEAAAABkQUBAAAAAZIFAQAAAAGTBQEAAAABlAUBAAAAAZUFAQAAAAGWBQEAAAABlwUBAAAAAZgFAQAAAAGZBQEAAAABAgAAAAUAIDkAAPEOACATAwAAywsAIAQAAMoLACAHAADfCwAgCAAAzQsAIBQAAM4LACCIBAIAAAABiQQCAAAAAaUEAgAAAAGyBAEAAAABtgRAAAAAAcUEAQAAAAHTBAEAAAAB4QQBAAAAAfEEAgAAAAGJBUAAAAABigUBAAAAAYsFAQAAAAGMBQEAAAABjgUAAACOBQICAAAACQAgOQAA8w4AIAMAAAAWACA5AADvDgAgOgAA9w4AIAkAAAAWACADAADrCgAgCAAA7AoAIDIAAPcOACCIBAIAmwgAIYkEAgCbCAAhtgRAAMQIACGFBQEAtAgAIYYFAQC0CAAhBwMAAOsKACAIAADsCgAgiAQCAJsIACGJBAIAmwgAIbYEQADECAAhhQUBALQIACGGBQEAtAgAIQMAAAADACA5AADxDgAgOgAA-g4AIB0AAAADACADAADlCwAgBQAA5gsAIAgAAOgLACAOAADqCwAgFwAA6QsAIBgAAOsLACAZAADsCwAgMgAA-g4AIIgEAgCbCAAhiQQCAJsIACGbBAEApQgAIawEQADECAAhsgQAAKQLjgUitgRAAMQIACH0BEAAngkAIfoEAQClCAAhiAUBALQIACGPBQEAtAgAIZAFAQC0CAAhkQUBALQIACGSBQEApQgAIZMFAQClCAAhlAUBAKUIACGVBQEApQgAIZYFAQClCAAhlwUBAKUIACGYBQEApQgAIZkFAQClCAAhGwMAAOULACAFAADmCwAgCAAA6AsAIA4AAOoLACAXAADpCwAgGAAA6wsAIBkAAOwLACCIBAIAmwgAIYkEAgCbCAAhmwQBAKUIACGsBEAAxAgAIbIEAACkC44FIrYEQADECAAh9ARAAJ4JACH6BAEApQgAIYgFAQC0CAAhjwUBALQIACGQBQEAtAgAIZEFAQC0CAAhkgUBAKUIACGTBQEApQgAIZQFAQClCAAhlQUBAKUIACGWBQEApQgAIZcFAQClCAAhmAUBAKUIACGZBQEApQgAIQMAAAAHACA5AADzDgAgOgAA_Q4AIBUAAAAHACADAACnCwAgBAAApgsAIAcAAN4LACAIAACpCwAgFAAAqgsAIDIAAP0OACCIBAIAmwgAIYkEAgCbCAAhpQQCAJsIACGyBAEAtAgAIbYEQADECAAhxQQBALQIACHTBAEApQgAIeEEAQC0CAAh8QQCAJsIACGJBUAAxAgAIYoFAQC0CAAhiwUBALQIACGMBQEApQgAIY4FAACkC44FIhMDAACnCwAgBAAApgsAIAcAAN4LACAIAACpCwAgFAAAqgsAIIgEAgCbCAAhiQQCAJsIACGlBAIAmwgAIbIEAQC0CAAhtgRAAMQIACHFBAEAtAgAIdMEAQClCAAh4QQBALQIACHxBAIAmwgAIYkFQADECAAhigUBALQIACGLBQEAtAgAIYwFAQClCAAhjgUAAKQLjgUiBwMAAIYLACAKAACICwAgiAQCAAAAAYkEAgAAAAG2BEAAAAABhQUBAAAAAYYFAQAAAAECAAAAZwAgOQAA_g4AIAkDAADPCwAgBQAA0AsAIIgEAgAAAAGJBAIAAAABmwQBAAAAAbYEQAAAAAG5BAEAAAABhwUBAAAAAYgFAQAAAAECAAAAZAAgOQAAgA8AIBYFAAD7DQAgBwAA_A0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAdAACADgAgHgAAgQ4AIB8AAIIOACAgAACDDgAgJgAAhA4AICcAAIUOACAoAACHDgAgKQAAiA4AICoAAIkOACArAACKDgAgLAAAiw4AIIgEAgAAAAHlBAEAAAAB5gQBAAAAAZoFIAAAAAGbBSAAAAABAgAAAAEAIDkAAIIPACATAwAAywsAIAQAAMoLACAHAADfCwAgEwAAzAsAIBQAAM4LACCIBAIAAAABiQQCAAAAAaUEAgAAAAGyBAEAAAABtgRAAAAAAcUEAQAAAAHTBAEAAAAB4QQBAAAAAfEEAgAAAAGJBUAAAAABigUBAAAAAYsFAQAAAAGMBQEAAAABjgUAAACOBQICAAAACQAgOQAAhA8AIBsDAAC4DAAgBQAAuQwAIA4AAL0MACATAAC6DAAgFwAAvAwAIBgAAL4MACAZAAC_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-QRAAAAAAfoEAQAAAAH8BAEAAAAB_QQCAAAAAQIAAAASACA5AACeDwAgAwAAABAAIDkAAJ4PACA6AACiDwAgGwAAABAAIAMAALIKACAEAACwCgAgBgAAsQoAIAcAALMKACAJAAC0CgAgDgAAtwoAIBEAALUKACAyAACiDwAgiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhrARAAMQIACGyBAAArwr8BCK2BEAAxAgAIfAEAgCbCAAh8QQCAJsIACHyBAEAtAgAIfMEAQC0CAAh9ARAAMQIACH1BAEAtAgAIfcEAACuCvcEIvgEgAAAAAH5BEAAxAgAIfoEAQC0CAAh_AQBAKUIACH9BAIAzwgAIRkDAACyCgAgBAAAsAoAIAYAALEKACAHAACzCgAgCQAAtAoAIA4AALcKACARAAC1CgAgiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhrARAAMQIACGyBAAArwr8BCK2BEAAxAgAIfAEAgCbCAAh8QQCAJsIACHyBAEAtAgAIfMEAQC0CAAh9ARAAMQIACH1BAEAtAgAIfcEAACuCvcEIvgEgAAAAAH5BEAAxAgAIfoEAQC0CAAh_AQBAKUIACH9BAIAzwgAIRYFAAD7DQAgBwAA_A0AIAgAAP4NACAYAACGDgAgGgAA-g0AIBsAAP0NACAdAACADgAgHgAAgQ4AIB8AAIIOACAgAACDDgAgJgAAhA4AICcAAIUOACAoAACHDgAgKQAAiA4AICoAAIkOACArAACKDgAgLAAAiw4AIIgEAgAAAAHlBAEAAAAB5gQBAAAAAZoFIAAAAAGbBSAAAAABAgAAAAEAIDkAAKMPACADAAAADQAgOQAAow8AIDoAAKcPACAYAAAADQAgBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACAyAACnDwAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAADGDAAgBwAAxwwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAdAADLDAAgHgAAzAwAIB8AAM0MACAgAADODAAgJgAAzwwAICcAANAMACAoAADSDAAgKQAA0wwAICoAANQMACArAADVDAAgLAAA1gwAIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEbAwAAuAwAIAUAALkMACAIAAC7DAAgDgAAvQwAIBMAALoMACAYAAC-DAAgGQAAvwwAIIgEAgAAAAGJBAIAAAABmwQBAAAAAawEQAAAAAGyBAAAAI4FArYEQAAAAAH0BEAAAAAB-gQBAAAAAYgFAQAAAAGPBQEAAAABkAUBAAAAAZEFAQAAAAGSBQEAAAABkwUBAAAAAZQFAQAAAAGVBQEAAAABlgUBAAAAAZcFAQAAAAGYBQEAAAABmQUBAAAAAQIAAAAFACA5AACoDwAgBIgEAgAAAAGmBAEAAAABqwRAAAAAAd8EAAEAAAEDAAAAAwAgOQAAqA8AIDoAAK0PACAdAAAAAwAgAwAA5QsAIAUAAOYLACAIAADoCwAgDgAA6gsAIBMAAOcLACAYAADrCwAgGQAA7AsAIDIAAK0PACCIBAIAmwgAIYkEAgCbCAAhmwQBAKUIACGsBEAAxAgAIbIEAACkC44FIrYEQADECAAh9ARAAJ4JACH6BAEApQgAIYgFAQC0CAAhjwUBALQIACGQBQEAtAgAIZEFAQC0CAAhkgUBAKUIACGTBQEApQgAIZQFAQClCAAhlQUBAKUIACGWBQEApQgAIZcFAQClCAAhmAUBAKUIACGZBQEApQgAIRsDAADlCwAgBQAA5gsAIAgAAOgLACAOAADqCwAgEwAA5wsAIBgAAOsLACAZAADsCwAgiAQCAJsIACGJBAIAmwgAIZsEAQClCAAhrARAAMQIACGyBAAApAuOBSK2BEAAxAgAIfQEQACeCQAh-gQBAKUIACGIBQEAtAgAIY8FAQC0CAAhkAUBALQIACGRBQEAtAgAIZIFAQClCAAhkwUBAKUIACGUBQEApQgAIZUFAQClCAAhlgUBAKUIACGXBQEApQgAIZgFAQClCAAhmQUBAKUIACEGBAAAkgoAIIgEAgAAAAGlBAIAAAABtgRAAAAAAeEEAQAAAAHjBAAAAOMEAgIAAABIACA5AACuDwAgAwAAAEYAIDkAAK4PACA6AACyDwAgCAAAAEYAIAQAAIQKACAyAACyDwAgiAQCAJsIACGlBAIAmwgAIbYEQADECAAh4QQBALQIACHjBAAAgwrjBCIGBAAAhAoAIIgEAgCbCAAhpQQCAJsIACG2BEAAxAgAIeEEAQC0CAAh4wQAAIMK4wQiFgUAAPsNACAHAAD8DQAgCAAA_g0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAeAACBDgAgHwAAgg4AICAAAIMOACAmAACEDgAgJwAAhQ4AICgAAIcOACApAACIDgAgKgAAiQ4AICsAAIoOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAAsw8AIBsDAAC4DAAgBQAAuQwAIAgAALsMACATAAC6DAAgFwAAvAwAIBgAAL4MACAZAAC_DAAgiAQCAAAAAYkEAgAAAAGbBAEAAAABrARAAAAAAbIEAAAAjgUCtgRAAAAAAfQEQAAAAAH6BAEAAAABiAUBAAAAAY8FAQAAAAGQBQEAAAABkQUBAAAAAZIFAQAAAAGTBQEAAAABlAUBAAAAAZUFAQAAAAGWBQEAAAABlwUBAAAAAZgFAQAAAAGZBQEAAAABAgAAAAUAIDkAALUPACAZAwAA1AoAIAQAANIKACAGAADTCgAgBwAA1QoAIAkAANYKACARAADXCgAgEgAA2AoAIIgEAgAAAAGJBAIAAAABpQQCAAAAAawEQAAAAAGyBAAAAPwEArYEQAAAAAHwBAIAAAAB8QQCAAAAAfIEAQAAAAHzBAEAAAAB9ARAAAAAAfUEAQAAAAH3BAAAAPcEAvgEgAAAAAH5BEAAAAAB-gQBAAAAAfwEAQAAAAH9BAIAAAABAgAAABIAIDkAALcPACAKiAQCAAAAAbYEQAAAAAHLBAIAAAABzAQBAAAAAc0EEAAAAAHOBBAAAAAB0AQAAADQBALRBEAAAAAB0gQBAAAAAdMEAQAAAAEZAwAA1AoAIAQAANIKACAGAADTCgAgBwAA1QoAIAkAANYKACAOAADZCgAgEgAA2AoAIIgEAgAAAAGJBAIAAAABpQQCAAAAAawEQAAAAAGyBAAAAPwEArYEQAAAAAHwBAIAAAAB8QQCAAAAAfIEAQAAAAHzBAEAAAAB9ARAAAAAAfUEAQAAAAH3BAAAAPcEAvgEgAAAAAH5BEAAAAAB-gQBAAAAAfwEAQAAAAH9BAIAAAABAgAAABIAIDkAALoPACAKiAQCAAAAAbYEQAAAAAHKBAIAAAABzAQBAAAAAc0EEAAAAAHOBBAAAAAB0AQAAADQBALRBEAAAAAB0gQBAAAAAdMEAQAAAAEDAAAAEAAgOQAAug8AIDoAAL8PACAbAAAAEAAgAwAAsgoAIAQAALAKACAGAACxCgAgBwAAswoAIAkAALQKACAOAAC3CgAgEgAAtgoAIDIAAL8PACCIBAIAmwgAIYkEAgCbCAAhpQQCAJsIACGsBEAAxAgAIbIEAACvCvwEIrYEQADECAAh8AQCAJsIACHxBAIAmwgAIfIEAQC0CAAh8wQBALQIACH0BEAAxAgAIfUEAQC0CAAh9wQAAK4K9wQi-ASAAAAAAfkEQADECAAh-gQBALQIACH8BAEApQgAIf0EAgDPCAAhGQMAALIKACAEAACwCgAgBgAAsQoAIAcAALMKACAJAAC0CgAgDgAAtwoAIBIAALYKACCIBAIAmwgAIYkEAgCbCAAhpQQCAJsIACGsBEAAxAgAIbIEAACvCvwEIrYEQADECAAh8AQCAJsIACHxBAIAmwgAIfIEAQC0CAAh8wQBALQIACH0BEAAxAgAIfUEAQC0CAAh9wQAAK4K9wQi-ASAAAAAAfkEQADECAAh-gQBALQIACH8BAEApQgAIf0EAgDPCAAhEIgEAgAAAAGyBAAAAPAEAtQEAgAAAAHWBBAAAAAB1wQQAAAAAdgEEAAAAAHZBBAAAAAB3gQBAAAAAecEAQAAAAHoBEAAAAAB6QQBAAAAAeoEAQAAAAHrBAEAAAAB7AQBAAAAAe0EAQAAAAHuBBAAAAABAwAAAA0AIDkAALMPACA6AADDDwAgGAAAAA0AIAUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgMgAAww8AIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhAwAAAAMAIDkAALUPACA6AADGDwAgHQAAAAMAIAMAAOULACAFAADmCwAgCAAA6AsAIBMAAOcLACAXAADpCwAgGAAA6wsAIBkAAOwLACAyAADGDwAgiAQCAJsIACGJBAIAmwgAIZsEAQClCAAhrARAAMQIACGyBAAApAuOBSK2BEAAxAgAIfQEQACeCQAh-gQBAKUIACGIBQEAtAgAIY8FAQC0CAAhkAUBALQIACGRBQEAtAgAIZIFAQClCAAhkwUBAKUIACGUBQEApQgAIZUFAQClCAAhlgUBAKUIACGXBQEApQgAIZgFAQClCAAhmQUBAKUIACEbAwAA5QsAIAUAAOYLACAIAADoCwAgEwAA5wsAIBcAAOkLACAYAADrCwAgGQAA7AsAIIgEAgCbCAAhiQQCAJsIACGbBAEApQgAIawEQADECAAhsgQAAKQLjgUitgRAAMQIACH0BEAAngkAIfoEAQClCAAhiAUBALQIACGPBQEAtAgAIZAFAQC0CAAhkQUBALQIACGSBQEApQgAIZMFAQClCAAhlAUBAKUIACGVBQEApQgAIZYFAQClCAAhlwUBAKUIACGYBQEApQgAIZkFAQClCAAhAwAAABAAIDkAALcPACA6AADJDwAgGwAAABAAIAMAALIKACAEAACwCgAgBgAAsQoAIAcAALMKACAJAAC0CgAgEQAAtQoAIBIAALYKACAyAADJDwAgiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhrARAAMQIACGyBAAArwr8BCK2BEAAxAgAIfAEAgCbCAAh8QQCAJsIACHyBAEAtAgAIfMEAQC0CAAh9ARAAMQIACH1BAEAtAgAIfcEAACuCvcEIvgEgAAAAAH5BEAAxAgAIfoEAQC0CAAh_AQBAKUIACH9BAIAzwgAIRkDAACyCgAgBAAAsAoAIAYAALEKACAHAACzCgAgCQAAtAoAIBEAALUKACASAAC2CgAgiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhrARAAMQIACGyBAAArwr8BCK2BEAAxAgAIfAEAgCbCAAh8QQCAJsIACHyBAEAtAgAIfMEAQC0CAAh9ARAAMQIACH1BAEAtAgAIfcEAACuCvcEIvgEgAAAAAH5BEAAxAgAIfoEAQC0CAAh_AQBAKUIACH9BAIAzwgAIRMMAADnCQAgDgAAqAoAIIgEAgAAAAGyBAAAAPAEAsoEAgAAAAHUBAIAAAAB1gQQAAAAAdcEEAAAAAHYBBAAAAAB2QQQAAAAAd4EAQAAAAHnBAEAAAAB6ARAAAAAAekEAQAAAAHqBAEAAAAB6wQBAAAAAewEAQAAAAHtBAEAAAAB7gQQAAAAAQIAAAAiACA5AADKDwAgFQQAAPMJACAMAADyCQAgDQAA9AkAIBEAAPYJACCIBAIAAAABiQQCAAAAAaUEAgAAAAGsBEAAAAABsgQAAADeBAK2BEAAAAAB0wQBAAAAAdQEAgAAAAHVBAIAAAAB1gQQAAAAAdcEEAAAAAHYBBAAAAAB2QQQAAAAAdoEEAAAAAHbBBAAAAAB3AQQAAAAAd4EAQAAAAECAAAAUAAgOQAAzA8AIAMAAAAgACA5AADKDwAgOgAA0A8AIBUAAAAgACAMAADYCQAgDgAApwoAIDIAANAPACCIBAIAmwgAIbIEAADWCfAEIsoEAgDPCAAh1AQCAM8IACHWBBAAugkAIdcEEAC6CQAh2AQQALoJACHZBBAAugkAId4EAQClCAAh5wQBALQIACHoBEAAxAgAIekEAQClCAAh6gQBAKUIACHrBAEApQgAIewEAQClCAAh7QQBAKUIACHuBBAAxQkAIRMMAADYCQAgDgAApwoAIIgEAgCbCAAhsgQAANYJ8AQiygQCAM8IACHUBAIAzwgAIdYEEAC6CQAh1wQQALoJACHYBBAAugkAIdkEEAC6CQAh3gQBAKUIACHnBAEAtAgAIegEQADECAAh6QQBAKUIACHqBAEApQgAIesEAQClCAAh7AQBAKUIACHtBAEApQgAIe4EEADFCQAhAwAAACUAIDkAAMwPACA6AADTDwAgFwAAACUAIAQAAMgJACAMAADHCQAgDQAAyQkAIBEAAMsJACAyAADTDwAgiAQCAJsIACGJBAIAmwgAIaUEAgCbCAAhrARAAMQIACGyBAAAxgneBCK2BEAAxAgAIdMEAQClCAAh1AQCAM8IACHVBAIAzwgAIdYEEAC6CQAh1wQQALoJACHYBBAAugkAIdkEEAC6CQAh2gQQAMUJACHbBBAAugkAIdwEEAC6CQAh3gQBAKUIACEVBAAAyAkAIAwAAMcJACANAADJCQAgEQAAywkAIIgEAgCbCAAhiQQCAJsIACGlBAIAmwgAIawEQADECAAhsgQAAMYJ3gQitgRAAMQIACHTBAEApQgAIdQEAgDPCAAh1QQCAM8IACHWBBAAugkAIdcEEAC6CQAh2AQQALoJACHZBBAAugkAIdoEEADFCQAh2wQQALoJACHcBBAAugkAId4EAQClCAAhFgUAAPsNACAHAAD8DQAgCAAA_g0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAdAACADgAgHwAAgg4AICAAAIMOACAmAACEDgAgJwAAhQ4AICgAAIcOACApAACIDgAgKgAAiQ4AICsAAIoOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAA1A8AIAMAAAANACA5AADUDwAgOgAA2A8AIBgAAAANACAFAADGDAAgBwAAxwwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB8AAM0MACAgAADODAAgJgAAzwwAICcAANAMACAoAADSDAAgKQAA0wwAICoAANQMACArAADVDAAgLAAA1gwAIDIAANgPACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhFgUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAAD7DQAgBwAA_A0AIAgAAP4NACAYAACGDgAgGgAA-g0AIBsAAP0NACAcAAD_DQAgHQAAgA4AIB4AAIEOACAgAACDDgAgJgAAhA4AICcAAIUOACAoAACHDgAgKQAAiA4AICoAAIkOACArAACKDgAgLAAAiw4AIIgEAgAAAAHlBAEAAAAB5gQBAAAAAZoFIAAAAAGbBSAAAAABAgAAAAEAIDkAANkPACADAAAADQAgOQAA2Q8AIDoAAN0PACAYAAAADQAgBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACAyAADdDwAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAADGDAAgBwAAxwwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAgAADODAAgJgAAzwwAICcAANAMACAoAADSDAAgKQAA0wwAICoAANQMACArAADVDAAgLAAA1gwAIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAA-w0AIAcAAPwNACAIAAD-DQAgGAAAhg4AIBoAAPoNACAbAAD9DQAgHAAA_w0AIB0AAIAOACAeAACBDgAgHwAAgg4AICYAAIQOACAnAACFDgAgKAAAhw4AICkAAIgOACAqAACJDgAgKwAAig4AICwAAIsOACCIBAIAAAAB5QQBAAAAAeYEAQAAAAGaBSAAAAABmwUgAAAAAQIAAAABACA5AADeDwAgAwAAAA0AIDkAAN4PACA6AADiDwAgGAAAAA0AIAUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHgAAzAwAIB8AAM0MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgMgAA4g8AIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhCQMAAJYJACAUAACXCQAgIQAAmAkAIIgEAgAAAAGJBAIAAAABrARAAAAAAbYEQAAAAAG5BAEAAAABvgQCAAAAAQIAAAB9ACA5AADjDwAgFgUAAPsNACAHAAD8DQAgCAAA_g0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAdAACADgAgHgAAgQ4AIB8AAIIOACAgAACDDgAgJwAAhQ4AICgAAIcOACApAACIDgAgKgAAiQ4AICsAAIoOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAA5Q8AIAWIBAIAAAABiQQCAAAAAawEQAAAAAG2BEAAAAABuQQBAAAAAQqIBAIAAAABiQQCAAAAAagEAQAAAAGpBAQAAAABrARAAAAAAbYEQAAAAAG5BAEAAAABuwQgAAAAAbwEAgAAAAG9BAEAAAABAwAAAA0AIDkAAOUPACA6AADrDwAgGAAAAA0AIAUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHgAAzAwAIB8AAM0MACAgAADODAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgMgAA6w8AIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhAwAAAHsAIDkAAOMPACA6AADuDwAgCwAAAHsAIAMAAPsIACAUAAD8CAAgIQAA-QgAIDIAAO4PACCIBAIAmwgAIYkEAgCbCAAhrARAAMQIACG2BEAAxAgAIbkEAQC0CAAhvgQCAM8IACEJAwAA-wgAIBQAAPwIACAhAAD5CAAgiAQCAJsIACGJBAIAmwgAIawEQADECAAhtgRAAMQIACG5BAEAtAgAIb4EAgDPCAAhCQMAAJYJACAhAACYCQAgIgAAlQkAIIgEAgAAAAGJBAIAAAABrARAAAAAAbYEQAAAAAG5BAEAAAABvgQCAAAAAQIAAAB9ACA5AADvDwAgFgUAAPsNACAHAAD8DQAgCAAA_g0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAdAACADgAgHgAAgQ4AIB8AAIIOACAgAACDDgAgJgAAhA4AICgAAIcOACApAACIDgAgKgAAiQ4AICsAAIoOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAA8Q8AIAQyAAEAAAGIBAIAAAABtgRAAAAAAbgEAgAAAAEDAAAAewAgOQAA7w8AIDoAAPYPACALAAAAewAgAwAA-wgAICEAAPkIACAiAAD6CAAgMgAA9g8AIIgEAgCbCAAhiQQCAJsIACGsBEAAxAgAIbYEQADECAAhuQQBALQIACG-BAIAzwgAIQkDAAD7CAAgIQAA-QgAICIAAPoIACCIBAIAmwgAIYkEAgCbCAAhrARAAMQIACG2BEAAxAgAIbkEAQC0CAAhvgQCAM8IACEDAAAADQAgOQAA8Q8AIDoAAPkPACAYAAAADQAgBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACAyAAD5DwAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAADGDAAgBwAAxwwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAoAADSDAAgKQAA0wwAICoAANQMACArAADVDAAgLAAA1gwAIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACENAwAA8QgAICMAAPIIACCIBAIAAAABiQQCAAAAAagEAQAAAAGpBAQAAAABrARAAAAAAbYEQAAAAAG5BAEAAAABugQCAAAAAbsEIAAAAAG8BAIAAAABvQQBAAAAAQIAAACDAQAgOQAA-g8AIAMAAACBAQAgOQAA-g8AIDoAAP4PACAPAAAAgQEAIAMAAOIIACAjAADjCAAgMgAA_g8AIIgEAgCbCAAhiQQCAJsIACGoBAEApQgAIakEBADDCAAhrARAAMQIACG2BEAAxAgAIbkEAQC0CAAhugQCAM8IACG7BCAA4QgAIbwEAgDPCAAhvQQBAKUIACENAwAA4ggAICMAAOMIACCIBAIAmwgAIYkEAgCbCAAhqAQBAKUIACGpBAQAwwgAIawEQADECAAhtgRAAMQIACG5BAEAtAgAIboEAgDPCAAhuwQgAOEIACG8BAIAzwgAIb0EAQClCAAhFgUAAPsNACAHAAD8DQAgCAAA_g0AIBoAAPoNACAbAAD9DQAgHAAA_w0AIB0AAIAOACAeAACBDgAgHwAAgg4AICAAAIMOACAmAACEDgAgJwAAhQ4AICgAAIcOACApAACIDgAgKgAAiQ4AICsAAIoOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAA_w8AIBsDAAC4DAAgBQAAuQwAIAgAALsMACAOAAC9DAAgEwAAugwAIBcAALwMACAZAAC_DAAgiAQCAAAAAYkEAgAAAAGbBAEAAAABrARAAAAAAbIEAAAAjgUCtgRAAAAAAfQEQAAAAAH6BAEAAAABiAUBAAAAAY8FAQAAAAGQBQEAAAABkQUBAAAAAZIFAQAAAAGTBQEAAAABlAUBAAAAAZUFAQAAAAGWBQEAAAABlwUBAAAAAZgFAQAAAAGZBQEAAAABAgAAAAUAIDkAAIEQACADAAAADQAgOQAA_w8AIDoAAIUQACAYAAAADQAgBQAAxgwAIAcAAMcMACAIAADJDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAICwAANYMACAyAACFEAAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAADGDAAgBwAAxwwAIAgAAMkMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHgAAzAwAIB8AAM0MACAgAADODAAgJgAAzwwAICcAANAMACAoAADSDAAgKQAA0wwAICoAANQMACArAADVDAAgLAAA1gwAIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEDAAAAAwAgOQAAgRAAIDoAAIgQACAdAAAAAwAgAwAA5QsAIAUAAOYLACAIAADoCwAgDgAA6gsAIBMAAOcLACAXAADpCwAgGQAA7AsAIDIAAIgQACCIBAIAmwgAIYkEAgCbCAAhmwQBAKUIACGsBEAAxAgAIbIEAACkC44FIrYEQADECAAh9ARAAJ4JACH6BAEApQgAIYgFAQC0CAAhjwUBALQIACGQBQEAtAgAIZEFAQC0CAAhkgUBAKUIACGTBQEApQgAIZQFAQClCAAhlQUBAKUIACGWBQEApQgAIZcFAQClCAAhmAUBAKUIACGZBQEApQgAIRsDAADlCwAgBQAA5gsAIAgAAOgLACAOAADqCwAgEwAA5wsAIBcAAOkLACAZAADsCwAgiAQCAJsIACGJBAIAmwgAIZsEAQClCAAhrARAAMQIACGyBAAApAuOBSK2BEAAxAgAIfQEQACeCQAh-gQBAKUIACGIBQEAtAgAIY8FAQC0CAAhkAUBALQIACGRBQEAtAgAIZIFAQClCAAhkwUBAKUIACGUBQEApQgAIZUFAQClCAAhlgUBAKUIACGXBQEApQgAIZgFAQClCAAhmQUBAKUIACEbAwAAuAwAIAUAALkMACAIAAC7DAAgDgAAvQwAIBMAALoMACAXAAC8DAAgGAAAvgwAIIgEAgAAAAGJBAIAAAABmwQBAAAAAawEQAAAAAGyBAAAAI4FArYEQAAAAAH0BEAAAAAB-gQBAAAAAYgFAQAAAAGPBQEAAAABkAUBAAAAAZEFAQAAAAGSBQEAAAABkwUBAAAAAZQFAQAAAAGVBQEAAAABlgUBAAAAAZcFAQAAAAGYBQEAAAABmQUBAAAAAQIAAAAFACA5AACJEAAgAwAAAAMAIDkAAIkQACA6AACNEAAgHQAAAAMAIAMAAOULACAFAADmCwAgCAAA6AsAIA4AAOoLACATAADnCwAgFwAA6QsAIBgAAOsLACAyAACNEAAgiAQCAJsIACGJBAIAmwgAIZsEAQClCAAhrARAAMQIACGyBAAApAuOBSK2BEAAxAgAIfQEQACeCQAh-gQBAKUIACGIBQEAtAgAIY8FAQC0CAAhkAUBALQIACGRBQEAtAgAIZIFAQClCAAhkwUBAKUIACGUBQEApQgAIZUFAQClCAAhlgUBAKUIACGXBQEApQgAIZgFAQClCAAhmQUBAKUIACEbAwAA5QsAIAUAAOYLACAIAADoCwAgDgAA6gsAIBMAAOcLACAXAADpCwAgGAAA6wsAIIgEAgCbCAAhiQQCAJsIACGbBAEApQgAIawEQADECAAhsgQAAKQLjgUitgRAAMQIACH0BEAAngkAIfoEAQClCAAhiAUBALQIACGPBQEAtAgAIZAFAQC0CAAhkQUBALQIACGSBQEApQgAIZMFAQClCAAhlAUBAKUIACGVBQEApQgAIZYFAQClCAAhlwUBAKUIACGYBQEApQgAIZkFAQClCAAhFgUAAPsNACAHAAD8DQAgCAAA_g0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAdAACADgAgHgAAgQ4AIB8AAIIOACAgAACDDgAgJgAAhA4AICcAAIUOACApAACIDgAgKgAAiQ4AICsAAIoOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAAjhAAIAMAAAANACA5AACOEAAgOgAAkhAAIBgAAAANACAFAADGDAAgBwAAxwwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKQAA0wwAICoAANQMACArAADVDAAgLAAA1gwAIDIAAJIQACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhFgUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHgAAzAwAIB8AAM0MACAgAADODAAgJgAAzwwAICcAANAMACApAADTDAAgKgAA1AwAICsAANUMACAsAADWDAAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAAD7DQAgBwAA_A0AIAgAAP4NACAYAACGDgAgGgAA-g0AIBsAAP0NACAcAAD_DQAgHQAAgA4AIB4AAIEOACAfAACCDgAgIAAAgw4AICYAAIQOACAnAACFDgAgKAAAhw4AICoAAIkOACArAACKDgAgLAAAiw4AIIgEAgAAAAHlBAEAAAAB5gQBAAAAAZoFIAAAAAGbBSAAAAABAgAAAAEAIDkAAJMQACADAAAADQAgOQAAkxAAIDoAAJcQACAYAAAADQAgBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACAqAADUDAAgKwAA1QwAICwAANYMACAyAACXEAAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAADGDAAgBwAAxwwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICoAANQMACArAADVDAAgLAAA1gwAIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAA-w0AIAcAAPwNACAIAAD-DQAgGAAAhg4AIBoAAPoNACAbAAD9DQAgHAAA_w0AIB0AAIAOACAeAACBDgAgHwAAgg4AICAAAIMOACAmAACEDgAgJwAAhQ4AICgAAIcOACApAACIDgAgKwAAig4AICwAAIsOACCIBAIAAAAB5QQBAAAAAeYEAQAAAAGaBSAAAAABmwUgAAAAAQIAAAABACA5AACYEAAgAwAAAA0AIDkAAJgQACA6AACcEAAgGAAAAA0AIAUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHgAAzAwAIB8AAM0MACAgAADODAAgJgAAzwwAICcAANAMACAoAADSDAAgKQAA0wwAICsAANUMACAsAADWDAAgMgAAnBAAIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACEWBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKwAA1QwAICwAANYMACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhFgUAAPsNACAHAAD8DQAgCAAA_g0AIBgAAIYOACAaAAD6DQAgGwAA_Q0AIBwAAP8NACAdAACADgAgHgAAgQ4AIB8AAIIOACAgAACDDgAgJgAAhA4AICcAAIUOACAoAACHDgAgKQAAiA4AICoAAIkOACAsAACLDgAgiAQCAAAAAeUEAQAAAAHmBAEAAAABmgUgAAAAAZsFIAAAAAECAAAAAQAgOQAAnRAAIAMAAAANACA5AACdEAAgOgAAoRAAIBgAAAANACAFAADGDAAgBwAAxwwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgLAAA1gwAIDIAAKEQACCIBAIAmwgAIeUEAQC0CAAh5gQBALQIACGaBSAA4QgAIZsFIADhCAAhFgUAAMYMACAHAADHDAAgCAAAyQwAIBgAANEMACAaAADFDAAgGwAAyAwAIBwAAMoMACAdAADLDAAgHgAAzAwAIB8AAM0MACAgAADODAAgJgAAzwwAICcAANAMACAoAADSDAAgKQAA0wwAICoAANQMACAsAADWDAAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAAD7DQAgBwAA_A0AIAgAAP4NACAYAACGDgAgGgAA-g0AIBsAAP0NACAcAAD_DQAgHQAAgA4AIB4AAIEOACAfAACCDgAgIAAAgw4AICYAAIQOACAnAACFDgAgKAAAhw4AICkAAIgOACAqAACJDgAgKwAAig4AIIgEAgAAAAHlBAEAAAAB5gQBAAAAAZoFIAAAAAGbBSAAAAABAgAAAAEAIDkAAKIQACADAAAADQAgOQAAohAAIDoAAKYQACAYAAAADQAgBQAAxgwAIAcAAMcMACAIAADJDAAgGAAA0QwAIBoAAMUMACAbAADIDAAgHAAAygwAIB0AAMsMACAeAADMDAAgHwAAzQwAICAAAM4MACAmAADPDAAgJwAA0AwAICgAANIMACApAADTDAAgKgAA1AwAICsAANUMACAyAACmEAAgiAQCAJsIACHlBAEAtAgAIeYEAQC0CAAhmgUgAOEIACGbBSAA4QgAIRYFAADGDAAgBwAAxwwAIAgAAMkMACAYAADRDAAgGgAAxQwAIBsAAMgMACAcAADKDAAgHQAAywwAIB4AAMwMACAfAADNDAAgIAAAzgwAICYAAM8MACAnAADQDAAgKAAA0gwAICkAANMMACAqAADUDAAgKwAA1QwAIIgEAgCbCAAh5QQBALQIACHmBAEAtAgAIZoFIADhCAAhmwUgAOEIACETBWIDB2UECGkFCwAnGI4BFhoGAhtoBhxtGR1uCh5yGh92GyB6HCZ-HSeNAR4okAEiKZIBIyqUASQrlgElLJgBJgkDAAEFCgMIRQULABgOUQoTRAcXSRMYVRYZWhcHAwABBAACBwwECDwFCwASEzsHFEARBAMOAQUPAwgTBQsAEAkDFAEEAAIGAAMHFQQJFwYLAA8ONgoRIwkSNQ4EAwABCBgFChwHCwAIAwQAAgYAAwkdBgIIHgAKHwAECwANDCQFDiYKEDALBgQAAgsADAwnBQ0oARAsCxEtCQIOAAoPAAkCEC4AES8AARAxAAEMAAUCETcAEjgAAgU5AAg6AAEGAAMDCEIAE0EAFEMAAwQAAgsAFRZNFAEVABMBFk4AAgNWAQQAAgEEAAIHBVsACF0ADl8AE1wAF14AGGAAGWEAAQMAAQEDAAEBAwABAQMAAQUDAAELACEUhAEeIX8dIoABHQQDAAELACAjhQEdJYkBHwEkAB4BJYoBAAIUjAEAIosBAAEDAAEBAwABAQMAAQEDAAEBAwABDQWaAQAHmwEACJ0BABilAQAamQEAG5wBAByeAQAdnwEAHqABAB-hAQAgogEAJqMBACekAQAAAAAFCwAsPwAtQAAuQQAvQgAwAAAAAAAFCwAsPwAtQAAuQQAvQgAwAQMAAQEDAAEFCwA1PwA2QAA3QQA4QgA5AAAAAAAFCwA1PwA2QAA3QQA4QgA5AwMAAQQAAgfcAQQDAwABBAACB-IBBAULAD4_AD9AAEBBAEFCAEIAAAAAAAULAD4_AD9AAEBBAEFCAEIBBgADAQYAAwULAEc_AEhAAElBAEpCAEsAAAAAAAULAEc_AEhAAElBAEpCAEsBA4oCAQEDkAIBBQsAUD8AUUAAUkEAU0IAVAAAAAAABQsAUD8AUUAAUkEAU0IAVAEDAAEBAwABBQsAWT8AWkAAW0EAXEIAXQAAAAAABQsAWT8AWkAAW0EAXEIAXQMEAAIGAAMJuAIGAwQAAgYAAwm-AgYFCwBiPwBjQABkQQBlQgBmAAAAAAAFCwBiPwBjQABkQQBlQgBmBQPQAgEEAAIGAAMH0QIECdICBgUD2AIBBAACBgADB9kCBAnaAgYFCwBrPwBsQABtQQBuQgBvAAAAAAAFCwBrPwBsQABtQQBuQgBvAgzsAgUO7QIKAgzzAgUO9AIKBQsAdD8AdUAAdkEAd0IAeAAAAAAABQsAdD8AdUAAdkEAd0IAeAEMAAUBDAAFBQsAfT8AfkAAf0EAgAFCAIEBAAAAAAAFCwB9PwB-QAB_QQCAAUIAgQEBAwABAQMAAQULAIYBPwCHAUAAiAFBAIkBQgCKAQAAAAAABQsAhgE_AIcBQACIAUEAiQFCAIoBAQQAAgEEAAIFCwCPAT8AkAFAAJEBQQCSAUIAkwEAAAAAAAULAI8BPwCQAUAAkQFBAJIBQgCTAQEVABMBFQATBQsAmAE_AJkBQACaAUEAmwFCAJwBAAAAAAAFCwCYAT8AmQFAAJoBQQCbAUIAnAEDBAACDN4DBQ3fAwEDBAACDOUDBQ3mAwEFCwChAT8AogFAAKMBQQCkAUIApQEAAAAAAAULAKEBPwCiAUAAowFBAKQBQgClAQIOAAoPAAkCDgAKDwAJBQsAqgE_AKsBQACsAUEArQFCAK4BAAAAAAAFCwCqAT8AqwFAAKwBQQCtAUIArgEBAwABAQMAAQULALMBPwC0AUAAtQFBALYBQgC3AQAAAAAABQsAswE_ALQBQAC1AUEAtgFCALcBAQMAAQEDAAEFCwC8AT8AvQFAAL4BQQC_AUIAwAEAAAAAAAULALwBPwC9AUAAvgFBAL8BQgDAAQEDAAEBAwABBQsAxQE_AMYBQADHAUEAyAFCAMkBAAAAAAAFCwDFAT8AxgFAAMcBQQDIAUIAyQEAAAAFCwDPAT8A0AFAANEBQQDSAUIA0wEAAAAAAAULAM8BPwDQAUAA0QFBANIBQgDTAQIDAAEh6QQdAgMAASHvBB0FCwDYAT8A2QFAANoBQQDbAUIA3AEAAAAAAAULANgBPwDZAUAA2gFBANsBQgDcAQIDAAEjgQUdAgMAASOHBR0FCwDhAT8A4gFAAOMBQQDkAUIA5QEAAAAAAAULAOEBPwDiAUAA4wFBAOQBQgDlAQEkAB4BJAAeBQsA6gE_AOsBQADsAUEA7QFCAO4BAAAAAAAFCwDqAT8A6wFAAOwBQQDtAUIA7gECA68FAQQAAgIDtQUBBAACBQsA8wE_APQBQAD1AUEA9gFCAPcBAAAAAAAFCwDzAT8A9AFAAPUBQQD2AUIA9wEBBAACAQQAAgULAPwBPwD9AUAA_gFBAP8BQgCAAgAAAAAABQsA_AE_AP0BQAD-AUEA_wFCAIACAQMAAQEDAAEFCwCFAj8AhgJAAIcCQQCIAkIAiQIAAAAAAAULAIUCPwCGAkAAhwJBAIgCQgCJAgEDAAEBAwABBQsAjgI_AI8CQACQAkEAkQJCAJICAAAAAAAFCwCOAj8AjwJAAJACQQCRAkIAkgIBAwABAQMAAQULAJcCPwCYAkAAmQJBAJoCQgCbAgAAAAAABQsAlwI_AJgCQACZAkEAmgJCAJsCAQMAAQEDAAEFCwCgAj8AoQJAAKICQQCjAkIApAIAAAAAAAULAKACPwChAkAAogJBAKMCQgCkAgEDAAEBAwABBQsAqQI_AKoCQACrAkEArAJCAK0CAAAAAAAFCwCpAj8AqgJAAKsCQQCsAkIArQItAgEupgEBL6gBATCpAQExqgEBM6wBATSuASg1rwEpNrEBATezASg4tAEqO7UBATy2AQE9twEoQ7oBK0S7ATFFvAECRr0BAke-AQJIvwECScABAkrCAQJLxAEoTMUBMk3HAQJOyQEoT8oBM1DLAQJRzAECUs0BKFPQATRU0QE6VdIBA1bTAQNX1AEDWNUBA1nWAQNa2AEDW9oBKFzbATtd3gEDXuABKF_hATxg4wEDYeQBA2LlAShj6AE9ZOkBQ2XqARFm6wERZ-wBEWjtARFp7gERavABEWvyAShs8wFEbfUBEW73AShv-AFFcPkBEXH6ARFy-wEoc_4BRnT_AUx1gAIEdoECBHeCAgR4gwIEeYQCBHqGAgR7iAIofIkCTX2MAgR-jgIof48CToABkQIEgQGSAgSCAZMCKIMBlgJPhAGXAlWFAZgCBoYBmQIGhwGaAgaIAZsCBokBnAIGigGeAgaLAaACKIwBoQJWjQGjAgaOAaUCKI8BpgJXkAGnAgaRAagCBpIBqQIokwGsAliUAa0CXpUBrgIHlgGvAgeXAbACB5gBsQIHmQGyAgeaAbQCB5sBtgIonAG3Al-dAboCB54BvAIonwG9AmCgAb8CB6EBwAIHogHBAiijAcQCYaQBxQJnpQHGAgWmAccCBacByAIFqAHJAgWpAcoCBaoBzAIFqwHOAiisAc8CaK0B1AIFrgHWAiivAdcCabAB2wIFsQHcAgWyAd0CKLMB4AJqtAHhAnC1AeICCbYB4wIJtwHkAgm4AeUCCbkB5gIJugHoAgm7AeoCKLwB6wJxvQHvAgm-AfECKL8B8gJywAH1AgnBAfYCCcIB9wIowwH6AnPEAfsCecUB_AIOxgH9Ag7HAf4CDsgB_wIOyQGAAw7KAYIDDssBhAMozAGFA3rNAYcDDs4BiQMozwGKA3vQAYsDDtEBjAMO0gGNAyjTAZADfNQBkQOCAdUBkgMZ1gGTAxnXAZQDGdgBlQMZ2QGWAxnaAZgDGdsBmgMo3AGbA4MB3QGdAxneAZ8DKN8BoAOEAeABoQMZ4QGiAxniAaMDKOMBpgOFAeQBpwOLAeUBqAMT5gGpAxPnAaoDE-gBqwMT6QGsAxPqAa4DE-sBsAMo7AGxA4wB7QGzAxPuAbUDKO8BtgONAfABtwMT8QG4AxPyAbkDKPMBvAOOAfQBvQOUAfUBvgMU9gG_AxT3AcADFPgBwQMU-QHCAxT6AcQDFPsBxgMo_AHHA5UB_QHJAxT-AcsDKP8BzAOWAYACzQMUgQLOAxSCAs8DKIMC0gOXAYQC0wOdAYUC1AMKhgLVAwqHAtYDCogC1wMKiQLYAwqKAtoDCosC3AMojALdA54BjQLhAwqOAuMDKI8C5AOfAZAC5wMKkQLoAwqSAukDKJMC7AOgAZQC7QOmAZUC7gMLlgLvAwuXAvADC5gC8QMLmQLyAwuaAvQDC5sC9gMonAL3A6cBnQL5AwueAvsDKJ8C_AOoAaAC_QMLoQL-AwuiAv8DKKMCggSpAaQCgwSvAaUChAQapgKFBBqnAoYEGqgChwQaqQKIBBqqAooEGqsCjAQorAKNBLABrQKPBBquApEEKK8CkgSxAbACkwQasQKUBBqyApUEKLMCmASyAbQCmQS4AbUCmgQbtgKbBBu3ApwEG7gCnQQbuQKeBBu6AqAEG7sCogQovAKjBLkBvQKlBBu-AqcEKL8CqAS6AcACqQQbwQKqBBvCAqsEKMMCrgS7AcQCrwTBAcUCsAQcxgKxBBzHArIEHMgCswQcyQK0BBzKArYEHMsCuAQozAK5BMIBzQK7BBzOAr0EKM8CvgTDAdACvwQc0QLABBzSAsEEKNMCxATEAdQCxQTKAdUCxwTLAdYCyATLAdcCywTLAdgCzATLAdkCzQTLAdoCzwTLAdsC0QQo3ALSBMwB3QLUBMsB3gLWBCjfAtcEzQHgAtgEywHhAtkEywHiAtoEKOMC3QTOAeQC3gTUAeUC3wQd5gLgBB3nAuEEHegC4gQd6QLjBB3qAuUEHesC5wQo7ALoBNUB7QLrBB3uAu0EKO8C7gTWAfAC8AQd8QLxBB3yAvIEKPMC9QTXAfQC9gTdAfUC9wQe9gL4BB73AvkEHvgC-gQe-QL7BB76Av0EHvsC_wQo_AKABd4B_QKDBR7-AoUFKP8ChgXfAYADiAUegQOJBR6CA4oFKIMDjQXgAYQDjgXmAYUDjwUfhgOQBR-HA5EFH4gDkgUfiQOTBR-KA5UFH4sDlwUojAOYBecBjQOaBR-OA5wFKI8DnQXoAZADngUfkQOfBR-SA6AFKJMDowXpAZQDpAXvAZUDpQUWlgOmBRaXA6cFFpgDqAUWmQOpBRaaA6sFFpsDrQUonAOuBfABnQOxBRaeA7MFKJ8DtAXxAaADtgUWoQO3BRaiA7gFKKMDuwXyAaQDvAX4AaUDvQUXpgO-BRenA78FF6gDwAUXqQPBBReqA8MFF6sDxQUorAPGBfkBrQPIBReuA8oFKK8DywX6AbADzAUXsQPNBReyA84FKLMD0QX7AbQD0gWBArUD1AUitgPVBSK3A9cFIrgD2AUiuQPZBSK6A9sFIrsD3QUovAPeBYICvQPgBSK-A-IFKL8D4wWDAsAD5AUiwQPlBSLCA-YFKMMD6QWEAsQD6gWKAsUD7AUjxgPtBSPHA-8FI8gD8AUjyQPxBSPKA_MFI8sD9QUozAP2BYsCzQP4BSPOA_oFKM8D-wWMAtAD_AUj0QP9BSPSA_4FKNMDgQaNAtQDggaTAtUDhAYk1gOFBiTXA4cGJNgDiAYk2QOJBiTaA4sGJNsDjQYo3AOOBpQC3QOQBiTeA5IGKN8DkwaVAuADlAYk4QOVBiTiA5YGKOMDmQaWAuQDmgacAuUDnAYl5gOdBiXnA58GJegDoAYl6QOhBiXqA6MGJesDpQYo7AOmBp0C7QOoBiXuA6oGKO8DqwaeAvADrAYl8QOtBiXyA64GKPMDsQafAvQDsgalAvUDtAYm9gO1Bib3A7cGJvgDuAYm-QO5Bib6A7sGJvsDvQYo_AO-BqYC_QPABib-A8IGKP8DwwanAoAExAYmgQTFBiaCBMYGKIMEyQaoAoQEygauAg"
+ strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"patient\",\"appointments\",\"appointment\",\"staff\",\"claims\",\"npiProvider\",\"appointmentProcedures\",\"_count\",\"claim\",\"updatedBy\",\"payment\",\"serviceLine\",\"serviceLineTransactions\",\"serviceLines\",\"claimFiles\",\"procedures\",\"files\",\"group\",\"pdfs\",\"groups\",\"communications\",\"documents\",\"patients\",\"npiProviders\",\"insuranceCredentials\",\"updatedPayments\",\"backups\",\"backupDestinations\",\"notifications\",\"parent\",\"children\",\"folder\",\"file\",\"chunks\",\"cloudFolders\",\"cloudFiles\",\"twilioSettings\",\"aiSettings\",\"officeHours\",\"officeContact\",\"procedureTimeslot\",\"insuranceContacts\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Patient.findUnique\",\"Patient.findUniqueOrThrow\",\"Patient.findFirst\",\"Patient.findFirstOrThrow\",\"Patient.findMany\",\"Patient.createOne\",\"Patient.createMany\",\"Patient.createManyAndReturn\",\"Patient.updateOne\",\"Patient.updateMany\",\"Patient.updateManyAndReturn\",\"Patient.upsertOne\",\"Patient.deleteOne\",\"Patient.deleteMany\",\"Patient.groupBy\",\"Patient.aggregate\",\"Appointment.findUnique\",\"Appointment.findUniqueOrThrow\",\"Appointment.findFirst\",\"Appointment.findFirstOrThrow\",\"Appointment.findMany\",\"Appointment.createOne\",\"Appointment.createMany\",\"Appointment.createManyAndReturn\",\"Appointment.updateOne\",\"Appointment.updateMany\",\"Appointment.updateManyAndReturn\",\"Appointment.upsertOne\",\"Appointment.deleteOne\",\"Appointment.deleteMany\",\"Appointment.groupBy\",\"Appointment.aggregate\",\"AppointmentFile.findUnique\",\"AppointmentFile.findUniqueOrThrow\",\"AppointmentFile.findFirst\",\"AppointmentFile.findFirstOrThrow\",\"AppointmentFile.findMany\",\"AppointmentFile.createOne\",\"AppointmentFile.createMany\",\"AppointmentFile.createManyAndReturn\",\"AppointmentFile.updateOne\",\"AppointmentFile.updateMany\",\"AppointmentFile.updateManyAndReturn\",\"AppointmentFile.upsertOne\",\"AppointmentFile.deleteOne\",\"AppointmentFile.deleteMany\",\"AppointmentFile.groupBy\",\"AppointmentFile.aggregate\",\"Staff.findUnique\",\"Staff.findUniqueOrThrow\",\"Staff.findFirst\",\"Staff.findFirstOrThrow\",\"Staff.findMany\",\"Staff.createOne\",\"Staff.createMany\",\"Staff.createManyAndReturn\",\"Staff.updateOne\",\"Staff.updateMany\",\"Staff.updateManyAndReturn\",\"Staff.upsertOne\",\"Staff.deleteOne\",\"Staff.deleteMany\",\"Staff.groupBy\",\"Staff.aggregate\",\"NpiProvider.findUnique\",\"NpiProvider.findUniqueOrThrow\",\"NpiProvider.findFirst\",\"NpiProvider.findFirstOrThrow\",\"NpiProvider.findMany\",\"NpiProvider.createOne\",\"NpiProvider.createMany\",\"NpiProvider.createManyAndReturn\",\"NpiProvider.updateOne\",\"NpiProvider.updateMany\",\"NpiProvider.updateManyAndReturn\",\"NpiProvider.upsertOne\",\"NpiProvider.deleteOne\",\"NpiProvider.deleteMany\",\"NpiProvider.groupBy\",\"NpiProvider.aggregate\",\"AppointmentProcedure.findUnique\",\"AppointmentProcedure.findUniqueOrThrow\",\"AppointmentProcedure.findFirst\",\"AppointmentProcedure.findFirstOrThrow\",\"AppointmentProcedure.findMany\",\"AppointmentProcedure.createOne\",\"AppointmentProcedure.createMany\",\"AppointmentProcedure.createManyAndReturn\",\"AppointmentProcedure.updateOne\",\"AppointmentProcedure.updateMany\",\"AppointmentProcedure.updateManyAndReturn\",\"AppointmentProcedure.upsertOne\",\"AppointmentProcedure.deleteOne\",\"AppointmentProcedure.deleteMany\",\"AppointmentProcedure.groupBy\",\"AppointmentProcedure.aggregate\",\"Claim.findUnique\",\"Claim.findUniqueOrThrow\",\"Claim.findFirst\",\"Claim.findFirstOrThrow\",\"Claim.findMany\",\"Claim.createOne\",\"Claim.createMany\",\"Claim.createManyAndReturn\",\"Claim.updateOne\",\"Claim.updateMany\",\"Claim.updateManyAndReturn\",\"Claim.upsertOne\",\"Claim.deleteOne\",\"Claim.deleteMany\",\"Claim.groupBy\",\"Claim.aggregate\",\"ServiceLine.findUnique\",\"ServiceLine.findUniqueOrThrow\",\"ServiceLine.findFirst\",\"ServiceLine.findFirstOrThrow\",\"ServiceLine.findMany\",\"ServiceLine.createOne\",\"ServiceLine.createMany\",\"ServiceLine.createManyAndReturn\",\"ServiceLine.updateOne\",\"ServiceLine.updateMany\",\"ServiceLine.updateManyAndReturn\",\"ServiceLine.upsertOne\",\"ServiceLine.deleteOne\",\"ServiceLine.deleteMany\",\"ServiceLine.groupBy\",\"ServiceLine.aggregate\",\"ClaimFile.findUnique\",\"ClaimFile.findUniqueOrThrow\",\"ClaimFile.findFirst\",\"ClaimFile.findFirstOrThrow\",\"ClaimFile.findMany\",\"ClaimFile.createOne\",\"ClaimFile.createMany\",\"ClaimFile.createManyAndReturn\",\"ClaimFile.updateOne\",\"ClaimFile.updateMany\",\"ClaimFile.updateManyAndReturn\",\"ClaimFile.upsertOne\",\"ClaimFile.deleteOne\",\"ClaimFile.deleteMany\",\"ClaimFile.groupBy\",\"ClaimFile.aggregate\",\"InsuranceCredential.findUnique\",\"InsuranceCredential.findUniqueOrThrow\",\"InsuranceCredential.findFirst\",\"InsuranceCredential.findFirstOrThrow\",\"InsuranceCredential.findMany\",\"InsuranceCredential.createOne\",\"InsuranceCredential.createMany\",\"InsuranceCredential.createManyAndReturn\",\"InsuranceCredential.updateOne\",\"InsuranceCredential.updateMany\",\"InsuranceCredential.updateManyAndReturn\",\"InsuranceCredential.upsertOne\",\"InsuranceCredential.deleteOne\",\"InsuranceCredential.deleteMany\",\"InsuranceCredential.groupBy\",\"InsuranceCredential.aggregate\",\"PdfGroup.findUnique\",\"PdfGroup.findUniqueOrThrow\",\"PdfGroup.findFirst\",\"PdfGroup.findFirstOrThrow\",\"PdfGroup.findMany\",\"PdfGroup.createOne\",\"PdfGroup.createMany\",\"PdfGroup.createManyAndReturn\",\"PdfGroup.updateOne\",\"PdfGroup.updateMany\",\"PdfGroup.updateManyAndReturn\",\"PdfGroup.upsertOne\",\"PdfGroup.deleteOne\",\"PdfGroup.deleteMany\",\"PdfGroup.groupBy\",\"PdfGroup.aggregate\",\"PdfFile.findUnique\",\"PdfFile.findUniqueOrThrow\",\"PdfFile.findFirst\",\"PdfFile.findFirstOrThrow\",\"PdfFile.findMany\",\"PdfFile.createOne\",\"PdfFile.createMany\",\"PdfFile.createManyAndReturn\",\"PdfFile.updateOne\",\"PdfFile.updateMany\",\"PdfFile.updateManyAndReturn\",\"PdfFile.upsertOne\",\"PdfFile.deleteOne\",\"PdfFile.deleteMany\",\"PdfFile.groupBy\",\"PdfFile.aggregate\",\"Payment.findUnique\",\"Payment.findUniqueOrThrow\",\"Payment.findFirst\",\"Payment.findFirstOrThrow\",\"Payment.findMany\",\"Payment.createOne\",\"Payment.createMany\",\"Payment.createManyAndReturn\",\"Payment.updateOne\",\"Payment.updateMany\",\"Payment.updateManyAndReturn\",\"Payment.upsertOne\",\"Payment.deleteOne\",\"Payment.deleteMany\",\"Payment.groupBy\",\"Payment.aggregate\",\"ServiceLineTransaction.findUnique\",\"ServiceLineTransaction.findUniqueOrThrow\",\"ServiceLineTransaction.findFirst\",\"ServiceLineTransaction.findFirstOrThrow\",\"ServiceLineTransaction.findMany\",\"ServiceLineTransaction.createOne\",\"ServiceLineTransaction.createMany\",\"ServiceLineTransaction.createManyAndReturn\",\"ServiceLineTransaction.updateOne\",\"ServiceLineTransaction.updateMany\",\"ServiceLineTransaction.updateManyAndReturn\",\"ServiceLineTransaction.upsertOne\",\"ServiceLineTransaction.deleteOne\",\"ServiceLineTransaction.deleteMany\",\"ServiceLineTransaction.groupBy\",\"ServiceLineTransaction.aggregate\",\"DatabaseBackup.findUnique\",\"DatabaseBackup.findUniqueOrThrow\",\"DatabaseBackup.findFirst\",\"DatabaseBackup.findFirstOrThrow\",\"DatabaseBackup.findMany\",\"DatabaseBackup.createOne\",\"DatabaseBackup.createMany\",\"DatabaseBackup.createManyAndReturn\",\"DatabaseBackup.updateOne\",\"DatabaseBackup.updateMany\",\"DatabaseBackup.updateManyAndReturn\",\"DatabaseBackup.upsertOne\",\"DatabaseBackup.deleteOne\",\"DatabaseBackup.deleteMany\",\"DatabaseBackup.groupBy\",\"DatabaseBackup.aggregate\",\"BackupDestination.findUnique\",\"BackupDestination.findUniqueOrThrow\",\"BackupDestination.findFirst\",\"BackupDestination.findFirstOrThrow\",\"BackupDestination.findMany\",\"BackupDestination.createOne\",\"BackupDestination.createMany\",\"BackupDestination.createManyAndReturn\",\"BackupDestination.updateOne\",\"BackupDestination.updateMany\",\"BackupDestination.updateManyAndReturn\",\"BackupDestination.upsertOne\",\"BackupDestination.deleteOne\",\"BackupDestination.deleteMany\",\"BackupDestination.groupBy\",\"BackupDestination.aggregate\",\"Notification.findUnique\",\"Notification.findUniqueOrThrow\",\"Notification.findFirst\",\"Notification.findFirstOrThrow\",\"Notification.findMany\",\"Notification.createOne\",\"Notification.createMany\",\"Notification.createManyAndReturn\",\"Notification.updateOne\",\"Notification.updateMany\",\"Notification.updateManyAndReturn\",\"Notification.upsertOne\",\"Notification.deleteOne\",\"Notification.deleteMany\",\"Notification.groupBy\",\"Notification.aggregate\",\"CronJobLog.findUnique\",\"CronJobLog.findUniqueOrThrow\",\"CronJobLog.findFirst\",\"CronJobLog.findFirstOrThrow\",\"CronJobLog.findMany\",\"CronJobLog.createOne\",\"CronJobLog.createMany\",\"CronJobLog.createManyAndReturn\",\"CronJobLog.updateOne\",\"CronJobLog.updateMany\",\"CronJobLog.updateManyAndReturn\",\"CronJobLog.upsertOne\",\"CronJobLog.deleteOne\",\"CronJobLog.deleteMany\",\"CronJobLog.groupBy\",\"CronJobLog.aggregate\",\"CloudFolder.findUnique\",\"CloudFolder.findUniqueOrThrow\",\"CloudFolder.findFirst\",\"CloudFolder.findFirstOrThrow\",\"CloudFolder.findMany\",\"CloudFolder.createOne\",\"CloudFolder.createMany\",\"CloudFolder.createManyAndReturn\",\"CloudFolder.updateOne\",\"CloudFolder.updateMany\",\"CloudFolder.updateManyAndReturn\",\"CloudFolder.upsertOne\",\"CloudFolder.deleteOne\",\"CloudFolder.deleteMany\",\"CloudFolder.groupBy\",\"CloudFolder.aggregate\",\"CloudFile.findUnique\",\"CloudFile.findUniqueOrThrow\",\"CloudFile.findFirst\",\"CloudFile.findFirstOrThrow\",\"CloudFile.findMany\",\"CloudFile.createOne\",\"CloudFile.createMany\",\"CloudFile.createManyAndReturn\",\"CloudFile.updateOne\",\"CloudFile.updateMany\",\"CloudFile.updateManyAndReturn\",\"CloudFile.upsertOne\",\"CloudFile.deleteOne\",\"CloudFile.deleteMany\",\"CloudFile.groupBy\",\"CloudFile.aggregate\",\"CloudFileChunk.findUnique\",\"CloudFileChunk.findUniqueOrThrow\",\"CloudFileChunk.findFirst\",\"CloudFileChunk.findFirstOrThrow\",\"CloudFileChunk.findMany\",\"CloudFileChunk.createOne\",\"CloudFileChunk.createMany\",\"CloudFileChunk.createManyAndReturn\",\"CloudFileChunk.updateOne\",\"CloudFileChunk.updateMany\",\"CloudFileChunk.updateManyAndReturn\",\"CloudFileChunk.upsertOne\",\"CloudFileChunk.deleteOne\",\"CloudFileChunk.deleteMany\",\"CloudFileChunk.groupBy\",\"CloudFileChunk.aggregate\",\"Communication.findUnique\",\"Communication.findUniqueOrThrow\",\"Communication.findFirst\",\"Communication.findFirstOrThrow\",\"Communication.findMany\",\"Communication.createOne\",\"Communication.createMany\",\"Communication.createManyAndReturn\",\"Communication.updateOne\",\"Communication.updateMany\",\"Communication.updateManyAndReturn\",\"Communication.upsertOne\",\"Communication.deleteOne\",\"Communication.deleteMany\",\"Communication.groupBy\",\"Communication.aggregate\",\"PatientDocument.findUnique\",\"PatientDocument.findUniqueOrThrow\",\"PatientDocument.findFirst\",\"PatientDocument.findFirstOrThrow\",\"PatientDocument.findMany\",\"PatientDocument.createOne\",\"PatientDocument.createMany\",\"PatientDocument.createManyAndReturn\",\"PatientDocument.updateOne\",\"PatientDocument.updateMany\",\"PatientDocument.updateManyAndReturn\",\"PatientDocument.upsertOne\",\"PatientDocument.deleteOne\",\"PatientDocument.deleteMany\",\"PatientDocument.groupBy\",\"PatientDocument.aggregate\",\"TwilioSettings.findUnique\",\"TwilioSettings.findUniqueOrThrow\",\"TwilioSettings.findFirst\",\"TwilioSettings.findFirstOrThrow\",\"TwilioSettings.findMany\",\"TwilioSettings.createOne\",\"TwilioSettings.createMany\",\"TwilioSettings.createManyAndReturn\",\"TwilioSettings.updateOne\",\"TwilioSettings.updateMany\",\"TwilioSettings.updateManyAndReturn\",\"TwilioSettings.upsertOne\",\"TwilioSettings.deleteOne\",\"TwilioSettings.deleteMany\",\"TwilioSettings.groupBy\",\"TwilioSettings.aggregate\",\"AiSettings.findUnique\",\"AiSettings.findUniqueOrThrow\",\"AiSettings.findFirst\",\"AiSettings.findFirstOrThrow\",\"AiSettings.findMany\",\"AiSettings.createOne\",\"AiSettings.createMany\",\"AiSettings.createManyAndReturn\",\"AiSettings.updateOne\",\"AiSettings.updateMany\",\"AiSettings.updateManyAndReturn\",\"AiSettings.upsertOne\",\"AiSettings.deleteOne\",\"AiSettings.deleteMany\",\"AiSettings.groupBy\",\"AiSettings.aggregate\",\"OfficeHours.findUnique\",\"OfficeHours.findUniqueOrThrow\",\"OfficeHours.findFirst\",\"OfficeHours.findFirstOrThrow\",\"OfficeHours.findMany\",\"OfficeHours.createOne\",\"OfficeHours.createMany\",\"OfficeHours.createManyAndReturn\",\"OfficeHours.updateOne\",\"OfficeHours.updateMany\",\"OfficeHours.updateManyAndReturn\",\"OfficeHours.upsertOne\",\"OfficeHours.deleteOne\",\"OfficeHours.deleteMany\",\"OfficeHours.groupBy\",\"OfficeHours.aggregate\",\"OfficeContact.findUnique\",\"OfficeContact.findUniqueOrThrow\",\"OfficeContact.findFirst\",\"OfficeContact.findFirstOrThrow\",\"OfficeContact.findMany\",\"OfficeContact.createOne\",\"OfficeContact.createMany\",\"OfficeContact.createManyAndReturn\",\"OfficeContact.updateOne\",\"OfficeContact.updateMany\",\"OfficeContact.updateManyAndReturn\",\"OfficeContact.upsertOne\",\"OfficeContact.deleteOne\",\"OfficeContact.deleteMany\",\"OfficeContact.groupBy\",\"OfficeContact.aggregate\",\"InsuranceContact.findUnique\",\"InsuranceContact.findUniqueOrThrow\",\"InsuranceContact.findFirst\",\"InsuranceContact.findFirstOrThrow\",\"InsuranceContact.findMany\",\"InsuranceContact.createOne\",\"InsuranceContact.createMany\",\"InsuranceContact.createManyAndReturn\",\"InsuranceContact.updateOne\",\"InsuranceContact.updateMany\",\"InsuranceContact.updateManyAndReturn\",\"InsuranceContact.upsertOne\",\"InsuranceContact.deleteOne\",\"InsuranceContact.deleteMany\",\"InsuranceContact.groupBy\",\"InsuranceContact.aggregate\",\"ProcedureTimeslot.findUnique\",\"ProcedureTimeslot.findUniqueOrThrow\",\"ProcedureTimeslot.findFirst\",\"ProcedureTimeslot.findFirstOrThrow\",\"ProcedureTimeslot.findMany\",\"ProcedureTimeslot.createOne\",\"ProcedureTimeslot.createMany\",\"ProcedureTimeslot.createManyAndReturn\",\"ProcedureTimeslot.updateOne\",\"ProcedureTimeslot.updateMany\",\"ProcedureTimeslot.updateManyAndReturn\",\"ProcedureTimeslot.upsertOne\",\"ProcedureTimeslot.deleteOne\",\"ProcedureTimeslot.deleteMany\",\"ProcedureTimeslot.groupBy\",\"ProcedureTimeslot.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"userId\",\"equals\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"in\",\"notIn\",\"name\",\"phoneNumber\",\"createdAt\",\"contains\",\"startsWith\",\"endsWith\",\"officeName\",\"receptionistName\",\"dentistName\",\"email\",\"fax\",\"apiKey\",\"accountSid\",\"authToken\",\"greetingMessage\",\"templates\",\"patientId\",\"filename\",\"originalName\",\"mimeType\",\"fileSize\",\"filePath\",\"uploadedAt\",\"updatedAt\",\"CommunicationChannel\",\"channel\",\"CommunicationDirection\",\"direction\",\"CommunicationStatus\",\"status\",\"body\",\"callDuration\",\"twilioSid\",\"fileId\",\"seq\",\"folderId\",\"isComplete\",\"totalChunks\",\"diskPath\",\"parentId\",\"jobName\",\"startedAt\",\"completedAt\",\"durationMs\",\"errorMessage\",\"NotificationTypes\",\"type\",\"message\",\"read\",\"path\",\"isActive\",\"paymentId\",\"serviceLineId\",\"transactionId\",\"paidAmount\",\"adjustedAmount\",\"PaymentMethod\",\"method\",\"receivedDate\",\"payerName\",\"notes\",\"claimId\",\"updatedById\",\"totalBilled\",\"totalPaid\",\"totalAdjusted\",\"totalDue\",\"mhPaidAmount\",\"copayment\",\"adjustment\",\"PaymentStatus\",\"icn\",\"pdfData\",\"groupId\",\"title\",\"PdfTitleKey\",\"titleKey\",\"siteKey\",\"username\",\"password\",\"procedureCode\",\"procedureDate\",\"quad\",\"arch\",\"toothNumber\",\"toothSurface\",\"paidCode\",\"allowedAmount\",\"ServiceLineStatus\",\"appointmentId\",\"staffId\",\"patientName\",\"memberId\",\"dateOfBirth\",\"remarks\",\"MissingTeethStatus\",\"missingTeethStatus\",\"missingTeeth\",\"serviceDate\",\"insuranceProvider\",\"ClaimStatus\",\"claimNumber\",\"npiProviderId\",\"procedureLabel\",\"fee\",\"category\",\"oralCavityArea\",\"ProcedureSource\",\"source\",\"comboKey\",\"npiNumber\",\"providerName\",\"role\",\"phone\",\"date\",\"startTime\",\"endTime\",\"procedureCodeNotes\",\"PatientStatus\",\"eligibilityStatus\",\"firstName\",\"lastName\",\"gender\",\"address\",\"city\",\"zipCode\",\"insuranceId\",\"groupNumber\",\"policyHolder\",\"allergies\",\"medicalConditions\",\"preferredLanguage\",\"autoBackupEnabled\",\"usbBackupEnabled\",\"fileId_seq\",\"every\",\"some\",\"none\",\"userId_parentId_name\",\"userId_siteKey\",\"userId_npiNumber\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
+ graph: "4BC4AuADGwUAAPgHACAHAACgCAAgCAAA9AcAIBgAAKcIACAaAACfCAAgGwAAoQgAIBwAAKIIACAdAACjCAAgHgAApAgAIB8AAKUIACAgAACmCAAgJgAA6gcAICcAAOsHACAoAACoCAAgKQAAqQgAICoAAKoIACArAACrCAAgLAAArAgAIC0AAK0IACCWBAAAnggAMJcEAAANABCYBAAAnggAMJkEAgAAAAH3BAEAAAAB-AQBAIIHACGtBSAA5QcAIa4FIADlBwAhAQAAAAEAICADAADvBgAgBQAA-AcAIAgAAPQHACAOAACjCAAgEwAA9QcAIBcAALIIACAYAACnCAAgGQAAswgAIJYEAACxCAAwlwQAAAMAEJgEAACxCAAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhsgQBAP0GACHABEAAqAcAIcYEAACvCKAFIoYFQACpBwAhjAUBAP0GACGaBQEAggcAIaEFAQCCBwAhogUBAIIHACGjBQEAggcAIaQFAQD9BgAhpQUBAP0GACGmBQEA_QYAIacFAQD9BgAhqAUBAP0GACGpBQEA_QYAIaoFAQD9BgAhqwUBAP0GACGsBQEA_QYAIRQDAAC8CAAgBQAAwA4AIAgAAMMOACAOAADFDgAgEwAA1Q4AIBcAAOMOACAYAADLDgAgGQAA5A4AILIEAAC9CAAghgUAAL0IACCMBQAAvQgAIKQFAAC9CAAgpQUAAL0IACCmBQAAvQgAIKcFAAC9CAAgqAUAAL0IACCpBQAAvQgAIKoFAAC9CAAgqwUAAL0IACCsBQAAvQgAICADAADvBgAgBQAA-AcAIAgAAPQHACAOAACjCAAgEwAA9QcAIBcAALIIACAYAACnCAAgGQAAswgAIJYEAACxCAAwlwQAAAMAEJgEAACxCAAwmQQCAAAAAZoEAgCnBwAhqwRAAKgHACGyBAEA_QYAIcAEQACoBwAhxgQAAK8IoAUihgVAAKkHACGMBQEA_QYAIZoFAQCCBwAhoQUBAIIHACGiBQEAggcAIaMFAQCCBwAhpAUBAP0GACGlBQEA_QYAIaYFAQD9BgAhpwUBAP0GACGoBQEA_QYAIakFAQD9BgAhqgUBAP0GACGrBQEA_QYAIawFAQD9BgAhAwAAAAMAIAEAAAQAMAIAAAUAIBcDAADvBgAgBAAA-gcAIAcAAJwIACAIAAD0BwAgEwAA9QcAIBQAALAIACCWBAAArggAMJcEAAAHABCYBAAArggAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhxgQBAIIHACHXBAEAggcAIeUEAQD9BgAh8wQBAIIHACGDBQIApwcAIZsFQACoBwAhnAUBAIIHACGdBQEAggcAIZ4FAQD9BgAhoAUAAK8IoAUiCAMAALwIACAEAADWDgAgBwAA4A4AIAgAAMMOACATAADVDgAgFAAA4g4AIOUEAAC9CAAgngUAAL0IACAXAwAA7wYAIAQAAPoHACAHAACcCAAgCAAA9AcAIBMAAPUHACAUAACwCAAglgQAAK4IADCXBAAABwAQmAQAAK4IADCZBAIAAAABmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhxgQBAIIHACHXBAEAggcAIeUEAQD9BgAh8wQBAIIHACGDBQIApwcAIZsFQACoBwAhnAUBAIIHACGdBQEAggcAIZ4FAQD9BgAhoAUAAK8IoAUiAwAAAAcAIAEAAAgAMAIAAAkAIA0DAAD3BwAgBQAA-AcAIAgAAPQHACCWBAAA9gcAMJcEAAALABCYBAAA9gcAMJkEAgCnBwAhmgQCAKcHACGpBAEAggcAIasEQACoBwAhsgQBAP0GACGZBQEAggcAIZoFAQD9BgAhAQAAAAsAIBsFAAD4BwAgBwAAoAgAIAgAAPQHACAYAACnCAAgGgAAnwgAIBsAAKEIACAcAACiCAAgHQAAowgAIB4AAKQIACAfAAClCAAgIAAApggAICYAAOoHACAnAADrBwAgKAAAqAgAICkAAKkIACAqAACqCAAgKwAAqwgAICwAAKwIACAtAACtCAAglgQAAJ4IADCXBAAADQAQmAQAAJ4IADCZBAIApwcAIfcEAQCCBwAh-AQBAIIHACGtBSAA5QcAIa4FIADlBwAhAQAAAA0AIAMAAAAHACABAAAIADACAAAJACAdAwAA9wcAIAQAAPoHACAGAACMCAAgBwAAnAgAIAkAAJgIACAOAACVCAAgEQAAhQgAIBIAAJ0IACCWBAAAmQgAMJcEAAAQABCYBAAAmQgAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhwARAAKgHACHGBAAAmwiOBSKCBQIApwcAIYMFAgCnBwAhhAUBAIIHACGFBQEAggcAIYYFQACoBwAhhwUBAIIHACGJBQAAmgiJBSKKBQAAhwcAIIsFQACoBwAhjAUBAIIHACGOBQEA_QYAIY8FAgCqBwAhCwMAALwIACAEAADWDgAgBgAA3A4AIAcAAOAOACAJAADfDgAgDgAA3Q4AIBEAANkOACASAADhDgAgigUAAL0IACCOBQAAvQgAII8FAAC9CAAgHQMAAPcHACAEAAD6BwAgBgAAjAgAIAcAAJwIACAJAACYCAAgDgAAlQgAIBEAAIUIACASAACdCAAglgQAAJkIADCXBAAAEAAQmAQAAJkIADCZBAIAAAABmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhwARAAKgHACHGBAAAmwiOBSKCBQIApwcAIYMFAgCnBwAhhAUBAIIHACGFBQEAggcAIYYFQACoBwAhhwUBAIIHACGJBQAAmgiJBSKKBQAAhwcAIIsFQACoBwAhjAUBAIIHACGOBQEA_QYAIY8FAgCqBwAhAwAAABAAIAEAABEAMAIAABIAIAEAAAANACABAAAACwAgCwMAAO8GACAIAAD0BwAgCgAA9QcAIJYEAADzBwAwlwQAABYAEJgEAADzBwAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhlwUBAIIHACGYBQEAggcAIQEAAAAWACADAAAAEAAgAQAAEQAwAgAAEgAgFAQAAPoHACAGAACMCAAgCQAAmAgAIJYEAACWCAAwlwQAABkAEJgEAACWCAAwmQQCAKcHACGrBEAAqAcAIbkEAgCnBwAh-QQBAIIHACH9BAEA_QYAIf4EAQD9BgAhggUCAKcHACGPBQIAqgcAIZAFAQD9BgAhkQUQAIEIACGSBQEA_QYAIZMFAQD9BgAhlQUAAJcIlQUilgUBAP0GACELBAAA1g4AIAYAANwOACAJAADfDgAg_QQAAL0IACD-BAAAvQgAII8FAAC9CAAgkAUAAL0IACCRBQAAvQgAIJIFAAC9CAAgkwUAAL0IACCWBQAAvQgAIBQEAAD6BwAgBgAAjAgAIAkAAJgIACCWBAAAlggAMJcEAAAZABCYBAAAlggAMJkEAgAAAAGrBEAAqAcAIbkEAgCnBwAh-QQBAIIHACH9BAEA_QYAIf4EAQD9BgAhggUCAKcHACGPBQIAqgcAIZAFAQD9BgAhkQUQAIEIACGSBQEA_QYAIZMFAQD9BgAhlQUAAJcIlQUilgUBAP0GACEDAAAAGQAgAQAAGgAwAgAAGwAgAQAAABYAIAEAAAAQACABAAAAGQAgFwwAAIMIACAOAACVCAAgEAAAhAgAIJYEAACTCAAwlwQAACAAEJgEAACTCAAwmQQCAKcHACHGBAAAlAiCBSLcBAIAqgcAIeYEAgCqBwAh6AQQAIAIACHpBBAAgAgAIeoEEACACAAh6wQQAIAIACHwBAEA_QYAIfkEAQCCBwAh-gRAAKgHACH7BAEA_QYAIfwEAQD9BgAh_QQBAP0GACH-BAEA_QYAIf8EAQD9BgAhgAUQAIEIACEMDAAA1w4AIA4AAN0OACAQAADYDgAg3AQAAL0IACDmBAAAvQgAIPAEAAC9CAAg-wQAAL0IACD8BAAAvQgAIP0EAAC9CAAg_gQAAL0IACD_BAAAvQgAIIAFAAC9CAAgFwwAAIMIACAOAACVCAAgEAAAhAgAIJYEAACTCAAwlwQAACAAEJgEAACTCAAwmQQCAAAAAcYEAACUCIIFItwEAgCqBwAh5gQCAKoHACHoBBAAgAgAIekEEACACAAh6gQQAIAIACHrBBAAgAgAIfAEAQD9BgAh-QQBAIIHACH6BEAAqAcAIfsEAQD9BgAh_AQBAP0GACH9BAEA_QYAIf4EAQD9BgAh_wQBAP0GACGABRAAgQgAIQMAAAAgACABAAAhADACAAAiACABAAAAEAAgGQQAAPoHACAMAACDCAAgDQAA9wcAIBAAAIQIACARAACFCAAglgQAAP8HADCXBAAAJQAQmAQAAP8HADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACG5BAIApwcAIcAEQACoBwAhxgQAAIII8AQi5QQBAP0GACHmBAIAqgcAIecEAgCqBwAh6AQQAIAIACHpBBAAgAgAIeoEEACACAAh6wQQAIAIACHsBBAAgQgAIe0EEACACAAh7gQQAIAIACHwBAEA_QYAIQEAAAAlACABAAAAEAAgAQAAAA0AIBAOAACRCAAgDwAAkggAIJYEAACPCAAwlwQAACkAEJgEAACPCAAwmQQCAKcHACGrBEAAqAcAIdwEAgCnBwAh3QQCAKcHACHeBAEA_QYAId8EEACACAAh4AQQAIAIACHiBAAAkAjiBCLjBEAAqAcAIeQEAQD9BgAh5QQBAP0GACEFDgAA3Q4AIA8AAN4OACDeBAAAvQgAIOQEAAC9CAAg5QQAAL0IACAQDgAAkQgAIA8AAJIIACCWBAAAjwgAMJcEAAApABCYBAAAjwgAMJkEAgAAAAGrBEAAqAcAIdwEAgCnBwAh3QQCAKcHACHeBAEA_QYAId8EEACACAAh4AQQAIAIACHiBAAAkAjiBCLjBEAAqAcAIeQEAQD9BgAh5QQBAP0GACEDAAAAKQAgAQAAKgAwAgAAKwAgAwAAACAAIAEAACEAMAIAACIAIAEAAAApACABAAAAIAAgAwAAACkAIAEAACoAMAIAACsAIAEAAAApACAJDAAAjggAIJYEAACNCAAwlwQAADIAEJgEAACNCAAwmQQCAKcHACG6BAEAggcAIbwEAQCCBwAhvgQBAP0GACHmBAIApwcAIQIMAADXDgAgvgQAAL0IACAJDAAAjggAIJYEAACNCAAwlwQAADIAEJgEAACNCAAwmQQCAAAAAboEAQCCBwAhvAQBAIIHACG-BAEA_QYAIeYEAgCnBwAhAwAAADIAIAEAADMAMAIAADQAIAEAAAAlACABAAAAIAAgAQAAADIAIAEAAAAHACABAAAAEAAgAwAAABkAIAEAABoAMAIAABsAIAMAAAAQACABAAARADACAAASACAJBgAAjAgAIJYEAACLCAAwlwQAAD0AEJgEAACLCAAwmQQCAKcHACG6BAEAggcAIbwEAQD9BgAhvgQBAP0GACGCBQIApwcAIQMGAADcDgAgvAQAAL0IACC-BAAAvQgAIAkGAACMCAAglgQAAIsIADCXBAAAPQAQmAQAAIsIADCZBAIAAAABugQBAIIHACG8BAEA_QYAIb4EAQD9BgAhggUCAKcHACEDAAAAPQAgAQAAPgAwAgAAPwAgAQAAABkAIAEAAAAQACABAAAAPQAgAwAAABkAIAEAABoAMAIAABsAIAMAAAAQACABAAARADACAAASACAKBAAA-gcAIBYAAIoIACCWBAAAiAgAMJcEAABGABCYBAAAiAgAMJkEAgCnBwAhqwRAAKgHACG5BAIApwcAIfMEAQCCBwAh9QQAAIkI9QQiAgQAANYOACAWAADbDgAgCgQAAPoHACAWAACKCAAglgQAAIgIADCXBAAARgAQmAQAAIgIADCZBAIAAAABqwRAAKgHACG5BAIApwcAIfMEAQCCBwAh9QQAAIkI9QQiAwAAAEYAIAEAAEcAMAIAAEgAIAkVAACHCAAglgQAAIYIADCXBAAASgAQmAQAAIYIADCZBAIApwcAIboEAQCCBwAhvwRAAKgHACHxBAAB4QcAIfIEAgCnBwAhARUAANoOACAJFQAAhwgAIJYEAACGCAAwlwQAAEoAEJgEAACGCAAwmQQCAAAAAboEAQCCBwAhvwRAAKgHACHxBAAB4QcAIfIEAgCnBwAhAwAAAEoAIAEAAEsAMAIAAEwAIAEAAABKACAKBAAA1g4AIAwAANcOACANAAC8CAAgEAAA2A4AIBEAANkOACDlBAAAvQgAIOYEAAC9CAAg5wQAAL0IACDsBAAAvQgAIPAEAAC9CAAgGQQAAPoHACAMAACDCAAgDQAA9wcAIBAAAIQIACARAACFCAAglgQAAP8HADCXBAAAJQAQmAQAAP8HADCZBAIAAAABmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhwARAAKgHACHGBAAAggjwBCLlBAEA_QYAIeYEAgAAAAHnBAIAqgcAIegEEACACAAh6QQQAIAIACHqBBAAgAgAIesEEACACAAh7AQQAIEIACHtBBAAgAgAIe4EEACACAAh8AQBAP0GACEDAAAAJQAgAQAATwAwAgAAUAAgDwMAAPcHACAEAAD6BwAglgQAAPsHADCXBAAAUgAQmAQAAPsHADCZBAIApwcAIZoEAgCqBwAhqwRAAKgHACG5BAIApwcAIcIEAAD8B8IEIsQEAAD9B8QEIsYEAAD-B8YEIscEAQD9BgAhyAQCAKoHACHJBAEA_QYAIQYDAAC8CAAgBAAA1g4AIJoEAAC9CAAgxwQAAL0IACDIBAAAvQgAIMkEAAC9CAAgDwMAAPcHACAEAAD6BwAglgQAAPsHADCXBAAAUgAQmAQAAPsHADCZBAIAAAABmgQCAKoHACGrBEAAqAcAIbkEAgCnBwAhwgQAAPwHwgQixAQAAP0HxAQixgQAAP4HxgQixwQBAP0GACHIBAIAqgcAIckEAQD9BgAhAwAAAFIAIAEAAFMAMAIAAFQAIAEAAAANACANBAAA-gcAIJYEAAD5BwAwlwQAAFcAEJgEAAD5BwAwmQQCAKcHACG5BAIApwcAIboEAQCCBwAhuwQBAIIHACG8BAEAggcAIb0EBADkBwAhvgQBAIIHACG_BEAAqAcAIcAEQACoBwAhAQQAANYOACANBAAA-gcAIJYEAAD5BwAwlwQAAFcAEJgEAAD5BwAwmQQCAAAAAbkEAgCnBwAhugQBAIIHACG7BAEAggcAIbwEAQCCBwAhvQQEAOQHACG-BAEAggcAIb8EQACoBwAhwARAAKgHACEDAAAAVwAgAQAAWAAwAgAAWQAgAQAAAAcAIAEAAAAZACABAAAAEAAgAQAAAEYAIAEAAAAlACABAAAAUgAgAQAAAFcAIAMAAAAHACABAAAIADACAAAJACAFAwAAvAgAIAUAAMAOACAIAADDDgAgsgQAAL0IACCaBQAAvQgAIA0DAAD3BwAgBQAA-AcAIAgAAPQHACCWBAAA9gcAMJcEAAALABCYBAAA9gcAMJkEAgAAAAGaBAIApwcAIakEAQCCBwAhqwRAAKgHACGyBAEA_QYAIZkFAQCCBwAhmgUBAP0GACEDAAAACwAgAQAAYwAwAgAAZAAgAwMAALwIACAIAADDDgAgCgAA1Q4AIAwDAADvBgAgCAAA9AcAIAoAAPUHACCWBAAA8wcAMJcEAAAWABCYBAAA8wcAMJkEAgAAAAGaBAIApwcAIasEQACoBwAhlwUBAIIHACGYBQEAggcAIbUFAADyBwAgAwAAABYAIAEAAGYAMAIAAGcAIAMAAAAQACABAAARADACAAASACAJAwAA7wYAIJYEAADxBwAwlwQAAGoAEJgEAADxBwAwmQQCAKcHACGaBAIApwcAIfYEAQCCBwAh9wQBAIIHACH4BAEAggcAIQEDAAC8CAAgCgMAAO8GACCWBAAA8QcAMJcEAABqABCYBAAA8QcAMJkEAgAAAAGaBAIApwcAIfYEAQCCBwAh9wQBAIIHACH4BAEAggcAIbQFAADwBwAgAwAAAGoAIAEAAGsAMAIAAGwAIAMAAAAlACABAABPADACAABQACAHAwAA7wYAIJYEAADvBwAwlwQAAG8AEJgEAADvBwAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhAQMAALwIACAHAwAA7wYAIJYEAADvBwAwlwQAAG8AEJgEAADvBwAwmQQCAAAAAZoEAgCnBwAhqwRAAKgHACEDAAAAbwAgAQAAcAAwAgAAcQAgCQMAAO8GACCWBAAA7gcAMJcEAABzABCYBAAA7gcAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIdoEAQCCBwAh2wQgAOUHACEBAwAAvAgAIAkDAADvBgAglgQAAO4HADCXBAAAcwAQmAQAAO4HADCZBAIAAAABmgQCAKcHACGrBEAAqAcAIdoEAQCCBwAh2wQgAOUHACEDAAAAcwAgAQAAdAAwAgAAdQAgCgMAAO8GACCWBAAA7AcAMJcEAAB3ABCYBAAA7AcAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIdcEAADtB9cEItgEAQCCBwAh2QQgAOUHACEBAwAAvAgAIAoDAADvBgAglgQAAOwHADCXBAAAdwAQmAQAAOwHADCZBAIAAAABmgQCAKcHACGrBEAAqAcAIdcEAADtB9cEItgEAQCCBwAh2QQgAOUHACEDAAAAdwAgAQAAeAAwAgAAeQAgDQMAAO8GACAUAADrBwAgIQAA5gcAICIAAOoHACCWBAAA6QcAMJcEAAB7ABCYBAAA6QcAMJkEAgCnBwAhmgQCAKcHACGpBAEAggcAIasEQACoBwAhwARAAKgHACHQBAIAqgcAIQUDAAC8CAAgFAAAyg4AICEAANMOACAiAADJDgAg0AQAAL0IACAOAwAA7wYAIBQAAOsHACAhAADmBwAgIgAA6gcAIJYEAADpBwAwlwQAAHsAEJgEAADpBwAwmQQCAAAAAZoEAgCnBwAhqQQBAIIHACGrBEAAqAcAIcAEQACoBwAh0AQCAKoHACGzBQAA6AcAIAMAAAB7ACABAAB8ADACAAB9ACABAAAAewAgAwAAAHsAIAEAAHwAMAIAAH0AIBEDAADvBgAgIwAA5gcAICUAAOcHACCWBAAA4wcAMJcEAACBAQAQmAQAAOMHADCZBAIApwcAIZoEAgCnBwAhqQQBAIIHACGrBEAAqAcAIbwEAQD9BgAhvQQEAOQHACHABEAAqAcAIcwEAgCqBwAhzQQgAOUHACHOBAIAqgcAIc8EAQD9BgAhBwMAALwIACAjAADTDgAgJQAA1A4AILwEAAC9CAAgzAQAAL0IACDOBAAAvQgAIM8EAAC9CAAgEQMAAO8GACAjAADmBwAgJQAA5wcAIJYEAADjBwAwlwQAAIEBABCYBAAA4wcAMJkEAgAAAAGaBAIApwcAIakEAQCCBwAhqwRAAKgHACG8BAEA_QYAIb0EBADkBwAhwARAAKgHACHMBAIAqgcAIc0EIADlBwAhzgQCAKoHACHPBAEA_QYAIQMAAACBAQAgAQAAggEAMAIAAIMBACABAAAAewAgCSQAAOIHACAzAAHhBwAhlgQAAOAHADCXBAAAhgEAEJgEAADgBwAwmQQCAKcHACGrBEAAqAcAIcoEAgCnBwAhywQCAKcHACEBJAAA0g4AIAokAADiBwAgMwAB4QcAIZYEAADgBwAwlwQAAIYBABCYBAAA4AcAMJkEAgAAAAGrBEAAqAcAIcoEAgCnBwAhywQCAKcHACGvBQAA3wcAIAMAAACGAQAgAQAAhwEAMAIAAIgBACABAAAAhgEAIAEAAAB7ACABAAAAgQEAIAMAAACBAQAgAQAAggEAMAIAAIMBACADAAAAUgAgAQAAUwAwAgAAVAAgCwMAAO8GACCWBAAAhgcAMJcEAACPAQAQmAQAAIYHADCZBAIApwcAIZoEAgCnBwAhqgQBAIIHACG1BAEAggcAIbYEAQCCBwAhtwQBAP0GACG4BAAAhwcAIAEAAACPAQAgBwMAAO8GACCWBAAAgQcAMJcEAACRAQAQmAQAAIEHADCZBAIApwcAIZoEAgCnBwAhtAQBAIIHACEBAAAAkQEAIAcDAADvBgAgMwAA7gYAIJYEAAD_BgAwlwQAAJMBABCYBAAA_wYAMJkEAgCnBwAhmgQCAKcHACEBAAAAkwEAIAwDAADvBgAglgQAAPwGADCXBAAAlQEAEJgEAAD8BgAwmQQCAKcHACGaBAIApwcAIaoEAQD9BgAhrwQBAP0GACGwBAEA_QYAIbEEAQD9BgAhsgQBAP0GACGzBAEA_QYAIQEAAACVAQAgBwMAAO8GACAzAADuBgAglgQAAO0GADCXBAAAlwEAEJgEAADtBgAwmQQCAKcHACGaBAIApwcAIQEAAACXAQAgCQMAAO8GACCWBAAA3gcAMJcEAACZAQAQmAQAAN4HADCZBAIApwcAIZoEAgCnBwAhqQQBAIIHACGqBAEA_QYAIasEQACoBwAhAgMAALwIACCqBAAAvQgAIAkDAADvBgAglgQAAN4HADCXBAAAmQEAEJgEAADeBwAwmQQCAAAAAZoEAgCnBwAhqQQBAIIHACGqBAEA_QYAIasEQACoBwAhAwAAAJkBACABAACaAQAwAgAAmwEAIAEAAAADACABAAAABwAgAQAAAAsAIAEAAAAWACABAAAAEAAgAQAAAGoAIAEAAAAlACABAAAAbwAgAQAAAHMAIAEAAAB3ACABAAAAewAgAQAAAIEBACABAAAAUgAgAQAAAJkBACABAAAAAQAgEwUAAMAOACAHAADBDgAgCAAAww4AIBgAAMsOACAaAAC_DgAgGwAAwg4AIBwAAMQOACAdAADFDgAgHgAAxg4AIB8AAMcOACAgAADIDgAgJgAAyQ4AICcAAMoOACAoAADMDgAgKQAAzQ4AICoAAM4OACArAADPDgAgLAAA0A4AIC0AANEOACADAAAADQAgAQAArAEAMAIAAAEAIAMAAAANACABAACsAQAwAgAAAQAgAwAAAA0AIAEAAKwBADACAAABACAYBQAArQ4AIAcAAK4OACAIAACwDgAgGAAAuA4AIBoAAKwOACAbAACvDgAgHAAAsQ4AIB0AALIOACAeAACzDgAgHwAAtA4AICAAALUOACAmAAC2DgAgJwAAtw4AICgAALkOACApAAC6DgAgKgAAuw4AICsAALwOACAsAAC9DgAgLQAAvg4AIJkEAgAAAAH3BAEAAAAB-AQBAAAAAa0FIAAAAAGuBSAAAAABATMAALABACAFmQQCAAAAAfcEAQAAAAH4BAEAAAABrQUgAAAAAa4FIAAAAAEBMwAAsgEAMAEzAACyAQAwGAUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhAgAAAAEAIDMAALUBACAFmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIQIAAAANACAzAAC3AQAgAgAAAA0AIDMAALcBACADAAAAAQAgOgAAsAEAIDsAALUBACABAAAAAQAgAQAAAA0AIAULAADlDAAgQAAA5gwAIEEAAOkMACBCAADoDAAgQwAA5wwAIAiWBAAA3QcAMJcEAAC-AQAQmAQAAN0HADCZBAIA5wYAIfcEAQDxBgAh-AQBAPEGACGtBSAAngcAIa4FIACeBwAhAwAAAA0AIAEAAL0BADA_AAC-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_gsAIEAAAP8LACBBAACCDAAgQgAAgQwAIEMAAIAMACDlBAAAvQgAIJ4FAAC9CAAgEZYEAADYBwAwlwQAAOwBABCYBAAA2AcAMJkEAgDnBgAhmgQCAOcGACGrBEAA8wYAIbkEAgDnBgAhxgQBAPEGACHXBAEA8QYAIeUEAQDyBgAh8wQBAPEGACGDBQIA5wYAIZsFQADzBgAhnAUBAPEGACGdBQEA8QYAIZ4FAQDyBgAhoAUAANkHoAUiAwAAAAcAIAEAAOsBADA_AADsAQAgAwAAAAcAIAEAAAgAMAIAAAkAIAEAAAA_ACABAAAAPwAgAwAAAD0AIAEAAD4AMAIAAD8AIAMAAAA9ACABAAA-ADACAAA_ACADAAAAPQAgAQAAPgAwAgAAPwAgBgYAAP0LACCZBAIAAAABugQBAAAAAbwEAQAAAAG-BAEAAAABggUCAAAAAQEzAAD0AQAgBZkEAgAAAAG6BAEAAAABvAQBAAAAAb4EAQAAAAGCBQIAAAABATMAAPYBADABMwAA9gEAMAYGAAD8CwAgmQQCALkIACG6BAEAwwgAIbwEAQDECAAhvgQBAMQIACGCBQIAuQgAIQIAAAA_ACAzAAD5AQAgBZkEAgC5CAAhugQBAMMIACG8BAEAxAgAIb4EAQDECAAhggUCALkIACECAAAAPQAgMwAA-wEAIAIAAAA9ACAzAAD7AQAgAwAAAD8AIDoAAPQBACA7AAD5AQAgAQAAAD8AIAEAAAA9ACAHCwAA9wsAIEAAAPgLACBBAAD7CwAgQgAA-gsAIEMAAPkLACC8BAAAvQgAIL4EAAC9CAAgCJYEAADXBwAwlwQAAIICABCYBAAA1wcAMJkEAgDnBgAhugQBAPEGACG8BAEA8gYAIb4EAQDyBgAhggUCAOcGACEDAAAAPQAgAQAAgQIAMD8AAIICACADAAAAPQAgAQAAPgAwAgAAPwAgAQAAAGQAIAEAAABkACADAAAACwAgAQAAYwAwAgAAZAAgAwAAAAsAIAEAAGMAMAIAAGQAIAMAAAALACABAABjADACAABkACAKAwAA9AsAIAUAAPULACAIAAD2CwAgmQQCAAAAAZoEAgAAAAGpBAEAAAABqwRAAAAAAbIEAQAAAAGZBQEAAAABmgUBAAAAAQEzAACKAgAgB5kEAgAAAAGaBAIAAAABqQQBAAAAAasEQAAAAAGyBAEAAAABmQUBAAAAAZoFAQAAAAEBMwAAjAIAMAEzAACMAgAwAQAAAA0AIAoDAACzCwAgBQAAtAsAIAgAALULACCZBAIAuQgAIZoEAgC5CAAhqQQBAMMIACGrBEAAxQgAIbIEAQDECAAhmQUBAMMIACGaBQEAxAgAIQIAAABkACAzAACQAgAgB5kEAgC5CAAhmgQCALkIACGpBAEAwwgAIasEQADFCAAhsgQBAMQIACGZBQEAwwgAIZoFAQDECAAhAgAAAAsAIDMAAJICACACAAAACwAgMwAAkgIAIAEAAAANACADAAAAZAAgOgAAigIAIDsAAJACACABAAAAZAAgAQAAAAsAIAcLAACuCwAgQAAArwsAIEEAALILACBCAACxCwAgQwAAsAsAILIEAAC9CAAgmgUAAL0IACAKlgQAANYHADCXBAAAmgIAEJgEAADWBwAwmQQCAOcGACGaBAIA5wYAIakEAQDxBgAhqwRAAPMGACGyBAEA8gYAIZkFAQDxBgAhmgUBAPIGACEDAAAACwAgAQAAmQIAMD8AAJoCACADAAAACwAgAQAAYwAwAgAAZAAgAQAAAGcAIAEAAABnACADAAAAFgAgAQAAZgAwAgAAZwAgAwAAABYAIAEAAGYAMAIAAGcAIAMAAAAWACABAABmADACAABnACAIAwAAqwsAIAgAAKwLACAKAACtCwAgmQQCAAAAAZoEAgAAAAGrBEAAAAABlwUBAAAAAZgFAQAAAAEBMwAAogIAIAWZBAIAAAABmgQCAAAAAasEQAAAAAGXBQEAAAABmAUBAAAAAQEzAACkAgAwATMAAKQCADAIAwAAkAsAIAgAAJELACAKAACSCwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhlwUBAMMIACGYBQEAwwgAIQIAAABnACAzAACnAgAgBZkEAgC5CAAhmgQCALkIACGrBEAAxQgAIZcFAQDDCAAhmAUBAMMIACECAAAAFgAgMwAAqQIAIAIAAAAWACAzAACpAgAgAwAAAGcAIDoAAKICACA7AACnAgAgAQAAAGcAIAEAAAAWACAFCwAAiwsAIEAAAIwLACBBAACPCwAgQgAAjgsAIEMAAI0LACAIlgQAANUHADCXBAAAsAIAEJgEAADVBwAwmQQCAOcGACGaBAIA5wYAIasEQADzBgAhlwUBAPEGACGYBQEA8QYAIQMAAAAWACABAACvAgAwPwAAsAIAIAMAAAAWACABAABmADACAABnACABAAAAGwAgAQAAABsAIAMAAAAZACABAAAaADACAAAbACADAAAAGQAgAQAAGgAwAgAAGwAgAwAAABkAIAEAABoAMAIAABsAIBEEAACJCwAgBgAAiAsAIAkAAIoLACCZBAIAAAABqwRAAAAAAbkEAgAAAAH5BAEAAAAB_QQBAAAAAf4EAQAAAAGCBQIAAAABjwUCAAAAAZAFAQAAAAGRBRAAAAABkgUBAAAAAZMFAQAAAAGVBQAAAJUFApYFAQAAAAEBMwAAuAIAIA6ZBAIAAAABqwRAAAAAAbkEAgAAAAH5BAEAAAAB_QQBAAAAAf4EAQAAAAGCBQIAAAABjwUCAAAAAZAFAQAAAAGRBRAAAAABkgUBAAAAAZMFAQAAAAGVBQAAAJUFApYFAQAAAAEBMwAAugIAMAEzAAC6AgAwAQAAABYAIBEEAACGCwAgBgAAhQsAIAkAAIcLACCZBAIAuQgAIasEQADFCAAhuQQCALkIACH5BAEAwwgAIf0EAQDECAAh_gQBAMQIACGCBQIAuQgAIY8FAgD0CAAhkAUBAMQIACGRBRAA6gkAIZIFAQDECAAhkwUBAMQIACGVBQAAhAuVBSKWBQEAxAgAIQIAAAAbACAzAAC-AgAgDpkEAgC5CAAhqwRAAMUIACG5BAIAuQgAIfkEAQDDCAAh_QQBAMQIACH-BAEAxAgAIYIFAgC5CAAhjwUCAPQIACGQBQEAxAgAIZEFEADqCQAhkgUBAMQIACGTBQEAxAgAIZUFAACEC5UFIpYFAQDECAAhAgAAABkAIDMAAMACACACAAAAGQAgMwAAwAIAIAEAAAAWACADAAAAGwAgOgAAuAIAIDsAAL4CACABAAAAGwAgAQAAABkAIA0LAAD_CgAgQAAAgAsAIEEAAIMLACBCAACCCwAgQwAAgQsAIP0EAAC9CAAg_gQAAL0IACCPBQAAvQgAIJAFAAC9CAAgkQUAAL0IACCSBQAAvQgAIJMFAAC9CAAglgUAAL0IACARlgQAANEHADCXBAAAyAIAEJgEAADRBwAwmQQCAOcGACGrBEAA8wYAIbkEAgDnBgAh-QQBAPEGACH9BAEA8gYAIf4EAQDyBgAhggUCAOcGACGPBQIAjQcAIZAFAQDyBgAhkQUQALkHACGSBQEA8gYAIZMFAQDyBgAhlQUAANIHlQUilgUBAPIGACEDAAAAGQAgAQAAxwIAMD8AAMgCACADAAAAGQAgAQAAGgAwAgAAGwAgAQAAABIAIAEAAAASACADAAAAEAAgAQAAEQAwAgAAEgAgAwAAABAAIAEAABEAMAIAABIAIAMAAAAQACABAAARADACAAASACAaAwAA-QoAIAQAAPcKACAGAAD4CgAgBwAA-goAIAkAAPsKACAOAAD-CgAgEQAA_AoAIBIAAP0KACCZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAAQEzAADQAgAgEpkEAgAAAAGaBAIAAAABqwRAAAAAAbkEAgAAAAHABEAAAAABxgQAAACOBQKCBQIAAAABgwUCAAAAAYQFAQAAAAGFBQEAAAABhgVAAAAAAYcFAQAAAAGJBQAAAIkFAooFgAAAAAGLBUAAAAABjAUBAAAAAY4FAQAAAAGPBQIAAAABATMAANICADABMwAA0gIAMAEAAAANACABAAAACwAgAQAAABYAIBoDAADXCgAgBAAA1QoAIAYAANYKACAHAADYCgAgCQAA2QoAIA4AANwKACARAADaCgAgEgAA2woAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA1AqOBSKCBQIAuQgAIYMFAgC5CAAhhAUBAMMIACGFBQEAwwgAIYYFQADFCAAhhwUBAMMIACGJBQAA0wqJBSKKBYAAAAABiwVAAMUIACGMBQEAwwgAIY4FAQDECAAhjwUCAPQIACECAAAAEgAgMwAA2AIAIBKZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACG5BAIAuQgAIcAEQADFCAAhxgQAANQKjgUiggUCALkIACGDBQIAuQgAIYQFAQDDCAAhhQUBAMMIACGGBUAAxQgAIYcFAQDDCAAhiQUAANMKiQUiigWAAAAAAYsFQADFCAAhjAUBAMMIACGOBQEAxAgAIY8FAgD0CAAhAgAAABAAIDMAANoCACACAAAAEAAgMwAA2gIAIAEAAAANACABAAAACwAgAQAAABYAIAMAAAASACA6AADQAgAgOwAA2AIAIAEAAAASACABAAAAEAAgCAsAAM4KACBAAADPCgAgQQAA0goAIEIAANEKACBDAADQCgAgigUAAL0IACCOBQAAvQgAII8FAAC9CAAgFZYEAADKBwAwlwQAAOQCABCYBAAAygcAMJkEAgDnBgAhmgQCAOcGACGrBEAA8wYAIbkEAgDnBgAhwARAAPMGACHGBAAAzAeOBSKCBQIA5wYAIYMFAgDnBgAhhAUBAPEGACGFBQEA8QYAIYYFQADzBgAhhwUBAPEGACGJBQAAyweJBSKKBQAAhAcAIIsFQADzBgAhjAUBAPEGACGOBQEA8gYAIY8FAgCNBwAhAwAAABAAIAEAAOMCADA_AADkAgAgAwAAABAAIAEAABEAMAIAABIAIAEAAAAiACABAAAAIgAgAwAAACAAIAEAACEAMAIAACIAIAMAAAAgACABAAAhADACAAAiACADAAAAIAAgAQAAIQAwAgAAIgAgFAwAAIwKACAOAADNCgAgEAAAjQoAIJkEAgAAAAHGBAAAAIIFAtwEAgAAAAHmBAIAAAAB6AQQAAAAAekEEAAAAAHqBBAAAAAB6wQQAAAAAfAEAQAAAAH5BAEAAAAB-gRAAAAAAfsEAQAAAAH8BAEAAAAB_QQBAAAAAf4EAQAAAAH_BAEAAAABgAUQAAAAAQEzAADsAgAgEZkEAgAAAAHGBAAAAIIFAtwEAgAAAAHmBAIAAAAB6AQQAAAAAekEEAAAAAHqBBAAAAAB6wQQAAAAAfAEAQAAAAH5BAEAAAAB-gRAAAAAAfsEAQAAAAH8BAEAAAAB_QQBAAAAAf4EAQAAAAH_BAEAAAABgAUQAAAAAQEzAADuAgAwATMAAO4CADABAAAAEAAgAQAAACUAIBQMAAD9CQAgDgAAzAoAIBAAAP4JACCZBAIAuQgAIcYEAAD7CYIFItwEAgD0CAAh5gQCAPQIACHoBBAA3wkAIekEEADfCQAh6gQQAN8JACHrBBAA3wkAIfAEAQDECAAh-QQBAMMIACH6BEAAxQgAIfsEAQDECAAh_AQBAMQIACH9BAEAxAgAIf4EAQDECAAh_wQBAMQIACGABRAA6gkAIQIAAAAiACAzAADzAgAgEZkEAgC5CAAhxgQAAPsJggUi3AQCAPQIACHmBAIA9AgAIegEEADfCQAh6QQQAN8JACHqBBAA3wkAIesEEADfCQAh8AQBAMQIACH5BAEAwwgAIfoEQADFCAAh-wQBAMQIACH8BAEAxAgAIf0EAQDECAAh_gQBAMQIACH_BAEAxAgAIYAFEADqCQAhAgAAACAAIDMAAPUCACACAAAAIAAgMwAA9QIAIAEAAAAQACABAAAAJQAgAwAAACIAIDoAAOwCACA7AADzAgAgAQAAACIAIAEAAAAgACAOCwAAxwoAIEAAAMgKACBBAADLCgAgQgAAygoAIEMAAMkKACDcBAAAvQgAIOYEAAC9CAAg8AQAAL0IACD7BAAAvQgAIPwEAAC9CAAg_QQAAL0IACD-BAAAvQgAIP8EAAC9CAAggAUAAL0IACAUlgQAAMYHADCXBAAA_gIAEJgEAADGBwAwmQQCAOcGACHGBAAAxweCBSLcBAIAjQcAIeYEAgCNBwAh6AQQALIHACHpBBAAsgcAIeoEEACyBwAh6wQQALIHACHwBAEA8gYAIfkEAQDxBgAh-gRAAPMGACH7BAEA8gYAIfwEAQDyBgAh_QQBAPIGACH-BAEA8gYAIf8EAQDyBgAhgAUQALkHACEDAAAAIAAgAQAA_QIAMD8AAP4CACADAAAAIAAgAQAAIQAwAgAAIgAgAQAAADQAIAEAAAA0ACADAAAAMgAgAQAAMwAwAgAANAAgAwAAADIAIAEAADMAMAIAADQAIAMAAAAyACABAAAzADACAAA0ACAGDAAAxgoAIJkEAgAAAAG6BAEAAAABvAQBAAAAAb4EAQAAAAHmBAIAAAABATMAAIYDACAFmQQCAAAAAboEAQAAAAG8BAEAAAABvgQBAAAAAeYEAgAAAAEBMwAAiAMAMAEzAACIAwAwBgwAAMUKACCZBAIAuQgAIboEAQDDCAAhvAQBAMMIACG-BAEAxAgAIeYEAgC5CAAhAgAAADQAIDMAAIsDACAFmQQCALkIACG6BAEAwwgAIbwEAQDDCAAhvgQBAMQIACHmBAIAuQgAIQIAAAAyACAzAACNAwAgAgAAADIAIDMAAI0DACADAAAANAAgOgAAhgMAIDsAAIsDACABAAAANAAgAQAAADIAIAYLAADACgAgQAAAwQoAIEEAAMQKACBCAADDCgAgQwAAwgoAIL4EAAC9CAAgCJYEAADFBwAwlwQAAJQDABCYBAAAxQcAMJkEAgDnBgAhugQBAPEGACG8BAEA8QYAIb4EAQDyBgAh5gQCAOcGACEDAAAAMgAgAQAAkwMAMD8AAJQDACADAAAAMgAgAQAAMwAwAgAANAAgAQAAAGwAIAEAAABsACADAAAAagAgAQAAawAwAgAAbAAgAwAAAGoAIAEAAGsAMAIAAGwAIAMAAABqACABAABrADACAABsACAGAwAAvwoAIJkEAgAAAAGaBAIAAAAB9gQBAAAAAfcEAQAAAAH4BAEAAAABATMAAJwDACAFmQQCAAAAAZoEAgAAAAH2BAEAAAAB9wQBAAAAAfgEAQAAAAEBMwAAngMAMAEzAACeAwAwBgMAAL4KACCZBAIAuQgAIZoEAgC5CAAh9gQBAMMIACH3BAEAwwgAIfgEAQDDCAAhAgAAAGwAIDMAAKEDACAFmQQCALkIACGaBAIAuQgAIfYEAQDDCAAh9wQBAMMIACH4BAEAwwgAIQIAAABqACAzAACjAwAgAgAAAGoAIDMAAKMDACADAAAAbAAgOgAAnAMAIDsAAKEDACABAAAAbAAgAQAAAGoAIAULAAC5CgAgQAAAugoAIEEAAL0KACBCAAC8CgAgQwAAuwoAIAiWBAAAxAcAMJcEAACqAwAQmAQAAMQHADCZBAIA5wYAIZoEAgDnBgAh9gQBAPEGACH3BAEA8QYAIfgEAQDxBgAhAwAAAGoAIAEAAKkDADA_AACqAwAgAwAAAGoAIAEAAGsAMAIAAGwAIAEAAABIACABAAAASAAgAwAAAEYAIAEAAEcAMAIAAEgAIAMAAABGACABAABHADACAABIACADAAAARgAgAQAARwAwAgAASAAgBwQAALcKACAWAAC4CgAgmQQCAAAAAasEQAAAAAG5BAIAAAAB8wQBAAAAAfUEAAAA9QQCATMAALIDACAFmQQCAAAAAasEQAAAAAG5BAIAAAAB8wQBAAAAAfUEAAAA9QQCATMAALQDADABMwAAtAMAMAcEAACpCgAgFgAAqgoAIJkEAgC5CAAhqwRAAMUIACG5BAIAuQgAIfMEAQDDCAAh9QQAAKgK9QQiAgAAAEgAIDMAALcDACAFmQQCALkIACGrBEAAxQgAIbkEAgC5CAAh8wQBAMMIACH1BAAAqAr1BCICAAAARgAgMwAAuQMAIAIAAABGACAzAAC5AwAgAwAAAEgAIDoAALIDACA7AAC3AwAgAQAAAEgAIAEAAABGACAFCwAAowoAIEAAAKQKACBBAACnCgAgQgAApgoAIEMAAKUKACAIlgQAAMAHADCXBAAAwAMAEJgEAADABwAwmQQCAOcGACGrBEAA8wYAIbkEAgDnBgAh8wQBAPEGACH1BAAAwQf1BCIDAAAARgAgAQAAvwMAMD8AAMADACADAAAARgAgAQAARwAwAgAASAAgAQAAAEwAIAEAAABMACADAAAASgAgAQAASwAwAgAATAAgAwAAAEoAIAEAAEsAMAIAAEwAIAMAAABKACABAABLADACAABMACAGFQAAogoAIJkEAgAAAAG6BAEAAAABvwRAAAAAAfEEAAEAAAHyBAIAAAABATMAAMgDACAFmQQCAAAAAboEAQAAAAG_BEAAAAAB8QQAAQAAAfIEAgAAAAEBMwAAygMAMAEzAADKAwAwBhUAAKEKACCZBAIAuQgAIboEAQDDCAAhvwRAAMUIACHxBAAB_ggAIfIEAgC5CAAhAgAAAEwAIDMAAM0DACAFmQQCALkIACG6BAEAwwgAIb8EQADFCAAh8QQAAf4IACHyBAIAuQgAIQIAAABKACAzAADPAwAgAgAAAEoAIDMAAM8DACADAAAATAAgOgAAyAMAIDsAAM0DACABAAAATAAgAQAAAEoAIAULAACcCgAgQAAAnQoAIEEAAKAKACBCAACfCgAgQwAAngoAIAiWBAAAvwcAMJcEAADWAwAQmAQAAL8HADCZBAIA5wYAIboEAQDxBgAhvwRAAPMGACHxBAABmgcAIfIEAgDnBgAhAwAAAEoAIAEAANUDADA_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_wMAIAMAAAArACA6AAD4AwAgOwAA_QMAIAEAAAArACABAAAAKQAgCAsAANoJACBAAADbCQAgQQAA3gkAIEIAAN0JACBDAADcCQAg3gQAAL0IACDkBAAAvQgAIOUEAAC9CAAgDpYEAACxBwAwlwQAAIYEABCYBAAAsQcAMJkEAgDnBgAhqwRAAPMGACHcBAIA5wYAId0EAgDnBgAh3gQBAPIGACHfBBAAsgcAIeAEEACyBwAh4gQAALMH4gQi4wRAAPMGACHkBAEA8gYAIeUEAQDyBgAhAwAAACkAIAEAAIUEADA_AACGBAAgAwAAACkAIAEAACoAMAIAACsAIAEAAABxACABAAAAcQAgAwAAAG8AIAEAAHAAMAIAAHEAIAMAAABvACABAABwADACAABxACADAAAAbwAgAQAAcAAwAgAAcQAgBAMAANkJACCZBAIAAAABmgQCAAAAAasEQAAAAAEBMwAAjgQAIAOZBAIAAAABmgQCAAAAAasEQAAAAAEBMwAAkAQAMAEzAACQBAAwBAMAANgJACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACECAAAAcQAgMwAAkwQAIAOZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACECAAAAbwAgMwAAlQQAIAIAAABvACAzAACVBAAgAwAAAHEAIDoAAI4EACA7AACTBAAgAQAAAHEAIAEAAABvACAFCwAA0wkAIEAAANQJACBBAADXCQAgQgAA1gkAIEMAANUJACAGlgQAALAHADCXBAAAnAQAEJgEAACwBwAwmQQCAOcGACGaBAIA5wYAIasEQADzBgAhAwAAAG8AIAEAAJsEADA_AACcBAAgAwAAAG8AIAEAAHAAMAIAAHEAIAEAAAB1ACABAAAAdQAgAwAAAHMAIAEAAHQAMAIAAHUAIAMAAABzACABAAB0ADACAAB1ACADAAAAcwAgAQAAdAAwAgAAdQAgBgMAANIJACCZBAIAAAABmgQCAAAAAasEQAAAAAHaBAEAAAAB2wQgAAAAAQEzAACkBAAgBZkEAgAAAAGaBAIAAAABqwRAAAAAAdoEAQAAAAHbBCAAAAABATMAAKYEADABMwAApgQAMAYDAADRCQAgmQQCALkIACGaBAIAuQgAIasEQADFCAAh2gQBAMMIACHbBCAAhgkAIQIAAAB1ACAzAACpBAAgBZkEAgC5CAAhmgQCALkIACGrBEAAxQgAIdoEAQDDCAAh2wQgAIYJACECAAAAcwAgMwAAqwQAIAIAAABzACAzAACrBAAgAwAAAHUAIDoAAKQEACA7AACpBAAgAQAAAHUAIAEAAABzACAFCwAAzAkAIEAAAM0JACBBAADQCQAgQgAAzwkAIEMAAM4JACAIlgQAAK8HADCXBAAAsgQAEJgEAACvBwAwmQQCAOcGACGaBAIA5wYAIasEQADzBgAh2gQBAPEGACHbBCAAngcAIQMAAABzACABAACxBAAwPwAAsgQAIAMAAABzACABAAB0ADACAAB1ACABAAAAeQAgAQAAAHkAIAMAAAB3ACABAAB4ADACAAB5ACADAAAAdwAgAQAAeAAwAgAAeQAgAwAAAHcAIAEAAHgAMAIAAHkAIAcDAADLCQAgmQQCAAAAAZoEAgAAAAGrBEAAAAAB1wQAAADXBALYBAEAAAAB2QQgAAAAAQEzAAC6BAAgBpkEAgAAAAGaBAIAAAABqwRAAAAAAdcEAAAA1wQC2AQBAAAAAdkEIAAAAAEBMwAAvAQAMAEzAAC8BAAwBwMAAMoJACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACHXBAAAyQnXBCLYBAEAwwgAIdkEIACGCQAhAgAAAHkAIDMAAL8EACAGmQQCALkIACGaBAIAuQgAIasEQADFCAAh1wQAAMkJ1wQi2AQBAMMIACHZBCAAhgkAIQIAAAB3ACAzAADBBAAgAgAAAHcAIDMAAMEEACADAAAAeQAgOgAAugQAIDsAAL8EACABAAAAeQAgAQAAAHcAIAULAADECQAgQAAAxQkAIEEAAMgJACBCAADHCQAgQwAAxgkAIAmWBAAAqwcAMJcEAADIBAAQmAQAAKsHADCZBAIA5wYAIZoEAgDnBgAhqwRAAPMGACHXBAAArAfXBCLYBAEA8QYAIdkEIACeBwAhAwAAAHcAIAEAAMcEADA_AADIBAAgAwAAAHcAIAEAAHgAMAIAAHkAIAqWBAAApgcAMJcEAADOBAAQmAQAAKYHADCZBAIAAAABxgQBAIIHACHRBAEAggcAIdIEQACoBwAh0wRAAKkHACHUBAIAqgcAIdUEAQD9BgAhAQAAAMsEACABAAAAywQAIAqWBAAApgcAMJcEAADOBAAQmAQAAKYHADCZBAIApwcAIcYEAQCCBwAh0QQBAIIHACHSBEAAqAcAIdMEQACpBwAh1AQCAKoHACHVBAEA_QYAIQPTBAAAvQgAINQEAAC9CAAg1QQAAL0IACADAAAAzgQAIAEAAM8EADACAADLBAAgAwAAAM4EACABAADPBAAwAgAAywQAIAMAAADOBAAgAQAAzwQAMAIAAMsEACAHmQQCAAAAAcYEAQAAAAHRBAEAAAAB0gRAAAAAAdMEQAAAAAHUBAIAAAAB1QQBAAAAAQEzAADTBAAgB5kEAgAAAAHGBAEAAAAB0QQBAAAAAdIEQAAAAAHTBEAAAAAB1AQCAAAAAdUEAQAAAAEBMwAA1QQAMAEzAADVBAAwB5kEAgC5CAAhxgQBAMMIACHRBAEAwwgAIdIEQADFCAAh0wRAAMMJACHUBAIA9AgAIdUEAQDECAAhAgAAAMsEACAzAADYBAAgB5kEAgC5CAAhxgQBAMMIACHRBAEAwwgAIdIEQADFCAAh0wRAAMMJACHUBAIA9AgAIdUEAQDECAAhAgAAAM4EACAzAADaBAAgAgAAAM4EACAzAADaBAAgAwAAAMsEACA6AADTBAAgOwAA2AQAIAEAAADLBAAgAQAAAM4EACAICwAAvgkAIEAAAL8JACBBAADCCQAgQgAAwQkAIEMAAMAJACDTBAAAvQgAINQEAAC9CAAg1QQAAL0IACAKlgQAAKIHADCXBAAA4QQAEJgEAACiBwAwmQQCAOcGACHGBAEA8QYAIdEEAQDxBgAh0gRAAPMGACHTBEAAowcAIdQEAgCNBwAh1QQBAPIGACEDAAAAzgQAIAEAAOAEADA_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_wgAIDMAAf4IACGZBAIAuQgAIasEQADFCAAhygQCALkIACHLBAIAuQgAIQIAAACIAQAgMwAAngUAIAUzAAH-CAAhmQQCALkIACGrBEAAxQgAIcoEAgC5CAAhywQCALkIACECAAAAhgEAIDMAAKAFACACAAAAhgEAIDMAAKAFACADAAAAiAEAIDoAAJkFACA7AACeBQAgAQAAAIgBACABAAAAhgEAIAULAAD5CAAgQAAA-ggAIEEAAP0IACBCAAD8CAAgQwAA-wgAIAgzAAGaBwAhlgQAAJkHADCXBAAApwUAEJgEAACZBwAwmQQCAOcGACGrBEAA8wYAIcoEAgDnBgAhywQCAOcGACEDAAAAhgEAIAEAAKYFADA_AACnBQAgAwAAAIYBACABAACHAQAwAgAAiAEAIAEAAABUACABAAAAVAAgAwAAAFIAIAEAAFMAMAIAAFQAIAMAAABSACABAABTADACAABUACADAAAAUgAgAQAAUwAwAgAAVAAgDAMAAPgIACAEAAD3CAAgmQQCAAAAAZoEAgAAAAGrBEAAAAABuQQCAAAAAcIEAAAAwgQCxAQAAADEBALGBAAAAMYEAscEAQAAAAHIBAIAAAAByQQBAAAAAQEzAACvBQAgCpkEAgAAAAGaBAIAAAABqwRAAAAAAbkEAgAAAAHCBAAAAMIEAsQEAAAAxAQCxgQAAADGBALHBAEAAAAByAQCAAAAAckEAQAAAAEBMwAAsQUAMAEzAACxBQAwAQAAAA0AIAwDAAD2CAAgBAAA9QgAIJkEAgC5CAAhmgQCAPQIACGrBEAAxQgAIbkEAgC5CAAhwgQAAPEIwgQixAQAAPIIxAQixgQAAPMIxgQixwQBAMQIACHIBAIA9AgAIckEAQDECAAhAgAAAFQAIDMAALUFACAKmQQCALkIACGaBAIA9AgAIasEQADFCAAhuQQCALkIACHCBAAA8QjCBCLEBAAA8gjEBCLGBAAA8wjGBCLHBAEAxAgAIcgEAgD0CAAhyQQBAMQIACECAAAAUgAgMwAAtwUAIAIAAABSACAzAAC3BQAgAQAAAA0AIAMAAABUACA6AACvBQAgOwAAtQUAIAEAAABUACABAAAAUgAgCQsAAOwIACBAAADtCAAgQQAA8AgAIEIAAO8IACBDAADuCAAgmgQAAL0IACDHBAAAvQgAIMgEAAC9CAAgyQQAAL0IACANlgQAAIwHADCXBAAAvwUAEJgEAACMBwAwmQQCAOcGACGaBAIAjQcAIasEQADzBgAhuQQCAOcGACHCBAAAjgfCBCLEBAAAjwfEBCLGBAAAkAfGBCLHBAEA8gYAIcgEAgCNBwAhyQQBAPIGACEDAAAAUgAgAQAAvgUAMD8AAL8FACADAAAAUgAgAQAAUwAwAgAAVAAgAQAAAFkAIAEAAABZACADAAAAVwAgAQAAWAAwAgAAWQAgAwAAAFcAIAEAAFgAMAIAAFkAIAMAAABXACABAABYADACAABZACAKBAAA6wgAIJkEAgAAAAG5BAIAAAABugQBAAAAAbsEAQAAAAG8BAEAAAABvQQEAAAAAb4EAQAAAAG_BEAAAAABwARAAAAAAQEzAADHBQAgCZkEAgAAAAG5BAIAAAABugQBAAAAAbsEAQAAAAG8BAEAAAABvQQEAAAAAb4EAQAAAAG_BEAAAAABwARAAAAAAQEzAADJBQAwATMAAMkFADAKBAAA6ggAIJkEAgC5CAAhuQQCALkIACG6BAEAwwgAIbsEAQDDCAAhvAQBAMMIACG9BAQA6QgAIb4EAQDDCAAhvwRAAMUIACHABEAAxQgAIQIAAABZACAzAADMBQAgCZkEAgC5CAAhuQQCALkIACG6BAEAwwgAIbsEAQDDCAAhvAQBAMMIACG9BAQA6QgAIb4EAQDDCAAhvwRAAMUIACHABEAAxQgAIQIAAABXACAzAADOBQAgAgAAAFcAIDMAAM4FACADAAAAWQAgOgAAxwUAIDsAAMwFACABAAAAWQAgAQAAAFcAIAULAADkCAAgQAAA5QgAIEEAAOgIACBCAADnCAAgQwAA5ggAIAyWBAAAiAcAMJcEAADVBQAQmAQAAIgHADCZBAIA5wYAIbkEAgDnBgAhugQBAPEGACG7BAEA8QYAIbwEAQDxBgAhvQQEAIkHACG-BAEA8QYAIb8EQADzBgAhwARAAPMGACEDAAAAVwAgAQAA1AUAMD8AANUFACADAAAAVwAgAQAAWAAwAgAAWQAgCwMAAO8GACCWBAAAhgcAMJcEAACPAQAQmAQAAIYHADCZBAIAAAABmgQCAAAAAaoEAQCCBwAhtQQBAIIHACG2BAEAggcAIbcEAQD9BgAhuAQAAIcHACABAAAA2AUAIAEAAADYBQAgAwMAALwIACC3BAAAvQgAILgEAAC9CAAgAwAAAI8BACABAADbBQAwAgAA2AUAIAMAAACPAQAgAQAA2wUAMAIAANgFACADAAAAjwEAIAEAANsFADACAADYBQAgCAMAAOMIACCZBAIAAAABmgQCAAAAAaoEAQAAAAG1BAEAAAABtgQBAAAAAbcEAQAAAAG4BIAAAAABATMAAN8FACAHmQQCAAAAAZoEAgAAAAGqBAEAAAABtQQBAAAAAbYEAQAAAAG3BAEAAAABuASAAAAAAQEzAADhBQAwATMAAOEFADAIAwAA4ggAIJkEAgC5CAAhmgQCALkIACGqBAEAwwgAIbUEAQDDCAAhtgQBAMMIACG3BAEAxAgAIbgEgAAAAAECAAAA2AUAIDMAAOQFACAHmQQCALkIACGaBAIAuQgAIaoEAQDDCAAhtQQBAMMIACG2BAEAwwgAIbcEAQDECAAhuASAAAAAAQIAAACPAQAgMwAA5gUAIAIAAACPAQAgMwAA5gUAIAMAAADYBQAgOgAA3wUAIDsAAOQFACABAAAA2AUAIAEAAACPAQAgBwsAAN0IACBAAADeCAAgQQAA4QgAIEIAAOAIACBDAADfCAAgtwQAAL0IACC4BAAAvQgAIAqWBAAAgwcAMJcEAADtBQAQmAQAAIMHADCZBAIA5wYAIZoEAgDnBgAhqgQBAPEGACG1BAEA8QYAIbYEAQDxBgAhtwQBAPIGACG4BAAAhAcAIAMAAACPAQAgAQAA7AUAMD8AAO0FACADAAAAjwEAIAEAANsFADACAADYBQAgBwMAAO8GACCWBAAAgQcAMJcEAACRAQAQmAQAAIEHADCZBAIAAAABmgQCAAAAAbQEAQCCBwAhAQAAAPAFACABAAAA8AUAIAEDAAC8CAAgAwAAAJEBACABAADzBQAwAgAA8AUAIAMAAACRAQAgAQAA8wUAMAIAAPAFACADAAAAkQEAIAEAAPMFADACAADwBQAgBAMAANwIACCZBAIAAAABmgQCAAAAAbQEAQAAAAEBMwAA9wUAIAOZBAIAAAABmgQCAAAAAbQEAQAAAAEBMwAA-QUAMAEzAAD5BQAwBAMAANsIACCZBAIAuQgAIZoEAgC5CAAhtAQBAMMIACECAAAA8AUAIDMAAPwFACADmQQCALkIACGaBAIAuQgAIbQEAQDDCAAhAgAAAJEBACAzAAD-BQAgAgAAAJEBACAzAAD-BQAgAwAAAPAFACA6AAD3BQAgOwAA_AUAIAEAAADwBQAgAQAAAJEBACAFCwAA1ggAIEAAANcIACBBAADaCAAgQgAA2QgAIEMAANgIACAGlgQAAIAHADCXBAAAhQYAEJgEAACABwAwmQQCAOcGACGaBAIA5wYAIbQEAQDxBgAhAwAAAJEBACABAACEBgAwPwAAhQYAIAMAAACRAQAgAQAA8wUAMAIAAPAFACAHAwAA7wYAIDMAAO4GACCWBAAA_wYAMJcEAACTAQAQmAQAAP8GADCZBAIAAAABmgQCAAAAAQEAAACIBgAgAQAAAIgGACABAwAAvAgAIAMAAACTAQAgAQAAiwYAMAIAAIgGACADAAAAkwEAIAEAAIsGADACAACIBgAgAwAAAJMBACABAACLBgAwAgAAiAYAIAQDAADVCAAgM4AAAAABmQQCAAAAAZoEAgAAAAEBMwAAjwYAIAMzgAAAAAGZBAIAAAABmgQCAAAAAQEzAACRBgAwATMAAJEGADAEAwAA1AgAIDOAAAAAAZkEAgC5CAAhmgQCALkIACECAAAAiAYAIDMAAJQGACADM4AAAAABmQQCALkIACGaBAIAuQgAIQIAAACTAQAgMwAAlgYAIAIAAACTAQAgMwAAlgYAIAMAAACIBgAgOgAAjwYAIDsAAJQGACABAAAAiAYAIAEAAACTAQAgBQsAAM8IACBAAADQCAAgQQAA0wgAIEIAANIIACBDAADRCAAgBjMAAOgGACCWBAAA_gYAMJcEAACdBgAQmAQAAP4GADCZBAIA5wYAIZoEAgDnBgAhAwAAAJMBACABAACcBgAwPwAAnQYAIAMAAACTAQAgAQAAiwYAMAIAAIgGACAMAwAA7wYAIJYEAAD8BgAwlwQAAJUBABCYBAAA_AYAMJkEAgAAAAGaBAIAAAABqgQBAP0GACGvBAEA_QYAIbAEAQD9BgAhsQQBAP0GACGyBAEA_QYAIbMEAQD9BgAhAQAAAKAGACABAAAAoAYAIAcDAAC8CAAgqgQAAL0IACCvBAAAvQgAILAEAAC9CAAgsQQAAL0IACCyBAAAvQgAILMEAAC9CAAgAwAAAJUBACABAACjBgAwAgAAoAYAIAMAAACVAQAgAQAAowYAMAIAAKAGACADAAAAlQEAIAEAAKMGADACAACgBgAgCQMAAM4IACCZBAIAAAABmgQCAAAAAaoEAQAAAAGvBAEAAAABsAQBAAAAAbEEAQAAAAGyBAEAAAABswQBAAAAAQEzAACnBgAgCJkEAgAAAAGaBAIAAAABqgQBAAAAAa8EAQAAAAGwBAEAAAABsQQBAAAAAbIEAQAAAAGzBAEAAAABATMAAKkGADABMwAAqQYAMAkDAADNCAAgmQQCALkIACGaBAIAuQgAIaoEAQDECAAhrwQBAMQIACGwBAEAxAgAIbEEAQDECAAhsgQBAMQIACGzBAEAxAgAIQIAAACgBgAgMwAArAYAIAiZBAIAuQgAIZoEAgC5CAAhqgQBAMQIACGvBAEAxAgAIbAEAQDECAAhsQQBAMQIACGyBAEAxAgAIbMEAQDECAAhAgAAAJUBACAzAACuBgAgAgAAAJUBACAzAACuBgAgAwAAAKAGACA6AACnBgAgOwAArAYAIAEAAACgBgAgAQAAAJUBACALCwAAyAgAIEAAAMkIACBBAADMCAAgQgAAywgAIEMAAMoIACCqBAAAvQgAIK8EAAC9CAAgsAQAAL0IACCxBAAAvQgAILIEAAC9CAAgswQAAL0IACALlgQAAPsGADCXBAAAtQYAEJgEAAD7BgAwmQQCAOcGACGaBAIA5wYAIaoEAQDyBgAhrwQBAPIGACGwBAEA8gYAIbEEAQDyBgAhsgQBAPIGACGzBAEA8gYAIQMAAACVAQAgAQAAtAYAMD8AALUGACADAAAAlQEAIAEAAKMGADACAACgBgAgAQAAAJsBACABAAAAmwEAIAMAAACZAQAgAQAAmgEAMAIAAJsBACADAAAAmQEAIAEAAJoBADACAACbAQAgAwAAAJkBACABAACaAQAwAgAAmwEAIAYDAADHCAAgmQQCAAAAAZoEAgAAAAGpBAEAAAABqgQBAAAAAasEQAAAAAEBMwAAvQYAIAWZBAIAAAABmgQCAAAAAakEAQAAAAGqBAEAAAABqwRAAAAAAQEzAAC_BgAwATMAAL8GADAGAwAAxggAIJkEAgC5CAAhmgQCALkIACGpBAEAwwgAIaoEAQDECAAhqwRAAMUIACECAAAAmwEAIDMAAMIGACAFmQQCALkIACGaBAIAuQgAIakEAQDDCAAhqgQBAMQIACGrBEAAxQgAIQIAAACZAQAgMwAAxAYAIAIAAACZAQAgMwAAxAYAIAMAAACbAQAgOgAAvQYAIDsAAMIGACABAAAAmwEAIAEAAACZAQAgBgsAAL4IACBAAAC_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_AYAMJcEAACVAQAQmAQAAPwGADCZBAIApwcAIZoEAgCnBwAhqgQBAP0GACGvBAEA_QYAIbAEAQD9BgAhsQQBAP0GACGyBAEA_QYAIbMEAQD9BgAhC5sEAQAAAAGiBAEAAAABowQBAAAAAaQEAQAAAAGlBAEAAAABpgQBAPgGACGnBAEAAAAFqAQBAAAABawEAQAAAAGtBAEAAAABrgQBAAAAAQYzAADoBgAglgQAAP4GADCXBAAAnQYAEJgEAAD-BgAwmQQCAOcGACGaBAIA5wYAIQcDAADvBgAgMwAA7gYAIJYEAAD_BgAwlwQAAJMBABCYBAAA_wYAMJkEAgCnBwAhmgQCAKcHACEGlgQAAIAHADCXBAAAhQYAEJgEAACABwAwmQQCAOcGACGaBAIA5wYAIbQEAQDxBgAhBwMAAO8GACCWBAAAgQcAMJcEAACRAQAQmAQAAIEHADCZBAIApwcAIZoEAgCnBwAhtAQBAIIHACELmwQBAAAAAaIEAQAAAAGjBAEAAAABpAQBAAAAAaUEAQAAAAGmBAEA-gYAIacEAQAAAASoBAEAAAAErAQBAAAAAa0EAQAAAAGuBAEAAAABCpYEAACDBwAwlwQAAO0FABCYBAAAgwcAMJkEAgDnBgAhmgQCAOcGACGqBAEA8QYAIbUEAQDxBgAhtgQBAPEGACG3BAEA8gYAIbgEAACEBwAgDwsAAPcGACBCAACFBwAgQwAAhQcAIJsEgAAAAAGcBAEAAAABnQQBAAAAAZ4EAQAAAAGfBIAAAAABoASAAAAAAaEEgAAAAAGiBIAAAAABowSAAAAAAaQEgAAAAAGlBIAAAAABpgSAAAAAAQybBIAAAAABnAQBAAAAAZ0EAQAAAAGeBAEAAAABnwSAAAAAAaAEgAAAAAGhBIAAAAABogSAAAAAAaMEgAAAAAGkBIAAAAABpQSAAAAAAaYEgAAAAAELAwAA7wYAIJYEAACGBwAwlwQAAI8BABCYBAAAhgcAMJkEAgCnBwAhmgQCAKcHACGqBAEAggcAIbUEAQCCBwAhtgQBAIIHACG3BAEA_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-BwAgQQAAvgcAIEIAAL4HACBDAAC-BwAgmwQQAAAAAaIEEAAAAAGjBBAAAAABpAQQAAAAAaUEEAAAAAGmBBAAvQcAIacEEAAAAAWoBBAAAAAFBwsAAOkGACBCAAC8BwAgQwAAvAcAIJsEAAAA8AQCpgQAALsH8AQipwQAAADwBAioBAAAAPAECAcLAADpBgAgQgAAvAcAIEMAALwHACCbBAAAAPAEAqYEAAC7B_AEIqcEAAAA8AQIqAQAAADwBAgEmwQAAADwBAKmBAAAvAfwBCKnBAAAAPAECKgEAAAA8AQIDQsAAPcGACBAAAC-BwAgQQAAvgcAIEIAAL4HACBDAAC-BwAgmwQQAAAAAaIEEAAAAAGjBBAAAAABpAQQAAAAAaUEEAAAAAGmBBAAvQcAIacEEAAAAAWoBBAAAAAFCJsEEAAAAAGiBBAAAAABowQQAAAAAaQEEAAAAAGlBBAAAAABpgQQAL4HACGnBBAAAAAFqAQQAAAABQiWBAAAvwcAMJcEAADWAwAQmAQAAL8HADCZBAIA5wYAIboEAQDxBgAhvwRAAPMGACHxBAABmgcAIfIEAgDnBgAhCJYEAADABwAwlwQAAMADABCYBAAAwAcAMJkEAgDnBgAhqwRAAPMGACG5BAIA5wYAIfMEAQDxBgAh9QQAAMEH9QQiBwsAAOkGACBCAADDBwAgQwAAwwcAIJsEAAAA9QQCpgQAAMIH9QQipwQAAAD1BAioBAAAAPUECAcLAADpBgAgQgAAwwcAIEMAAMMHACCbBAAAAPUEAqYEAADCB_UEIqcEAAAA9QQIqAQAAAD1BAgEmwQAAAD1BAKmBAAAwwf1BCKnBAAAAPUECKgEAAAA9QQICJYEAADEBwAwlwQAAKoDABCYBAAAxAcAMJkEAgDnBgAhmgQCAOcGACH2BAEA8QYAIfcEAQDxBgAh-AQBAPEGACEIlgQAAMUHADCXBAAAlAMAEJgEAADFBwAwmQQCAOcGACG6BAEA8QYAIbwEAQDxBgAhvgQBAPIGACHmBAIA5wYAIRSWBAAAxgcAMJcEAAD-AgAQmAQAAMYHADCZBAIA5wYAIcYEAADHB4IFItwEAgCNBwAh5gQCAI0HACHoBBAAsgcAIekEEACyBwAh6gQQALIHACHrBBAAsgcAIfAEAQDyBgAh-QQBAPEGACH6BEAA8wYAIfsEAQDyBgAh_AQBAPIGACH9BAEA8gYAIf4EAQDyBgAh_wQBAPIGACGABRAAuQcAIQcLAADpBgAgQgAAyQcAIEMAAMkHACCbBAAAAIIFAqYEAADIB4IFIqcEAAAAggUIqAQAAACCBQgHCwAA6QYAIEIAAMkHACBDAADJBwAgmwQAAACCBQKmBAAAyAeCBSKnBAAAAIIFCKgEAAAAggUIBJsEAAAAggUCpgQAAMkHggUipwQAAACCBQioBAAAAIIFCBWWBAAAygcAMJcEAADkAgAQmAQAAMoHADCZBAIA5wYAIZoEAgDnBgAhqwRAAPMGACG5BAIA5wYAIcAEQADzBgAhxgQAAMwHjgUiggUCAOcGACGDBQIA5wYAIYQFAQDxBgAhhQUBAPEGACGGBUAA8wYAIYcFAQDxBgAhiQUAAMsHiQUiigUAAIQHACCLBUAA8wYAIYwFAQDxBgAhjgUBAPIGACGPBQIAjQcAIQcLAADpBgAgQgAA0AcAIEMAANAHACCbBAAAAIkFAqYEAADPB4kFIqcEAAAAiQUIqAQAAACJBQgHCwAA6QYAIEIAAM4HACBDAADOBwAgmwQAAACOBQKmBAAAzQeOBSKnBAAAAI4FCKgEAAAAjgUIBwsAAOkGACBCAADOBwAgQwAAzgcAIJsEAAAAjgUCpgQAAM0HjgUipwQAAACOBQioBAAAAI4FCASbBAAAAI4FAqYEAADOB44FIqcEAAAAjgUIqAQAAACOBQgHCwAA6QYAIEIAANAHACBDAADQBwAgmwQAAACJBQKmBAAAzweJBSKnBAAAAIkFCKgEAAAAiQUIBJsEAAAAiQUCpgQAANAHiQUipwQAAACJBQioBAAAAIkFCBGWBAAA0QcAMJcEAADIAgAQmAQAANEHADCZBAIA5wYAIasEQADzBgAhuQQCAOcGACH5BAEA8QYAIf0EAQDyBgAh_gQBAPIGACGCBQIA5wYAIY8FAgCNBwAhkAUBAPIGACGRBRAAuQcAIZIFAQDyBgAhkwUBAPIGACGVBQAA0geVBSKWBQEA8gYAIQcLAADpBgAgQgAA1AcAIEMAANQHACCbBAAAAJUFAqYEAADTB5UFIqcEAAAAlQUIqAQAAACVBQgHCwAA6QYAIEIAANQHACBDAADUBwAgmwQAAACVBQKmBAAA0weVBSKnBAAAAJUFCKgEAAAAlQUIBJsEAAAAlQUCpgQAANQHlQUipwQAAACVBQioBAAAAJUFCAiWBAAA1QcAMJcEAACwAgAQmAQAANUHADCZBAIA5wYAIZoEAgDnBgAhqwRAAPMGACGXBQEA8QYAIZgFAQDxBgAhCpYEAADWBwAwlwQAAJoCABCYBAAA1gcAMJkEAgDnBgAhmgQCAOcGACGpBAEA8QYAIasEQADzBgAhsgQBAPIGACGZBQEA8QYAIZoFAQDyBgAhCJYEAADXBwAwlwQAAIICABCYBAAA1wcAMJkEAgDnBgAhugQBAPEGACG8BAEA8gYAIb4EAQDyBgAhggUCAOcGACERlgQAANgHADCXBAAA7AEAEJgEAADYBwAwmQQCAOcGACGaBAIA5wYAIasEQADzBgAhuQQCAOcGACHGBAEA8QYAIdcEAQDxBgAh5QQBAPIGACHzBAEA8QYAIYMFAgDnBgAhmwVAAPMGACGcBQEA8QYAIZ0FAQDxBgAhngUBAPIGACGgBQAA2QegBSIHCwAA6QYAIEIAANsHACBDAADbBwAgmwQAAACgBQKmBAAA2gegBSKnBAAAAKAFCKgEAAAAoAUIBwsAAOkGACBCAADbBwAgQwAA2wcAIJsEAAAAoAUCpgQAANoHoAUipwQAAACgBQioBAAAAKAFCASbBAAAAKAFAqYEAADbB6AFIqcEAAAAoAUIqAQAAACgBQgYlgQAANwHADCXBAAA1AEAEJgEAADcBwAwmQQCAOcGACGaBAIA5wYAIasEQADzBgAhsgQBAPIGACHABEAA8wYAIcYEAADZB6AFIoYFQACjBwAhjAUBAPIGACGaBQEA8QYAIaEFAQDxBgAhogUBAPEGACGjBQEA8QYAIaQFAQDyBgAhpQUBAPIGACGmBQEA8gYAIacFAQDyBgAhqAUBAPIGACGpBQEA8gYAIaoFAQDyBgAhqwUBAPIGACGsBQEA8gYAIQiWBAAA3QcAMJcEAAC-AQAQmAQAAN0HADCZBAIA5wYAIfcEAQDxBgAh-AQBAPEGACGtBSAAngcAIa4FIACeBwAhCQMAAO8GACCWBAAA3gcAMJcEAACZAQAQmAQAAN4HADCZBAIApwcAIZoEAgCnBwAhqQQBAIIHACGqBAEA_QYAIasEQACoBwAhAsoEAgAAAAHLBAIAAAABCSQAAOIHACAzAAHhBwAhlgQAAOAHADCXBAAAhgEAEJgEAADgBwAwmQQCAKcHACGrBEAAqAcAIcoEAgCnBwAhywQCAKcHACEEmwQAAQAAAaYEAAGcBwAhpwQAAQAABKgEAAEAAAQTAwAA7wYAICMAAOYHACAlAADnBwAglgQAAOMHADCXBAAAgQEAEJgEAADjBwAwmQQCAKcHACGaBAIApwcAIakEAQCCBwAhqwRAAKgHACG8BAEA_QYAIb0EBADkBwAhwARAAKgHACHMBAIAqgcAIc0EIADlBwAhzgQCAKoHACHPBAEA_QYAIbYFAACBAQAgtwUAAIEBACARAwAA7wYAICMAAOYHACAlAADnBwAglgQAAOMHADCXBAAAgQEAEJgEAADjBwAwmQQCAKcHACGaBAIApwcAIakEAQCCBwAhqwRAAKgHACG8BAEA_QYAIb0EBADkBwAhwARAAKgHACHMBAIAqgcAIc0EIADlBwAhzgQCAKoHACHPBAEA_QYAIQibBAQAAAABogQEAAAAAaMEBAAAAAGkBAQAAAABpQQEAAAAAaYEBACLBwAhpwQEAAAABKgEBAAAAAQCmwQgAAAAAaYEIACgBwAhDwMAAO8GACAUAADrBwAgIQAA5gcAICIAAOoHACCWBAAA6QcAMJcEAAB7ABCYBAAA6QcAMJkEAgCnBwAhmgQCAKcHACGpBAEAggcAIasEQACoBwAhwARAAKgHACHQBAIAqgcAIbYFAAB7ACC3BQAAewAgA7AFAACGAQAgsQUAAIYBACCyBQAAhgEAIAOaBAIAAAABqQQBAAAAAdAEAgAAAAENAwAA7wYAIBQAAOsHACAhAADmBwAgIgAA6gcAIJYEAADpBwAwlwQAAHsAEJgEAADpBwAwmQQCAKcHACGaBAIApwcAIakEAQCCBwAhqwRAAKgHACHABEAAqAcAIdAEAgCqBwAhA7AFAAB7ACCxBQAAewAgsgUAAHsAIAOwBQAAgQEAILEFAACBAQAgsgUAAIEBACAKAwAA7wYAIJYEAADsBwAwlwQAAHcAEJgEAADsBwAwmQQCAKcHACGaBAIApwcAIasEQACoBwAh1wQAAO0H1wQi2AQBAIIHACHZBCAA5QcAIQSbBAAAANcEAqYEAACuB9cEIqcEAAAA1wQIqAQAAADXBAgJAwAA7wYAIJYEAADuBwAwlwQAAHMAEJgEAADuBwAwmQQCAKcHACGaBAIApwcAIasEQACoBwAh2gQBAIIHACHbBCAA5QcAIQcDAADvBgAglgQAAO8HADCXBAAAbwAQmAQAAO8HADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACECmgQCAAAAAfYEAQAAAAEJAwAA7wYAIJYEAADxBwAwlwQAAGoAEJgEAADxBwAwmQQCAKcHACGaBAIApwcAIfYEAQCCBwAh9wQBAIIHACH4BAEAggcAIQKaBAIAAAABlwUBAAAAAQsDAADvBgAgCAAA9AcAIAoAAPUHACCWBAAA8wcAMJcEAAAWABCYBAAA8wcAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIZcFAQCCBwAhmAUBAIIHACEDsAUAABAAILEFAAAQACCyBQAAEAAgA7AFAAAZACCxBQAAGQAgsgUAABkAIA0DAAD3BwAgBQAA-AcAIAgAAPQHACCWBAAA9gcAMJcEAAALABCYBAAA9gcAMJkEAgCnBwAhmgQCAKcHACGpBAEAggcAIasEQACoBwAhsgQBAP0GACGZBQEAggcAIZoFAQD9BgAhHQUAAPgHACAHAACgCAAgCAAA9AcAIBgAAKcIACAaAACfCAAgGwAAoQgAIBwAAKIIACAdAACjCAAgHgAApAgAIB8AAKUIACAgAACmCAAgJgAA6gcAICcAAOsHACAoAACoCAAgKQAAqQgAICoAAKoIACArAACrCAAgLAAArAgAIC0AAK0IACCWBAAAnggAMJcEAAANABCYBAAAnggAMJkEAgCnBwAh9wQBAIIHACH4BAEAggcAIa0FIADlBwAhrgUgAOUHACG2BQAADQAgtwUAAA0AIAOwBQAABwAgsQUAAAcAILIFAAAHACANBAAA-gcAIJYEAAD5BwAwlwQAAFcAEJgEAAD5BwAwmQQCAKcHACG5BAIApwcAIboEAQCCBwAhuwQBAIIHACG8BAEAggcAIb0EBADkBwAhvgQBAIIHACG_BEAAqAcAIcAEQACoBwAhIgMAAO8GACAFAAD4BwAgCAAA9AcAIA4AAKMIACATAAD1BwAgFwAAsggAIBgAAKcIACAZAACzCAAglgQAALEIADCXBAAAAwAQmAQAALEIADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACGyBAEA_QYAIcAEQACoBwAhxgQAAK8IoAUihgVAAKkHACGMBQEA_QYAIZoFAQCCBwAhoQUBAIIHACGiBQEAggcAIaMFAQCCBwAhpAUBAP0GACGlBQEA_QYAIaYFAQD9BgAhpwUBAP0GACGoBQEA_QYAIakFAQD9BgAhqgUBAP0GACGrBQEA_QYAIawFAQD9BgAhtgUAAAMAILcFAAADACAPAwAA9wcAIAQAAPoHACCWBAAA-wcAMJcEAABSABCYBAAA-wcAMJkEAgCnBwAhmgQCAKoHACGrBEAAqAcAIbkEAgCnBwAhwgQAAPwHwgQixAQAAP0HxAQixgQAAP4HxgQixwQBAP0GACHIBAIAqgcAIckEAQD9BgAhBJsEAAAAwgQCpgQAAJYHwgQipwQAAADCBAioBAAAAMIECASbBAAAAMQEAqYEAACUB8QEIqcEAAAAxAQIqAQAAADEBAgEmwQAAADGBAKmBAAAkgfGBCKnBAAAAMYECKgEAAAAxgQIGQQAAPoHACAMAACDCAAgDQAA9wcAIBAAAIQIACARAACFCAAglgQAAP8HADCXBAAAJQAQmAQAAP8HADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACG5BAIApwcAIcAEQACoBwAhxgQAAIII8AQi5QQBAP0GACHmBAIAqgcAIecEAgCqBwAh6AQQAIAIACHpBBAAgAgAIeoEEACACAAh6wQQAIAIACHsBBAAgQgAIe0EEACACAAh7gQQAIAIACHwBAEA_QYAIQibBBAAAAABogQQAAAAAaMEEAAAAAGkBBAAAAABpQQQAAAAAaYEEAC3BwAhpwQQAAAABKgEEAAAAAQImwQQAAAAAaIEEAAAAAGjBBAAAAABpAQQAAAAAaUEEAAAAAGmBBAAvgcAIacEEAAAAAWoBBAAAAAFBJsEAAAA8AQCpgQAALwH8AQipwQAAADwBAioBAAAAPAECB8DAAD3BwAgBAAA-gcAIAYAAIwIACAHAACcCAAgCQAAmAgAIA4AAJUIACARAACFCAAgEgAAnQgAIJYEAACZCAAwlwQAABAAEJgEAACZCAAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhuQQCAKcHACHABEAAqAcAIcYEAACbCI4FIoIFAgCnBwAhgwUCAKcHACGEBQEAggcAIYUFAQCCBwAhhgVAAKgHACGHBQEAggcAIYkFAACaCIkFIooFAACHBwAgiwVAAKgHACGMBQEAggcAIY4FAQD9BgAhjwUCAKoHACG2BQAAEAAgtwUAABAAIAOwBQAAKQAgsQUAACkAILIFAAApACADsAUAACAAILEFAAAgACCyBQAAIAAgCRUAAIcIACCWBAAAhggAMJcEAABKABCYBAAAhggAMJkEAgCnBwAhugQBAIIHACG_BEAAqAcAIfEEAAHhBwAh8gQCAKcHACEMBAAA-gcAIBYAAIoIACCWBAAAiAgAMJcEAABGABCYBAAAiAgAMJkEAgCnBwAhqwRAAKgHACG5BAIApwcAIfMEAQCCBwAh9QQAAIkI9QQitgUAAEYAILcFAABGACAKBAAA-gcAIBYAAIoIACCWBAAAiAgAMJcEAABGABCYBAAAiAgAMJkEAgCnBwAhqwRAAKgHACG5BAIApwcAIfMEAQCCBwAh9QQAAIkI9QQiBJsEAAAA9QQCpgQAAMMH9QQipwQAAAD1BAioBAAAAPUECAOwBQAASgAgsQUAAEoAILIFAABKACAJBgAAjAgAIJYEAACLCAAwlwQAAD0AEJgEAACLCAAwmQQCAKcHACG6BAEAggcAIbwEAQD9BgAhvgQBAP0GACGCBQIApwcAIRkDAADvBgAgBAAA-gcAIAcAAJwIACAIAAD0BwAgEwAA9QcAIBQAALAIACCWBAAArggAMJcEAAAHABCYBAAArggAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhxgQBAIIHACHXBAEAggcAIeUEAQD9BgAh8wQBAIIHACGDBQIApwcAIZsFQACoBwAhnAUBAIIHACGdBQEAggcAIZ4FAQD9BgAhoAUAAK8IoAUitgUAAAcAILcFAAAHACAJDAAAjggAIJYEAACNCAAwlwQAADIAEJgEAACNCAAwmQQCAKcHACG6BAEAggcAIbwEAQCCBwAhvgQBAP0GACHmBAIApwcAIR8DAAD3BwAgBAAA-gcAIAYAAIwIACAHAACcCAAgCQAAmAgAIA4AAJUIACARAACFCAAgEgAAnQgAIJYEAACZCAAwlwQAABAAEJgEAACZCAAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhuQQCAKcHACHABEAAqAcAIcYEAACbCI4FIoIFAgCnBwAhgwUCAKcHACGEBQEAggcAIYUFAQCCBwAhhgVAAKgHACGHBQEAggcAIYkFAACaCIkFIooFAACHBwAgiwVAAKgHACGMBQEAggcAIY4FAQD9BgAhjwUCAKoHACG2BQAAEAAgtwUAABAAIBAOAACRCAAgDwAAkggAIJYEAACPCAAwlwQAACkAEJgEAACPCAAwmQQCAKcHACGrBEAAqAcAIdwEAgCnBwAh3QQCAKcHACHeBAEA_QYAId8EEACACAAh4AQQAIAIACHiBAAAkAjiBCLjBEAAqAcAIeQEAQD9BgAh5QQBAP0GACEEmwQAAADiBAKmBAAAtQfiBCKnBAAAAOIECKgEAAAA4gQIGwQAAPoHACAMAACDCAAgDQAA9wcAIBAAAIQIACARAACFCAAglgQAAP8HADCXBAAAJQAQmAQAAP8HADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACG5BAIApwcAIcAEQACoBwAhxgQAAIII8AQi5QQBAP0GACHmBAIAqgcAIecEAgCqBwAh6AQQAIAIACHpBBAAgAgAIeoEEACACAAh6wQQAIAIACHsBBAAgQgAIe0EEACACAAh7gQQAIAIACHwBAEA_QYAIbYFAAAlACC3BQAAJQAgGQwAAIMIACAOAACVCAAgEAAAhAgAIJYEAACTCAAwlwQAACAAEJgEAACTCAAwmQQCAKcHACHGBAAAlAiCBSLcBAIAqgcAIeYEAgCqBwAh6AQQAIAIACHpBBAAgAgAIeoEEACACAAh6wQQAIAIACHwBAEA_QYAIfkEAQCCBwAh-gRAAKgHACH7BAEA_QYAIfwEAQD9BgAh_QQBAP0GACH-BAEA_QYAIf8EAQD9BgAhgAUQAIEIACG2BQAAIAAgtwUAACAAIBcMAACDCAAgDgAAlQgAIBAAAIQIACCWBAAAkwgAMJcEAAAgABCYBAAAkwgAMJkEAgCnBwAhxgQAAJQIggUi3AQCAKoHACHmBAIAqgcAIegEEACACAAh6QQQAIAIACHqBBAAgAgAIesEEACACAAh8AQBAP0GACH5BAEAggcAIfoEQACoBwAh-wQBAP0GACH8BAEA_QYAIf0EAQD9BgAh_gQBAP0GACH_BAEA_QYAIYAFEACBCAAhBJsEAAAAggUCpgQAAMkHggUipwQAAACCBQioBAAAAIIFCBsEAAD6BwAgDAAAgwgAIA0AAPcHACAQAACECAAgEQAAhQgAIJYEAAD_BwAwlwQAACUAEJgEAAD_BwAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhuQQCAKcHACHABEAAqAcAIcYEAACCCPAEIuUEAQD9BgAh5gQCAKoHACHnBAIAqgcAIegEEACACAAh6QQQAIAIACHqBBAAgAgAIesEEACACAAh7AQQAIEIACHtBBAAgAgAIe4EEACACAAh8AQBAP0GACG2BQAAJQAgtwUAACUAIBQEAAD6BwAgBgAAjAgAIAkAAJgIACCWBAAAlggAMJcEAAAZABCYBAAAlggAMJkEAgCnBwAhqwRAAKgHACG5BAIApwcAIfkEAQCCBwAh_QQBAP0GACH-BAEA_QYAIYIFAgCnBwAhjwUCAKoHACGQBQEA_QYAIZEFEACBCAAhkgUBAP0GACGTBQEA_QYAIZUFAACXCJUFIpYFAQD9BgAhBJsEAAAAlQUCpgQAANQHlQUipwQAAACVBQioBAAAAJUFCA0DAADvBgAgCAAA9AcAIAoAAPUHACCWBAAA8wcAMJcEAAAWABCYBAAA8wcAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIZcFAQCCBwAhmAUBAIIHACG2BQAAFgAgtwUAABYAIB0DAAD3BwAgBAAA-gcAIAYAAIwIACAHAACcCAAgCQAAmAgAIA4AAJUIACARAACFCAAgEgAAnQgAIJYEAACZCAAwlwQAABAAEJgEAACZCAAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhuQQCAKcHACHABEAAqAcAIcYEAACbCI4FIoIFAgCnBwAhgwUCAKcHACGEBQEAggcAIYUFAQCCBwAhhgVAAKgHACGHBQEAggcAIYkFAACaCIkFIooFAACHBwAgiwVAAKgHACGMBQEAggcAIY4FAQD9BgAhjwUCAKoHACEEmwQAAACJBQKmBAAA0AeJBSKnBAAAAIkFCKgEAAAAiQUIBJsEAAAAjgUCpgQAAM4HjgUipwQAAACOBQioBAAAAI4FCA8DAAD3BwAgBQAA-AcAIAgAAPQHACCWBAAA9gcAMJcEAAALABCYBAAA9gcAMJkEAgCnBwAhmgQCAKcHACGpBAEAggcAIasEQACoBwAhsgQBAP0GACGZBQEAggcAIZoFAQD9BgAhtgUAAAsAILcFAAALACADsAUAADIAILEFAAAyACCyBQAAMgAgGwUAAPgHACAHAACgCAAgCAAA9AcAIBgAAKcIACAaAACfCAAgGwAAoQgAIBwAAKIIACAdAACjCAAgHgAApAgAIB8AAKUIACAgAACmCAAgJgAA6gcAICcAAOsHACAoAACoCAAgKQAAqQgAICoAAKoIACArAACrCAAgLAAArAgAIC0AAK0IACCWBAAAnggAMJcEAAANABCYBAAAnggAMJkEAgCnBwAh9wQBAIIHACH4BAEAggcAIa0FIADlBwAhrgUgAOUHACEDsAUAAAMAILEFAAADACCyBQAAAwAgA7AFAAALACCxBQAACwAgsgUAAAsAIAOwBQAAFgAgsQUAABYAILIFAAAWACADsAUAAGoAILEFAABqACCyBQAAagAgA7AFAAAlACCxBQAAJQAgsgUAACUAIAOwBQAAbwAgsQUAAG8AILIFAABvACADsAUAAHMAILEFAABzACCyBQAAcwAgA7AFAAB3ACCxBQAAdwAgsgUAAHcAIAOwBQAAUgAgsQUAAFIAILIFAABSACANAwAA7wYAIJYEAACGBwAwlwQAAI8BABCYBAAAhgcAMJkEAgCnBwAhmgQCAKcHACGqBAEAggcAIbUEAQCCBwAhtgQBAIIHACG3BAEA_QYAIbgEAACHBwAgtgUAAI8BACC3BQAAjwEAIAkDAADvBgAglgQAAIEHADCXBAAAkQEAEJgEAACBBwAwmQQCAKcHACGaBAIApwcAIbQEAQCCBwAhtgUAAJEBACC3BQAAkQEAIAkDAADvBgAgMwAA7gYAIJYEAAD_BgAwlwQAAJMBABCYBAAA_wYAMJkEAgCnBwAhmgQCAKcHACG2BQAAkwEAILcFAACTAQAgDgMAAO8GACCWBAAA_AYAMJcEAACVAQAQmAQAAPwGADCZBAIApwcAIZoEAgCnBwAhqgQBAP0GACGvBAEA_QYAIbAEAQD9BgAhsQQBAP0GACGyBAEA_QYAIbMEAQD9BgAhtgUAAJUBACC3BQAAlQEAIAkDAADvBgAgMwAA7gYAIJYEAADtBgAwlwQAAJcBABCYBAAA7QYAMJkEAgCnBwAhmgQCAKcHACG2BQAAlwEAILcFAACXAQAgA7AFAACZAQAgsQUAAJkBACCyBQAAmQEAIBcDAADvBgAgBAAA-gcAIAcAAJwIACAIAAD0BwAgEwAA9QcAIBQAALAIACCWBAAArggAMJcEAAAHABCYBAAArggAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhxgQBAIIHACHXBAEAggcAIeUEAQD9BgAh8wQBAIIHACGDBQIApwcAIZsFQACoBwAhnAUBAIIHACGdBQEAggcAIZ4FAQD9BgAhoAUAAK8IoAUiBJsEAAAAoAUCpgQAANsHoAUipwQAAACgBQioBAAAAKAFCAOwBQAAPQAgsQUAAD0AILIFAAA9ACAgAwAA7wYAIAUAAPgHACAIAAD0BwAgDgAAowgAIBMAAPUHACAXAACyCAAgGAAApwgAIBkAALMIACCWBAAAsQgAMJcEAAADABCYBAAAsQgAMJkEAgCnBwAhmgQCAKcHACGrBEAAqAcAIbIEAQD9BgAhwARAAKgHACHGBAAArwigBSKGBUAAqQcAIYwFAQD9BgAhmgUBAIIHACGhBQEAggcAIaIFAQCCBwAhowUBAIIHACGkBQEA_QYAIaUFAQD9BgAhpgUBAP0GACGnBQEA_QYAIagFAQD9BgAhqQUBAP0GACGqBQEA_QYAIasFAQD9BgAhrAUBAP0GACEDsAUAAEYAILEFAABGACCyBQAARgAgA7AFAABXACCxBQAAVwAgsgUAAFcAIAAAAAAABbsFAgAAAAHBBQIAAAABwgUCAAAAAcMFAgAAAAHEBQIAAAABBToAANwQACA7AADfEAAguAUAAN0QACC5BQAA3hAAIL4FAAABACADOgAA3BAAILgFAADdEAAgvgUAAAEAIBMFAADADgAgBwAAwQ4AIAgAAMMOACAYAADLDgAgGgAAvw4AIBsAAMIOACAcAADEDgAgHQAAxQ4AIB4AAMYOACAfAADHDgAgIAAAyA4AICYAAMkOACAnAADKDgAgKAAAzA4AICkAAM0OACAqAADODgAgKwAAzw4AICwAANAOACAtAADRDgAgAAAAAAAAAbsFAQAAAAEBuwUBAAAAAQG7BUAAAAABBToAANcQACA7AADaEAAguAUAANgQACC5BQAA2RAAIL4FAAABACADOgAA1xAAILgFAADYEAAgvgUAAAEAIAAAAAAABToAANIQACA7AADVEAAguAUAANMQACC5BQAA1BAAIL4FAAABACADOgAA0hAAILgFAADTEAAgvgUAAAEAIAAAAAAABToAAM0QACA7AADQEAAguAUAAM4QACC5BQAAzxAAIL4FAAABACADOgAAzRAAILgFAADOEAAgvgUAAAEAIAAAAAAABToAAMgQACA7AADLEAAguAUAAMkQACC5BQAAyhAAIL4FAAABACADOgAAyBAAILgFAADJEAAgvgUAAAEAIAAAAAAABToAAMMQACA7AADGEAAguAUAAMQQACC5BQAAxRAAIL4FAAABACADOgAAwxAAILgFAADEEAAgvgUAAAEAIAAAAAAABbsFBAAAAAHBBQQAAAABwgUEAAAAAcMFBAAAAAHEBQQAAAABBToAAL4QACA7AADBEAAguAUAAL8QACC5BQAAwBAAIL4FAAAFACADOgAAvhAAILgFAAC_EAAgvgUAAAUAIAAAAAAAAbsFAAAAwgQCAbsFAAAAxAQCAbsFAAAAxgQCBbsFAgAAAAHBBQIAAAABwgUCAAAAAcMFAgAAAAHEBQIAAAABBToAALYQACA7AAC8EAAguAUAALcQACC5BQAAuxAAIL4FAAAFACAHOgAAtBAAIDsAALkQACC4BQAAtRAAILkFAAC4EAAgvAUAAA0AIL0FAAANACC-BQAAAQAgAzoAALYQACC4BQAAtxAAIL4FAAAFACADOgAAtBAAILgFAAC1EAAgvgUAAAEAIAAAAAAAAbsFAAEAAAEFOgAArxAAIDsAALIQACC4BQAAsBAAILkFAACxEAAgvgUAAIMBACADOgAArxAAILgFAACwEAAgvgUAAIMBACAAAAAAAAG7BSAAAAABBToAAKYQACA7AACtEAAguAUAAKcQACC5BQAArBAAIL4FAAABACAHOgAApBAAIDsAAKoQACC4BQAApRAAILkFAACpEAAgvAUAAHsAIL0FAAB7ACC-BQAAfQAgCzoAAIoJADA7AACPCQAwuAUAAIsJADC5BQAAjAkAMLoFAACNCQAguwUAAI4JADC8BQAAjgkAML0FAACOCQAwvgUAAI4JADC_BQAAkAkAMMAFAACRCQAwBDMAAQAAAZkEAgAAAAGrBEAAAAABywQCAAAAAQIAAACIAQAgOgAAlQkAIAMAAACIAQAgOgAAlQkAIDsAAJQJACABMwAAqBAAMAokAADiBwAgMwAB4QcAIZYEAADgBwAwlwQAAIYBABCYBAAA4AcAMJkEAgAAAAGrBEAAqAcAIcoEAgCnBwAhywQCAKcHACGvBQAA3wcAIAIAAACIAQAgMwAAlAkAIAIAAACSCQAgMwAAkwkAIAgzAAHhBwAhlgQAAJEJADCXBAAAkgkAEJgEAACRCQAwmQQCAKcHACGrBEAAqAcAIcoEAgCnBwAhywQCAKcHACEIMwAB4QcAIZYEAACRCQAwlwQAAJIJABCYBAAAkQkAMJkEAgCnBwAhqwRAAKgHACHKBAIApwcAIcsEAgCnBwAhBDMAAf4IACGZBAIAuQgAIasEQADFCAAhywQCALkIACEEMwAB_ggAIZkEAgC5CAAhqwRAAMUIACHLBAIAuQgAIQQzAAEAAAGZBAIAAAABqwRAAAAAAcsEAgAAAAEDOgAAphAAILgFAACnEAAgvgUAAAEAIAM6AACkEAAguAUAAKUQACC-BQAAfQAgBDoAAIoJADC4BQAAiwkAMLoFAACNCQAgvgUAAI4JADAAAAAAAAc6AACYEAAgOwAAohAAILgFAACZEAAguQUAAKEQACC8BQAAewAgvQUAAHsAIL4FAAB9ACALOgAArgkAMDsAALMJADC4BQAArwkAMLkFAACwCQAwugUAALEJACC7BQAAsgkAMLwFAACyCQAwvQUAALIJADC-BQAAsgkAML8FAAC0CQAwwAUAALUJADAFOgAAmhAAIDsAAJ8QACC4BQAAmxAAILkFAACeEAAgvgUAAAEAIAs6AACiCQAwOwAApwkAMLgFAACjCQAwuQUAAKQJADC6BQAApQkAILsFAACmCQAwvAUAAKYJADC9BQAApgkAML4FAACmCQAwvwUAAKgJADDABQAAqQkAMAwDAACWCQAgJQAAmAkAIJkEAgAAAAGaBAIAAAABqQQBAAAAAasEQAAAAAG8BAEAAAABvQQEAAAAAcAEQAAAAAHNBCAAAAABzgQCAAAAAc8EAQAAAAECAAAAgwEAIDoAAK0JACADAAAAgwEAIDoAAK0JACA7AACsCQAgATMAAJ0QADARAwAA7wYAICMAAOYHACAlAADnBwAglgQAAOMHADCXBAAAgQEAEJgEAADjBwAwmQQCAAAAAZoEAgCnBwAhqQQBAIIHACGrBEAAqAcAIbwEAQD9BgAhvQQEAOQHACHABEAAqAcAIcwEAgCqBwAhzQQgAOUHACHOBAIAqgcAIc8EAQD9BgAhAgAAAIMBACAzAACsCQAgAgAAAKoJACAzAACrCQAgDpYEAACpCQAwlwQAAKoJABCYBAAAqQkAMJkEAgCnBwAhmgQCAKcHACGpBAEAggcAIasEQACoBwAhvAQBAP0GACG9BAQA5AcAIcAEQACoBwAhzAQCAKoHACHNBCAA5QcAIc4EAgCqBwAhzwQBAP0GACEOlgQAAKkJADCXBAAAqgkAEJgEAACpCQAwmQQCAKcHACGaBAIApwcAIakEAQCCBwAhqwRAAKgHACG8BAEA_QYAIb0EBADkBwAhwARAAKgHACHMBAIAqgcAIc0EIADlBwAhzgQCAKoHACHPBAEA_QYAIQqZBAIAuQgAIZoEAgC5CAAhqQQBAMMIACGrBEAAxQgAIbwEAQDECAAhvQQEAOkIACHABEAAxQgAIc0EIACGCQAhzgQCAPQIACHPBAEAxAgAIQwDAACHCQAgJQAAiQkAIJkEAgC5CAAhmgQCALkIACGpBAEAwwgAIasEQADFCAAhvAQBAMQIACG9BAQA6QgAIcAEQADFCAAhzQQgAIYJACHOBAIA9AgAIc8EAQDECAAhDAMAAJYJACAlAACYCQAgmQQCAAAAAZoEAgAAAAGpBAEAAAABqwRAAAAAAbwEAQAAAAG9BAQAAAABwARAAAAAAc0EIAAAAAHOBAIAAAABzwQBAAAAAQgDAAC7CQAgFAAAvAkAICIAALoJACCZBAIAAAABmgQCAAAAAakEAQAAAAGrBEAAAAABwARAAAAAAQIAAAB9ACA6AAC5CQAgAwAAAH0AIDoAALkJACA7AAC4CQAgATMAAJwQADAOAwAA7wYAIBQAAOsHACAhAADmBwAgIgAA6gcAIJYEAADpBwAwlwQAAHsAEJgEAADpBwAwmQQCAAAAAZoEAgCnBwAhqQQBAIIHACGrBEAAqAcAIcAEQACoBwAh0AQCAKoHACGzBQAA6AcAIAIAAAB9ACAzAAC4CQAgAgAAALYJACAzAAC3CQAgCZYEAAC1CQAwlwQAALYJABCYBAAAtQkAMJkEAgCnBwAhmgQCAKcHACGpBAEAggcAIasEQACoBwAhwARAAKgHACHQBAIAqgcAIQmWBAAAtQkAMJcEAAC2CQAQmAQAALUJADCZBAIApwcAIZoEAgCnBwAhqQQBAIIHACGrBEAAqAcAIcAEQACoBwAh0AQCAKoHACEFmQQCALkIACGaBAIAuQgAIakEAQDDCAAhqwRAAMUIACHABEAAxQgAIQgDAACgCQAgFAAAoQkAICIAAJ8JACCZBAIAuQgAIZoEAgC5CAAhqQQBAMMIACGrBEAAxQgAIcAEQADFCAAhCAMAALsJACAUAAC8CQAgIgAAugkAIJkEAgAAAAGaBAIAAAABqQQBAAAAAasEQAAAAAHABEAAAAABBDoAAK4JADC4BQAArwkAMLoFAACxCQAgvgUAALIJADADOgAAmhAAILgFAACbEAAgvgUAAAEAIAQ6AACiCQAwuAUAAKMJADC6BQAApQkAIL4FAACmCQAwAzoAAJgQACC4BQAAmRAAIL4FAAB9ACAAAAAAAAG7BUAAAAABAAAAAAABuwUAAADXBAIFOgAAkxAAIDsAAJYQACC4BQAAlBAAILkFAACVEAAgvgUAAAEAIAM6AACTEAAguAUAAJQQACC-BQAAAQAgAAAAAAAFOgAAjhAAIDsAAJEQACC4BQAAjxAAILkFAACQEAAgvgUAAAEAIAM6AACOEAAguAUAAI8QACC-BQAAAQAgAAAAAAAFOgAAiRAAIDsAAIwQACC4BQAAihAAILkFAACLEAAgvgUAAAEAIAM6AACJEAAguAUAAIoQACC-BQAAAQAgAAAAAAAFuwUQAAAAAcEFEAAAAAHCBRAAAAABwwUQAAAAAcQFEAAAAAEBuwUAAADiBAIFOgAAgRAAIDsAAIcQACC4BQAAghAAILkFAACGEAAgvgUAAFAAIAU6AAD_DwAgOwAAhBAAILgFAACAEAAguQUAAIMQACC-BQAAIgAgAzoAAIEQACC4BQAAghAAIL4FAABQACADOgAA_w8AILgFAACAEAAgvgUAACIAIAAAAAAABbsFEAAAAAHBBRAAAAABwgUQAAAAAcMFEAAAAAHEBRAAAAABAbsFAAAA8AQCBzoAAOwPACA7AAD9DwAguAUAAO0PACC5BQAA_A8AILwFAAAQACC9BQAAEAAgvgUAABIAIAU6AADqDwAgOwAA-g8AILgFAADrDwAguQUAAPkPACC-BQAABQAgBzoAAOgPACA7AAD3DwAguAUAAOkPACC5BQAA9g8AILwFAAANACC9BQAADQAgvgUAAAEAIAs6AACOCgAwOwAAkgoAMLgFAACPCgAwuQUAAJAKADC6BQAAkQoAILsFAACDCgAwvAUAAIMKADC9BQAAgwoAML4FAACDCgAwvwUAAJMKADDABQAAhgoAMAs6AADxCQAwOwAA9gkAMLgFAADyCQAwuQUAAPMJADC6BQAA9AkAILsFAAD1CQAwvAUAAPUJADC9BQAA9QkAML4FAAD1CQAwvwUAAPcJADDABQAA-AkAMBIMAACMCgAgEAAAjQoAIJkEAgAAAAHGBAAAAIIFAuYEAgAAAAHoBBAAAAAB6QQQAAAAAeoEEAAAAAHrBBAAAAAB8AQBAAAAAfkEAQAAAAH6BEAAAAAB-wQBAAAAAfwEAQAAAAH9BAEAAAAB_gQBAAAAAf8EAQAAAAGABRAAAAABAgAAACIAIDoAAIsKACADAAAAIgAgOgAAiwoAIDsAAPwJACABMwAA9Q8AMBcMAACDCAAgDgAAlQgAIBAAAIQIACCWBAAAkwgAMJcEAAAgABCYBAAAkwgAMJkEAgAAAAHGBAAAlAiCBSLcBAIAqgcAIeYEAgCqBwAh6AQQAIAIACHpBBAAgAgAIeoEEACACAAh6wQQAIAIACHwBAEA_QYAIfkEAQCCBwAh-gRAAKgHACH7BAEA_QYAIfwEAQD9BgAh_QQBAP0GACH-BAEA_QYAIf8EAQD9BgAhgAUQAIEIACECAAAAIgAgMwAA_AkAIAIAAAD5CQAgMwAA-gkAIBSWBAAA-AkAMJcEAAD5CQAQmAQAAPgJADCZBAIApwcAIcYEAACUCIIFItwEAgCqBwAh5gQCAKoHACHoBBAAgAgAIekEEACACAAh6gQQAIAIACHrBBAAgAgAIfAEAQD9BgAh-QQBAIIHACH6BEAAqAcAIfsEAQD9BgAh_AQBAP0GACH9BAEA_QYAIf4EAQD9BgAh_wQBAP0GACGABRAAgQgAIRSWBAAA-AkAMJcEAAD5CQAQmAQAAPgJADCZBAIApwcAIcYEAACUCIIFItwEAgCqBwAh5gQCAKoHACHoBBAAgAgAIekEEACACAAh6gQQAIAIACHrBBAAgAgAIfAEAQD9BgAh-QQBAIIHACH6BEAAqAcAIfsEAQD9BgAh_AQBAP0GACH9BAEA_QYAIf4EAQD9BgAh_wQBAP0GACGABRAAgQgAIRCZBAIAuQgAIcYEAAD7CYIFIuYEAgD0CAAh6AQQAN8JACHpBBAA3wkAIeoEEADfCQAh6wQQAN8JACHwBAEAxAgAIfkEAQDDCAAh-gRAAMUIACH7BAEAxAgAIfwEAQDECAAh_QQBAMQIACH-BAEAxAgAIf8EAQDECAAhgAUQAOoJACEBuwUAAACCBQISDAAA_QkAIBAAAP4JACCZBAIAuQgAIcYEAAD7CYIFIuYEAgD0CAAh6AQQAN8JACHpBBAA3wkAIeoEEADfCQAh6wQQAN8JACHwBAEAxAgAIfkEAQDDCAAh-gRAAMUIACH7BAEAxAgAIfwEAQDECAAh_QQBAMQIACH-BAEAxAgAIf8EAQDECAAhgAUQAOoJACEHOgAA7w8AIDsAAPMPACC4BQAA8A8AILkFAADyDwAgvAUAABAAIL0FAAAQACC-BQAAEgAgCzoAAP8JADA7AACECgAwuAUAAIAKADC5BQAAgQoAMLoFAACCCgAguwUAAIMKADC8BQAAgwoAML0FAACDCgAwvgUAAIMKADC_BQAAhQoAMMAFAACGCgAwCw4AAOMJACCZBAIAAAABqwRAAAAAAdwEAgAAAAHeBAEAAAAB3wQQAAAAAeAEEAAAAAHiBAAAAOIEAuMEQAAAAAHkBAEAAAAB5QQBAAAAAQIAAAArACA6AACKCgAgAwAAACsAIDoAAIoKACA7AACJCgAgATMAAPEPADAQDgAAkQgAIA8AAJIIACCWBAAAjwgAMJcEAAApABCYBAAAjwgAMJkEAgAAAAGrBEAAqAcAIdwEAgCnBwAh3QQCAKcHACHeBAEA_QYAId8EEACACAAh4AQQAIAIACHiBAAAkAjiBCLjBEAAqAcAIeQEAQD9BgAh5QQBAP0GACECAAAAKwAgMwAAiQoAIAIAAACHCgAgMwAAiAoAIA6WBAAAhgoAMJcEAACHCgAQmAQAAIYKADCZBAIApwcAIasEQACoBwAh3AQCAKcHACHdBAIApwcAId4EAQD9BgAh3wQQAIAIACHgBBAAgAgAIeIEAACQCOIEIuMEQACoBwAh5AQBAP0GACHlBAEA_QYAIQ6WBAAAhgoAMJcEAACHCgAQmAQAAIYKADCZBAIApwcAIasEQACoBwAh3AQCAKcHACHdBAIApwcAId4EAQD9BgAh3wQQAIAIACHgBBAAgAgAIeIEAACQCOIEIuMEQACoBwAh5AQBAP0GACHlBAEA_QYAIQqZBAIAuQgAIasEQADFCAAh3AQCALkIACHeBAEAxAgAId8EEADfCQAh4AQQAN8JACHiBAAA4AniBCLjBEAAxQgAIeQEAQDECAAh5QQBAMQIACELDgAA4QkAIJkEAgC5CAAhqwRAAMUIACHcBAIAuQgAId4EAQDECAAh3wQQAN8JACHgBBAA3wkAIeIEAADgCeIEIuMEQADFCAAh5AQBAMQIACHlBAEAxAgAIQsOAADjCQAgmQQCAAAAAasEQAAAAAHcBAIAAAAB3gQBAAAAAd8EEAAAAAHgBBAAAAAB4gQAAADiBALjBEAAAAAB5AQBAAAAAeUEAQAAAAESDAAAjAoAIBAAAI0KACCZBAIAAAABxgQAAACCBQLmBAIAAAAB6AQQAAAAAekEEAAAAAHqBBAAAAAB6wQQAAAAAfAEAQAAAAH5BAEAAAAB-gRAAAAAAfsEAQAAAAH8BAEAAAAB_QQBAAAAAf4EAQAAAAH_BAEAAAABgAUQAAAAAQM6AADvDwAguAUAAPAPACC-BQAAEgAgBDoAAP8JADC4BQAAgAoAMLoFAACCCgAgvgUAAIMKADALDwAA5AkAIJkEAgAAAAGrBEAAAAAB3QQCAAAAAd4EAQAAAAHfBBAAAAAB4AQQAAAAAeIEAAAA4gQC4wRAAAAAAeQEAQAAAAHlBAEAAAABAgAAACsAIDoAAJYKACADAAAAKwAgOgAAlgoAIDsAAJUKACABMwAA7g8AMAIAAAArACAzAACVCgAgAgAAAIcKACAzAACUCgAgCpkEAgC5CAAhqwRAAMUIACHdBAIAuQgAId4EAQDECAAh3wQQAN8JACHgBBAA3wkAIeIEAADgCeIEIuMEQADFCAAh5AQBAMQIACHlBAEAxAgAIQsPAADiCQAgmQQCALkIACGrBEAAxQgAId0EAgC5CAAh3gQBAMQIACHfBBAA3wkAIeAEEADfCQAh4gQAAOAJ4gQi4wRAAMUIACHkBAEAxAgAIeUEAQDECAAhCw8AAOQJACCZBAIAAAABqwRAAAAAAd0EAgAAAAHeBAEAAAAB3wQQAAAAAeAEEAAAAAHiBAAAAOIEAuMEQAAAAAHkBAEAAAAB5QQBAAAAAQM6AADsDwAguAUAAO0PACC-BQAAEgAgAzoAAOoPACC4BQAA6w8AIL4FAAAFACADOgAA6A8AILgFAADpDwAgvgUAAAEAIAQ6AACOCgAwuAUAAI8KADC6BQAAkQoAIL4FAACDCgAwBDoAAPEJADC4BQAA8gkAMLoFAAD0CQAgvgUAAPUJADAAAAAAAAU6AADjDwAgOwAA5g8AILgFAADkDwAguQUAAOUPACC-BQAASAAgAzoAAOMPACC4BQAA5A8AIL4FAABIACAAAAAAAAG7BQAAAPUEAgU6AADdDwAgOwAA4Q8AILgFAADeDwAguQUAAOAPACC-BQAABQAgCzoAAKsKADA7AACwCgAwuAUAAKwKADC5BQAArQoAMLoFAACuCgAguwUAAK8KADC8BQAArwoAML0FAACvCgAwvgUAAK8KADC_BQAAsQoAMMAFAACyCgAwBJkEAgAAAAG6BAEAAAABvwRAAAAAAfEEAAEAAAECAAAATAAgOgAAtgoAIAMAAABMACA6AAC2CgAgOwAAtQoAIAEzAADfDwAwCRUAAIcIACCWBAAAhggAMJcEAABKABCYBAAAhggAMJkEAgAAAAG6BAEAggcAIb8EQACoBwAh8QQAAeEHACHyBAIApwcAIQIAAABMACAzAAC1CgAgAgAAALMKACAzAAC0CgAgCJYEAACyCgAwlwQAALMKABCYBAAAsgoAMJkEAgCnBwAhugQBAIIHACG_BEAAqAcAIfEEAAHhBwAh8gQCAKcHACEIlgQAALIKADCXBAAAswoAEJgEAACyCgAwmQQCAKcHACG6BAEAggcAIb8EQACoBwAh8QQAAeEHACHyBAIApwcAIQSZBAIAuQgAIboEAQDDCAAhvwRAAMUIACHxBAAB_ggAIQSZBAIAuQgAIboEAQDDCAAhvwRAAMUIACHxBAAB_ggAIQSZBAIAAAABugQBAAAAAb8EQAAAAAHxBAABAAABAzoAAN0PACC4BQAA3g8AIL4FAAAFACAEOgAAqwoAMLgFAACsCgAwugUAAK4KACC-BQAArwoAMAAAAAAABToAANgPACA7AADbDwAguAUAANkPACC5BQAA2g8AIL4FAAABACADOgAA2A8AILgFAADZDwAgvgUAAAEAIAAAAAAABToAANMPACA7AADWDwAguAUAANQPACC5BQAA1Q8AIL4FAAASACADOgAA0w8AILgFAADUDwAgvgUAABIAIAAAAAAABzoAAM4PACA7AADRDwAguAUAAM8PACC5BQAA0A8AILwFAAAlACC9BQAAJQAgvgUAAFAAIAM6AADODwAguAUAAM8PACC-BQAAUAAgAAAAAAABuwUAAACJBQIBuwUAAACOBQIFOgAAuw8AIDsAAMwPACC4BQAAvA8AILkFAADLDwAgvgUAAAUAIAU6AAC5DwAgOwAAyQ8AILgFAAC6DwAguQUAAMgPACC-BQAACQAgBzoAALcPACA7AADGDwAguAUAALgPACC5BQAAxQ8AILwFAAANACC9BQAADQAgvgUAAAEAIAc6AAC1DwAgOwAAww8AILgFAAC2DwAguQUAAMIPACC8BQAACwAgvQUAAAsAIL4FAABkACAHOgAAsw8AIDsAAMAPACC4BQAAtA8AILkFAAC_DwAgvAUAABYAIL0FAAAWACC-BQAAZwAgCzoAAO4KADA7AADyCgAwuAUAAO8KADC5BQAA8AoAMLoFAADxCgAguwUAAPUJADC8BQAA9QkAML0FAAD1CQAwvgUAAPUJADC_BQAA8woAMMAFAAD4CQAwCzoAAOIKADA7AADnCgAwuAUAAOMKADC5BQAA5AoAMLoFAADlCgAguwUAAOYKADC8BQAA5goAML0FAADmCgAwvgUAAOYKADC_BQAA6AoAMMAFAADpCgAwBzoAAN0KACA7AADgCgAguAUAAN4KACC5BQAA3woAILwFAAAlACC9BQAAJQAgvgUAAFAAIBQEAACYCgAgDQAAmQoAIBAAAJoKACARAACbCgAgmQQCAAAAAZoEAgAAAAGrBEAAAAABuQQCAAAAAcAEQAAAAAHGBAAAAPAEAuUEAQAAAAHnBAIAAAAB6AQQAAAAAekEEAAAAAHqBBAAAAAB6wQQAAAAAewEEAAAAAHtBBAAAAAB7gQQAAAAAfAEAQAAAAECAAAAUAAgOgAA3QoAIAMAAAAlACA6AADdCgAgOwAA4QoAIBYAAAAlACAEAADtCQAgDQAA7gkAIBAAAO8JACARAADwCQAgMwAA4QoAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA6wnwBCLlBAEAxAgAIecEAgD0CAAh6AQQAN8JACHpBBAA3wkAIeoEEADfCQAh6wQQAN8JACHsBBAA6gkAIe0EEADfCQAh7gQQAN8JACHwBAEAxAgAIRQEAADtCQAgDQAA7gkAIBAAAO8JACARAADwCQAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhuQQCALkIACHABEAAxQgAIcYEAADrCfAEIuUEAQDECAAh5wQCAPQIACHoBBAA3wkAIekEEADfCQAh6gQQAN8JACHrBBAA3wkAIewEEADqCQAh7QQQAN8JACHuBBAA3wkAIfAEAQDECAAhBJkEAgAAAAG6BAEAAAABvAQBAAAAAb4EAQAAAAECAAAANAAgOgAA7QoAIAMAAAA0ACA6AADtCgAgOwAA7AoAIAEzAAC-DwAwCQwAAI4IACCWBAAAjQgAMJcEAAAyABCYBAAAjQgAMJkEAgAAAAG6BAEAggcAIbwEAQCCBwAhvgQBAP0GACHmBAIApwcAIQIAAAA0ACAzAADsCgAgAgAAAOoKACAzAADrCgAgCJYEAADpCgAwlwQAAOoKABCYBAAA6QoAMJkEAgCnBwAhugQBAIIHACG8BAEAggcAIb4EAQD9BgAh5gQCAKcHACEIlgQAAOkKADCXBAAA6goAEJgEAADpCgAwmQQCAKcHACG6BAEAggcAIbwEAQCCBwAhvgQBAP0GACHmBAIApwcAIQSZBAIAuQgAIboEAQDDCAAhvAQBAMMIACG-BAEAxAgAIQSZBAIAuQgAIboEAQDDCAAhvAQBAMMIACG-BAEAxAgAIQSZBAIAAAABugQBAAAAAbwEAQAAAAG-BAEAAAABEg4AAM0KACAQAACNCgAgmQQCAAAAAcYEAAAAggUC3AQCAAAAAegEEAAAAAHpBBAAAAAB6gQQAAAAAesEEAAAAAHwBAEAAAAB-QQBAAAAAfoEQAAAAAH7BAEAAAAB_AQBAAAAAf0EAQAAAAH-BAEAAAAB_wQBAAAAAYAFEAAAAAECAAAAIgAgOgAA9goAIAMAAAAiACA6AAD2CgAgOwAA9QoAIAEzAAC9DwAwAgAAACIAIDMAAPUKACACAAAA-QkAIDMAAPQKACAQmQQCALkIACHGBAAA-wmCBSLcBAIA9AgAIegEEADfCQAh6QQQAN8JACHqBBAA3wkAIesEEADfCQAh8AQBAMQIACH5BAEAwwgAIfoEQADFCAAh-wQBAMQIACH8BAEAxAgAIf0EAQDECAAh_gQBAMQIACH_BAEAxAgAIYAFEADqCQAhEg4AAMwKACAQAAD-CQAgmQQCALkIACHGBAAA-wmCBSLcBAIA9AgAIegEEADfCQAh6QQQAN8JACHqBBAA3wkAIesEEADfCQAh8AQBAMQIACH5BAEAwwgAIfoEQADFCAAh-wQBAMQIACH8BAEAxAgAIf0EAQDECAAh_gQBAMQIACH_BAEAxAgAIYAFEADqCQAhEg4AAM0KACAQAACNCgAgmQQCAAAAAcYEAAAAggUC3AQCAAAAAegEEAAAAAHpBBAAAAAB6gQQAAAAAesEEAAAAAHwBAEAAAAB-QQBAAAAAfoEQAAAAAH7BAEAAAAB_AQBAAAAAf0EAQAAAAH-BAEAAAAB_wQBAAAAAYAFEAAAAAEDOgAAuw8AILgFAAC8DwAgvgUAAAUAIAM6AAC5DwAguAUAALoPACC-BQAACQAgAzoAALcPACC4BQAAuA8AIL4FAAABACADOgAAtQ8AILgFAAC2DwAgvgUAAGQAIAM6AACzDwAguAUAALQPACC-BQAAZwAgBDoAAO4KADC4BQAA7woAMLoFAADxCgAgvgUAAPUJADAEOgAA4goAMLgFAADjCgAwugUAAOUKACC-BQAA5goAMAM6AADdCgAguAUAAN4KACC-BQAAUAAgAAAAAAABuwUAAACVBQIFOgAAqA8AIDsAALEPACC4BQAAqQ8AILkFAACwDwAgvgUAAAkAIAU6AACmDwAgOwAArg8AILgFAACnDwAguQUAAK0PACC-BQAABQAgBzoAAKQPACA7AACrDwAguAUAAKUPACC5BQAAqg8AILwFAAAWACC9BQAAFgAgvgUAAGcAIAM6AACoDwAguAUAAKkPACC-BQAACQAgAzoAAKYPACC4BQAApw8AIL4FAAAFACADOgAApA8AILgFAAClDwAgvgUAAGcAIAAAAAAABToAAJ0PACA7AACiDwAguAUAAJ4PACC5BQAAoQ8AIL4FAAABACALOgAAnwsAMDsAAKQLADC4BQAAoAsAMLkFAAChCwAwugUAAKILACC7BQAAowsAMLwFAACjCwAwvQUAAKMLADC-BQAAowsAML8FAAClCwAwwAUAAKYLADALOgAAkwsAMDsAAJgLADC4BQAAlAsAMLkFAACVCwAwugUAAJYLACC7BQAAlwsAMLwFAACXCwAwvQUAAJcLADC-BQAAlwsAML8FAACZCwAwwAUAAJoLADAPBAAAiQsAIAYAAIgLACCZBAIAAAABqwRAAAAAAbkEAgAAAAH5BAEAAAAB_QQBAAAAAf4EAQAAAAGCBQIAAAABkAUBAAAAAZEFEAAAAAGSBQEAAAABkwUBAAAAAZUFAAAAlQUClgUBAAAAAQIAAAAbACA6AACeCwAgAwAAABsAIDoAAJ4LACA7AACdCwAgATMAAKAPADAUBAAA-gcAIAYAAIwIACAJAACYCAAglgQAAJYIADCXBAAAGQAQmAQAAJYIADCZBAIAAAABqwRAAKgHACG5BAIApwcAIfkEAQCCBwAh_QQBAP0GACH-BAEA_QYAIYIFAgCnBwAhjwUCAKoHACGQBQEA_QYAIZEFEACBCAAhkgUBAP0GACGTBQEA_QYAIZUFAACXCJUFIpYFAQD9BgAhAgAAABsAIDMAAJ0LACACAAAAmwsAIDMAAJwLACARlgQAAJoLADCXBAAAmwsAEJgEAACaCwAwmQQCAKcHACGrBEAAqAcAIbkEAgCnBwAh-QQBAIIHACH9BAEA_QYAIf4EAQD9BgAhggUCAKcHACGPBQIAqgcAIZAFAQD9BgAhkQUQAIEIACGSBQEA_QYAIZMFAQD9BgAhlQUAAJcIlQUilgUBAP0GACERlgQAAJoLADCXBAAAmwsAEJgEAACaCwAwmQQCAKcHACGrBEAAqAcAIbkEAgCnBwAh-QQBAIIHACH9BAEA_QYAIf4EAQD9BgAhggUCAKcHACGPBQIAqgcAIZAFAQD9BgAhkQUQAIEIACGSBQEA_QYAIZMFAQD9BgAhlQUAAJcIlQUilgUBAP0GACENmQQCALkIACGrBEAAxQgAIbkEAgC5CAAh-QQBAMMIACH9BAEAxAgAIf4EAQDECAAhggUCALkIACGQBQEAxAgAIZEFEADqCQAhkgUBAMQIACGTBQEAxAgAIZUFAACEC5UFIpYFAQDECAAhDwQAAIYLACAGAACFCwAgmQQCALkIACGrBEAAxQgAIbkEAgC5CAAh-QQBAMMIACH9BAEAxAgAIf4EAQDECAAhggUCALkIACGQBQEAxAgAIZEFEADqCQAhkgUBAMQIACGTBQEAxAgAIZUFAACEC5UFIpYFAQDECAAhDwQAAIkLACAGAACICwAgmQQCAAAAAasEQAAAAAG5BAIAAAAB-QQBAAAAAf0EAQAAAAH-BAEAAAABggUCAAAAAZAFAQAAAAGRBRAAAAABkgUBAAAAAZMFAQAAAAGVBQAAAJUFApYFAQAAAAEYAwAA-QoAIAQAAPcKACAGAAD4CgAgBwAA-goAIA4AAP4KACARAAD8CgAgEgAA_QoAIJkEAgAAAAGaBAIAAAABqwRAAAAAAbkEAgAAAAHABEAAAAABxgQAAACOBQKCBQIAAAABgwUCAAAAAYQFAQAAAAGFBQEAAAABhgVAAAAAAYcFAQAAAAGJBQAAAIkFAooFgAAAAAGLBUAAAAABjAUBAAAAAY4FAQAAAAECAAAAEgAgOgAAqgsAIAMAAAASACA6AACqCwAgOwAAqQsAIAEzAACfDwAwHQMAAPcHACAEAAD6BwAgBgAAjAgAIAcAAJwIACAJAACYCAAgDgAAlQgAIBEAAIUIACASAACdCAAglgQAAJkIADCXBAAAEAAQmAQAAJkIADCZBAIAAAABmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhwARAAKgHACHGBAAAmwiOBSKCBQIApwcAIYMFAgCnBwAhhAUBAIIHACGFBQEAggcAIYYFQACoBwAhhwUBAIIHACGJBQAAmgiJBSKKBQAAhwcAIIsFQACoBwAhjAUBAIIHACGOBQEA_QYAIY8FAgCqBwAhAgAAABIAIDMAAKkLACACAAAApwsAIDMAAKgLACAVlgQAAKYLADCXBAAApwsAEJgEAACmCwAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhuQQCAKcHACHABEAAqAcAIcYEAACbCI4FIoIFAgCnBwAhgwUCAKcHACGEBQEAggcAIYUFAQCCBwAhhgVAAKgHACGHBQEAggcAIYkFAACaCIkFIooFAACHBwAgiwVAAKgHACGMBQEAggcAIY4FAQD9BgAhjwUCAKoHACEVlgQAAKYLADCXBAAApwsAEJgEAACmCwAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhuQQCAKcHACHABEAAqAcAIcYEAACbCI4FIoIFAgCnBwAhgwUCAKcHACGEBQEAggcAIYUFAQCCBwAhhgVAAKgHACGHBQEAggcAIYkFAACaCIkFIooFAACHBwAgiwVAAKgHACGMBQEAggcAIY4FAQD9BgAhjwUCAKoHACERmQQCALkIACGaBAIAuQgAIasEQADFCAAhuQQCALkIACHABEAAxQgAIcYEAADUCo4FIoIFAgC5CAAhgwUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACEYAwAA1woAIAQAANUKACAGAADWCgAgBwAA2AoAIA4AANwKACARAADaCgAgEgAA2woAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA1AqOBSKCBQIAuQgAIYMFAgC5CAAhhAUBAMMIACGFBQEAwwgAIYYFQADFCAAhhwUBAMMIACGJBQAA0wqJBSKKBYAAAAABiwVAAMUIACGMBQEAwwgAIY4FAQDECAAhGAMAAPkKACAEAAD3CgAgBgAA-AoAIAcAAPoKACAOAAD-CgAgEQAA_AoAIBIAAP0KACCZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABAzoAAJ0PACC4BQAAng8AIL4FAAABACAEOgAAnwsAMLgFAACgCwAwugUAAKILACC-BQAAowsAMAQ6AACTCwAwuAUAAJQLADC6BQAAlgsAIL4FAACXCwAwAAAAAAAHOgAAiQ8AIDsAAJsPACC4BQAAig8AILkFAACaDwAgvAUAAA0AIL0FAAANACC-BQAAAQAgCzoAAL8LADA7AADECwAwuAUAAMALADC5BQAAwQsAMLoFAADCCwAguwUAAMMLADC8BQAAwwsAML0FAADDCwAwvgUAAMMLADC_BQAAxQsAMMAFAADGCwAwCzoAALYLADA7AAC6CwAwuAUAALcLADC5BQAAuAsAMLoFAAC5CwAguwUAAKMLADC8BQAAowsAML0FAACjCwAwvgUAAKMLADC_BQAAuwsAMMAFAACmCwAwGAMAAPkKACAEAAD3CgAgBgAA-AoAIAkAAPsKACAOAAD-CgAgEQAA_AoAIBIAAP0KACCZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYQFAQAAAAGFBQEAAAABhgVAAAAAAYcFAQAAAAGJBQAAAIkFAooFgAAAAAGLBUAAAAABjAUBAAAAAY4FAQAAAAGPBQIAAAABAgAAABIAIDoAAL4LACADAAAAEgAgOgAAvgsAIDsAAL0LACABMwAAmQ8AMAIAAAASACAzAAC9CwAgAgAAAKcLACAzAAC8CwAgEZkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA1AqOBSKCBQIAuQgAIYQFAQDDCAAhhQUBAMMIACGGBUAAxQgAIYcFAQDDCAAhiQUAANMKiQUiigWAAAAAAYsFQADFCAAhjAUBAMMIACGOBQEAxAgAIY8FAgD0CAAhGAMAANcKACAEAADVCgAgBgAA1goAIAkAANkKACAOAADcCgAgEQAA2goAIBIAANsKACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACG5BAIAuQgAIcAEQADFCAAhxgQAANQKjgUiggUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACGPBQIA9AgAIRgDAAD5CgAgBAAA9woAIAYAAPgKACAJAAD7CgAgDgAA_goAIBEAAPwKACASAAD9CgAgmQQCAAAAAZoEAgAAAAGrBEAAAAABuQQCAAAAAcAEQAAAAAHGBAAAAI4FAoIFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAARIDAADwCwAgBAAA7wsAIAgAAPILACATAADxCwAgFAAA8wsAIJkEAgAAAAGaBAIAAAABqwRAAAAAAbkEAgAAAAHGBAEAAAAB1wQBAAAAAeUEAQAAAAHzBAEAAAABmwVAAAAAAZwFAQAAAAGdBQEAAAABngUBAAAAAaAFAAAAoAUCAgAAAAkAIDoAAO4LACADAAAACQAgOgAA7gsAIDsAAMoLACABMwAAmA8AMBcDAADvBgAgBAAA-gcAIAcAAJwIACAIAAD0BwAgEwAA9QcAIBQAALAIACCWBAAArggAMJcEAAAHABCYBAAArggAMJkEAgAAAAGaBAIApwcAIasEQACoBwAhuQQCAKcHACHGBAEAggcAIdcEAQCCBwAh5QQBAP0GACHzBAEAggcAIYMFAgCnBwAhmwVAAKgHACGcBQEAggcAIZ0FAQCCBwAhngUBAP0GACGgBQAArwigBSICAAAACQAgMwAAygsAIAIAAADHCwAgMwAAyAsAIBGWBAAAxgsAMJcEAADHCwAQmAQAAMYLADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACG5BAIApwcAIcYEAQCCBwAh1wQBAIIHACHlBAEA_QYAIfMEAQCCBwAhgwUCAKcHACGbBUAAqAcAIZwFAQCCBwAhnQUBAIIHACGeBQEA_QYAIaAFAACvCKAFIhGWBAAAxgsAMJcEAADHCwAQmAQAAMYLADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACG5BAIApwcAIcYEAQCCBwAh1wQBAIIHACHlBAEA_QYAIfMEAQCCBwAhgwUCAKcHACGbBUAAqAcAIZwFAQCCBwAhnQUBAIIHACGeBQEA_QYAIaAFAACvCKAFIg2ZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACG5BAIAuQgAIcYEAQDDCAAh1wQBAMMIACHlBAEAxAgAIfMEAQDDCAAhmwVAAMUIACGcBQEAwwgAIZ0FAQDDCAAhngUBAMQIACGgBQAAyQugBSIBuwUAAACgBQISAwAAzAsAIAQAAMsLACAIAADOCwAgEwAAzQsAIBQAAM8LACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACG5BAIAuQgAIcYEAQDDCAAh1wQBAMMIACHlBAEAxAgAIfMEAQDDCAAhmwVAAMUIACGcBQEAwwgAIZ0FAQDDCAAhngUBAMQIACGgBQAAyQugBSIFOgAAjQ8AIDsAAJYPACC4BQAAjg8AILkFAACVDwAgvgUAAAUAIAU6AACLDwAgOwAAkw8AILgFAACMDwAguQUAAJIPACC-BQAAAQAgCzoAAOULADA7AADpCwAwuAUAAOYLADC5BQAA5wsAMLoFAADoCwAguwUAAJcLADC8BQAAlwsAML0FAACXCwAwvgUAAJcLADC_BQAA6gsAMMAFAACaCwAwCzoAANwLADA7AADgCwAwuAUAAN0LADC5BQAA3gsAMLoFAADfCwAguwUAAKMLADC8BQAAowsAML0FAACjCwAwvgUAAKMLADC_BQAA4QsAMMAFAACmCwAwCzoAANALADA7AADVCwAwuAUAANELADC5BQAA0gsAMLoFAADTCwAguwUAANQLADC8BQAA1AsAML0FAADUCwAwvgUAANQLADC_BQAA1gsAMMAFAADXCwAwBJkEAgAAAAG6BAEAAAABvAQBAAAAAb4EAQAAAAECAAAAPwAgOgAA2wsAIAMAAAA_ACA6AADbCwAgOwAA2gsAIAEzAACRDwAwCQYAAIwIACCWBAAAiwgAMJcEAAA9ABCYBAAAiwgAMJkEAgAAAAG6BAEAggcAIbwEAQD9BgAhvgQBAP0GACGCBQIApwcAIQIAAAA_ACAzAADaCwAgAgAAANgLACAzAADZCwAgCJYEAADXCwAwlwQAANgLABCYBAAA1wsAMJkEAgCnBwAhugQBAIIHACG8BAEA_QYAIb4EAQD9BgAhggUCAKcHACEIlgQAANcLADCXBAAA2AsAEJgEAADXCwAwmQQCAKcHACG6BAEAggcAIbwEAQD9BgAhvgQBAP0GACGCBQIApwcAIQSZBAIAuQgAIboEAQDDCAAhvAQBAMQIACG-BAEAxAgAIQSZBAIAuQgAIboEAQDDCAAhvAQBAMQIACG-BAEAxAgAIQSZBAIAAAABugQBAAAAAbwEAQAAAAG-BAEAAAABGAMAAPkKACAEAAD3CgAgBwAA-goAIAkAAPsKACAOAAD-CgAgEQAA_AoAIBIAAP0KACCZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCgwUCAAAAAYQFAQAAAAGFBQEAAAABhgVAAAAAAYcFAQAAAAGJBQAAAIkFAooFgAAAAAGLBUAAAAABjAUBAAAAAY4FAQAAAAGPBQIAAAABAgAAABIAIDoAAOQLACADAAAAEgAgOgAA5AsAIDsAAOMLACABMwAAkA8AMAIAAAASACAzAADjCwAgAgAAAKcLACAzAADiCwAgEZkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA1AqOBSKDBQIAuQgAIYQFAQDDCAAhhQUBAMMIACGGBUAAxQgAIYcFAQDDCAAhiQUAANMKiQUiigWAAAAAAYsFQADFCAAhjAUBAMMIACGOBQEAxAgAIY8FAgD0CAAhGAMAANcKACAEAADVCgAgBwAA2AoAIAkAANkKACAOAADcCgAgEQAA2goAIBIAANsKACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACG5BAIAuQgAIcAEQADFCAAhxgQAANQKjgUigwUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACGPBQIA9AgAIRgDAAD5CgAgBAAA9woAIAcAAPoKACAJAAD7CgAgDgAA_goAIBEAAPwKACASAAD9CgAgmQQCAAAAAZoEAgAAAAGrBEAAAAABuQQCAAAAAcAEQAAAAAHGBAAAAI4FAoMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAAQ8EAACJCwAgCQAAigsAIJkEAgAAAAGrBEAAAAABuQQCAAAAAfkEAQAAAAH9BAEAAAAB_gQBAAAAAY8FAgAAAAGQBQEAAAABkQUQAAAAAZIFAQAAAAGTBQEAAAABlQUAAACVBQKWBQEAAAABAgAAABsAIDoAAO0LACADAAAAGwAgOgAA7QsAIDsAAOwLACABMwAAjw8AMAIAAAAbACAzAADsCwAgAgAAAJsLACAzAADrCwAgDZkEAgC5CAAhqwRAAMUIACG5BAIAuQgAIfkEAQDDCAAh_QQBAMQIACH-BAEAxAgAIY8FAgD0CAAhkAUBAMQIACGRBRAA6gkAIZIFAQDECAAhkwUBAMQIACGVBQAAhAuVBSKWBQEAxAgAIQ8EAACGCwAgCQAAhwsAIJkEAgC5CAAhqwRAAMUIACG5BAIAuQgAIfkEAQDDCAAh_QQBAMQIACH-BAEAxAgAIY8FAgD0CAAhkAUBAMQIACGRBRAA6gkAIZIFAQDECAAhkwUBAMQIACGVBQAAhAuVBSKWBQEAxAgAIQ8EAACJCwAgCQAAigsAIJkEAgAAAAGrBEAAAAABuQQCAAAAAfkEAQAAAAH9BAEAAAAB_gQBAAAAAY8FAgAAAAGQBQEAAAABkQUQAAAAAZIFAQAAAAGTBQEAAAABlQUAAACVBQKWBQEAAAABEgMAAPALACAEAADvCwAgCAAA8gsAIBMAAPELACAUAADzCwAgmQQCAAAAAZoEAgAAAAGrBEAAAAABuQQCAAAAAcYEAQAAAAHXBAEAAAAB5QQBAAAAAfMEAQAAAAGbBUAAAAABnAUBAAAAAZ0FAQAAAAGeBQEAAAABoAUAAACgBQIDOgAAjQ8AILgFAACODwAgvgUAAAUAIAM6AACLDwAguAUAAIwPACC-BQAAAQAgBDoAAOULADC4BQAA5gsAMLoFAADoCwAgvgUAAJcLADAEOgAA3AsAMLgFAADdCwAwugUAAN8LACC-BQAAowsAMAQ6AADQCwAwuAUAANELADC6BQAA0wsAIL4FAADUCwAwAzoAAIkPACC4BQAAig8AIL4FAAABACAEOgAAvwsAMLgFAADACwAwugUAAMILACC-BQAAwwsAMAQ6AAC2CwAwuAUAALcLADC6BQAAuQsAIL4FAACjCwAwAAAAAAAFOgAAhA8AIDsAAIcPACC4BQAAhQ8AILkFAACGDwAgvgUAAAkAIAM6AACEDwAguAUAAIUPACC-BQAACQAgAAAAAAAHOgAA_w4AIDsAAIIPACC4BQAAgA8AILkFAACBDwAgvAUAAAsAIL0FAAALACC-BQAAZAAgAzoAAP8OACC4BQAAgA8AIL4FAABkACAAAAAAAAU6AADzDgAgOwAA_Q4AILgFAAD0DgAguQUAAPwOACC-BQAAAQAgCzoAANQMADA7AADYDAAwuAUAANUMADC5BQAA1gwAMLoFAADXDAAguwUAAMMLADC8BQAAwwsAML0FAADDCwAwvgUAAMMLADC_BQAA2QwAMMAFAADGCwAwCzoAAMsMADA7AADPDAAwuAUAAMwMADC5BQAAzQwAMLoFAADODAAguwUAAJcLADC8BQAAlwsAML0FAACXCwAwvgUAAJcLADC_BQAA0AwAMMAFAACaCwAwCzoAAMIMADA7AADGDAAwuAUAAMMMADC5BQAAxAwAMLoFAADFDAAguwUAAKMLADC8BQAAowsAML0FAACjCwAwvgUAAKMLADC_BQAAxwwAMMAFAACmCwAwCzoAALYMADA7AAC7DAAwuAUAALcMADC5BQAAuAwAMLoFAAC5DAAguwUAALoMADC8BQAAugwAML0FAAC6DAAwvgUAALoMADC_BQAAvAwAMMAFAAC9DAAwCzoAAKoMADA7AACvDAAwuAUAAKsMADC5BQAArAwAMLoFAACtDAAguwUAAK4MADC8BQAArgwAML0FAACuDAAwvgUAAK4MADC_BQAAsAwAMMAFAACxDAAwCzoAAJ4MADA7AACjDAAwuAUAAJ8MADC5BQAAoAwAMLoFAAChDAAguwUAAKIMADC8BQAAogwAML0FAACiDAAwvgUAAKIMADC_BQAApAwAMMAFAAClDAAwCzoAAJIMADA7AACXDAAwuAUAAJMMADC5BQAAlAwAMLoFAACVDAAguwUAAJYMADC8BQAAlgwAML0FAACWDAAwvgUAAJYMADC_BQAAmAwAMMAFAACZDAAwCJkEAgAAAAG6BAEAAAABuwQBAAAAAbwEAQAAAAG9BAQAAAABvgQBAAAAAb8EQAAAAAHABEAAAAABAgAAAFkAIDoAAJ0MACADAAAAWQAgOgAAnQwAIDsAAJwMACABMwAA-w4AMA0EAAD6BwAglgQAAPkHADCXBAAAVwAQmAQAAPkHADCZBAIAAAABuQQCAKcHACG6BAEAggcAIbsEAQCCBwAhvAQBAIIHACG9BAQA5AcAIb4EAQCCBwAhvwRAAKgHACHABEAAqAcAIQIAAABZACAzAACcDAAgAgAAAJoMACAzAACbDAAgDJYEAACZDAAwlwQAAJoMABCYBAAAmQwAMJkEAgCnBwAhuQQCAKcHACG6BAEAggcAIbsEAQCCBwAhvAQBAIIHACG9BAQA5AcAIb4EAQCCBwAhvwRAAKgHACHABEAAqAcAIQyWBAAAmQwAMJcEAACaDAAQmAQAAJkMADCZBAIApwcAIbkEAgCnBwAhugQBAIIHACG7BAEAggcAIbwEAQCCBwAhvQQEAOQHACG-BAEAggcAIb8EQACoBwAhwARAAKgHACEImQQCALkIACG6BAEAwwgAIbsEAQDDCAAhvAQBAMMIACG9BAQA6QgAIb4EAQDDCAAhvwRAAMUIACHABEAAxQgAIQiZBAIAuQgAIboEAQDDCAAhuwQBAMMIACG8BAEAwwgAIb0EBADpCAAhvgQBAMMIACG_BEAAxQgAIcAEQADFCAAhCJkEAgAAAAG6BAEAAAABuwQBAAAAAbwEAQAAAAG9BAQAAAABvgQBAAAAAb8EQAAAAAHABEAAAAABCgMAAPgIACCZBAIAAAABmgQCAAAAAasEQAAAAAHCBAAAAMIEAsQEAAAAxAQCxgQAAADGBALHBAEAAAAByAQCAAAAAckEAQAAAAECAAAAVAAgOgAAqQwAIAMAAABUACA6AACpDAAgOwAAqAwAIAEzAAD6DgAwDwMAAPcHACAEAAD6BwAglgQAAPsHADCXBAAAUgAQmAQAAPsHADCZBAIAAAABmgQCAKoHACGrBEAAqAcAIbkEAgCnBwAhwgQAAPwHwgQixAQAAP0HxAQixgQAAP4HxgQixwQBAP0GACHIBAIAqgcAIckEAQD9BgAhAgAAAFQAIDMAAKgMACACAAAApgwAIDMAAKcMACANlgQAAKUMADCXBAAApgwAEJgEAAClDAAwmQQCAKcHACGaBAIAqgcAIasEQACoBwAhuQQCAKcHACHCBAAA_AfCBCLEBAAA_QfEBCLGBAAA_gfGBCLHBAEA_QYAIcgEAgCqBwAhyQQBAP0GACENlgQAAKUMADCXBAAApgwAEJgEAAClDAAwmQQCAKcHACGaBAIAqgcAIasEQACoBwAhuQQCAKcHACHCBAAA_AfCBCLEBAAA_QfEBCLGBAAA_gfGBCLHBAEA_QYAIcgEAgCqBwAhyQQBAP0GACEJmQQCALkIACGaBAIA9AgAIasEQADFCAAhwgQAAPEIwgQixAQAAPIIxAQixgQAAPMIxgQixwQBAMQIACHIBAIA9AgAIckEAQDECAAhCgMAAPYIACCZBAIAuQgAIZoEAgD0CAAhqwRAAMUIACHCBAAA8QjCBCLEBAAA8gjEBCLGBAAA8wjGBCLHBAEAxAgAIcgEAgD0CAAhyQQBAMQIACEKAwAA-AgAIJkEAgAAAAGaBAIAAAABqwRAAAAAAcIEAAAAwgQCxAQAAADEBALGBAAAAMYEAscEAQAAAAHIBAIAAAAByQQBAAAAARQMAACXCgAgDQAAmQoAIBAAAJoKACARAACbCgAgmQQCAAAAAZoEAgAAAAGrBEAAAAABwARAAAAAAcYEAAAA8AQC5QQBAAAAAeYEAgAAAAHnBAIAAAAB6AQQAAAAAekEEAAAAAHqBBAAAAAB6wQQAAAAAewEEAAAAAHtBBAAAAAB7gQQAAAAAfAEAQAAAAECAAAAUAAgOgAAtQwAIAMAAABQACA6AAC1DAAgOwAAtAwAIAEzAAD5DgAwGQQAAPoHACAMAACDCAAgDQAA9wcAIBAAAIQIACARAACFCAAglgQAAP8HADCXBAAAJQAQmAQAAP8HADCZBAIAAAABmgQCAKcHACGrBEAAqAcAIbkEAgCnBwAhwARAAKgHACHGBAAAggjwBCLlBAEA_QYAIeYEAgAAAAHnBAIAqgcAIegEEACACAAh6QQQAIAIACHqBBAAgAgAIesEEACACAAh7AQQAIEIACHtBBAAgAgAIe4EEACACAAh8AQBAP0GACECAAAAUAAgMwAAtAwAIAIAAACyDAAgMwAAswwAIBSWBAAAsQwAMJcEAACyDAAQmAQAALEMADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACG5BAIApwcAIcAEQACoBwAhxgQAAIII8AQi5QQBAP0GACHmBAIAqgcAIecEAgCqBwAh6AQQAIAIACHpBBAAgAgAIeoEEACACAAh6wQQAIAIACHsBBAAgQgAIe0EEACACAAh7gQQAIAIACHwBAEA_QYAIRSWBAAAsQwAMJcEAACyDAAQmAQAALEMADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACG5BAIApwcAIcAEQACoBwAhxgQAAIII8AQi5QQBAP0GACHmBAIAqgcAIecEAgCqBwAh6AQQAIAIACHpBBAAgAgAIeoEEACACAAh6wQQAIAIACHsBBAAgQgAIe0EEACACAAh7gQQAIAIACHwBAEA_QYAIRCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACHABEAAxQgAIcYEAADrCfAEIuUEAQDECAAh5gQCAPQIACHnBAIA9AgAIegEEADfCQAh6QQQAN8JACHqBBAA3wkAIesEEADfCQAh7AQQAOoJACHtBBAA3wkAIe4EEADfCQAh8AQBAMQIACEUDAAA7AkAIA0AAO4JACAQAADvCQAgEQAA8AkAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIcAEQADFCAAhxgQAAOsJ8AQi5QQBAMQIACHmBAIA9AgAIecEAgD0CAAh6AQQAN8JACHpBBAA3wkAIeoEEADfCQAh6wQQAN8JACHsBBAA6gkAIe0EEADfCQAh7gQQAN8JACHwBAEAxAgAIRQMAACXCgAgDQAAmQoAIBAAAJoKACARAACbCgAgmQQCAAAAAZoEAgAAAAGrBEAAAAABwARAAAAAAcYEAAAA8AQC5QQBAAAAAeYEAgAAAAHnBAIAAAAB6AQQAAAAAekEEAAAAAHqBBAAAAAB6wQQAAAAAewEEAAAAAHtBBAAAAAB7gQQAAAAAfAEAQAAAAEFFgAAuAoAIJkEAgAAAAGrBEAAAAAB8wQBAAAAAfUEAAAA9QQCAgAAAEgAIDoAAMEMACADAAAASAAgOgAAwQwAIDsAAMAMACABMwAA-A4AMAoEAAD6BwAgFgAAiggAIJYEAACICAAwlwQAAEYAEJgEAACICAAwmQQCAAAAAasEQACoBwAhuQQCAKcHACHzBAEAggcAIfUEAACJCPUEIgIAAABIACAzAADADAAgAgAAAL4MACAzAAC_DAAgCJYEAAC9DAAwlwQAAL4MABCYBAAAvQwAMJkEAgCnBwAhqwRAAKgHACG5BAIApwcAIfMEAQCCBwAh9QQAAIkI9QQiCJYEAAC9DAAwlwQAAL4MABCYBAAAvQwAMJkEAgCnBwAhqwRAAKgHACG5BAIApwcAIfMEAQCCBwAh9QQAAIkI9QQiBJkEAgC5CAAhqwRAAMUIACHzBAEAwwgAIfUEAACoCvUEIgUWAACqCgAgmQQCALkIACGrBEAAxQgAIfMEAQDDCAAh9QQAAKgK9QQiBRYAALgKACCZBAIAAAABqwRAAAAAAfMEAQAAAAH1BAAAAPUEAhgDAAD5CgAgBgAA-AoAIAcAAPoKACAJAAD7CgAgDgAA_goAIBEAAPwKACASAAD9CgAgmQQCAAAAAZoEAgAAAAGrBEAAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAAQIAAAASACA6AADKDAAgAwAAABIAIDoAAMoMACA7AADJDAAgATMAAPcOADACAAAAEgAgMwAAyQwAIAIAAACnCwAgMwAAyAwAIBGZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACHABEAAxQgAIcYEAADUCo4FIoIFAgC5CAAhgwUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACGPBQIA9AgAIRgDAADXCgAgBgAA1goAIAcAANgKACAJAADZCgAgDgAA3AoAIBEAANoKACASAADbCgAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhwARAAMUIACHGBAAA1AqOBSKCBQIAuQgAIYMFAgC5CAAhhAUBAMMIACGFBQEAwwgAIYYFQADFCAAhhwUBAMMIACGJBQAA0wqJBSKKBYAAAAABiwVAAMUIACGMBQEAwwgAIY4FAQDECAAhjwUCAPQIACEYAwAA-QoAIAYAAPgKACAHAAD6CgAgCQAA-woAIA4AAP4KACARAAD8CgAgEgAA_QoAIJkEAgAAAAGaBAIAAAABqwRAAAAAAcAEQAAAAAHGBAAAAI4FAoIFAgAAAAGDBQIAAAABhAUBAAAAAYUFAQAAAAGGBUAAAAABhwUBAAAAAYkFAAAAiQUCigWAAAAAAYsFQAAAAAGMBQEAAAABjgUBAAAAAY8FAgAAAAEPBgAAiAsAIAkAAIoLACCZBAIAAAABqwRAAAAAAfkEAQAAAAH9BAEAAAAB_gQBAAAAAYIFAgAAAAGPBQIAAAABkAUBAAAAAZEFEAAAAAGSBQEAAAABkwUBAAAAAZUFAAAAlQUClgUBAAAAAQIAAAAbACA6AADTDAAgAwAAABsAIDoAANMMACA7AADSDAAgATMAAPYOADACAAAAGwAgMwAA0gwAIAIAAACbCwAgMwAA0QwAIA2ZBAIAuQgAIasEQADFCAAh-QQBAMMIACH9BAEAxAgAIf4EAQDECAAhggUCALkIACGPBQIA9AgAIZAFAQDECAAhkQUQAOoJACGSBQEAxAgAIZMFAQDECAAhlQUAAIQLlQUilgUBAMQIACEPBgAAhQsAIAkAAIcLACCZBAIAuQgAIasEQADFCAAh-QQBAMMIACH9BAEAxAgAIf4EAQDECAAhggUCALkIACGPBQIA9AgAIZAFAQDECAAhkQUQAOoJACGSBQEAxAgAIZMFAQDECAAhlQUAAIQLlQUilgUBAMQIACEPBgAAiAsAIAkAAIoLACCZBAIAAAABqwRAAAAAAfkEAQAAAAH9BAEAAAAB_gQBAAAAAYIFAgAAAAGPBQIAAAABkAUBAAAAAZEFEAAAAAGSBQEAAAABkwUBAAAAAZUFAAAAlQUClgUBAAAAARIDAADwCwAgBwAAhAwAIAgAAPILACATAADxCwAgFAAA8wsAIJkEAgAAAAGaBAIAAAABqwRAAAAAAcYEAQAAAAHXBAEAAAAB5QQBAAAAAfMEAQAAAAGDBQIAAAABmwVAAAAAAZwFAQAAAAGdBQEAAAABngUBAAAAAaAFAAAAoAUCAgAAAAkAIDoAANwMACADAAAACQAgOgAA3AwAIDsAANsMACABMwAA9Q4AMAIAAAAJACAzAADbDAAgAgAAAMcLACAzAADaDAAgDZkEAgC5CAAhmgQCALkIACGrBEAAxQgAIcYEAQDDCAAh1wQBAMMIACHlBAEAxAgAIfMEAQDDCAAhgwUCALkIACGbBUAAxQgAIZwFAQDDCAAhnQUBAMMIACGeBQEAxAgAIaAFAADJC6AFIhIDAADMCwAgBwAAgwwAIAgAAM4LACATAADNCwAgFAAAzwsAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIcYEAQDDCAAh1wQBAMMIACHlBAEAxAgAIfMEAQDDCAAhgwUCALkIACGbBUAAxQgAIZwFAQDDCAAhnQUBAMMIACGeBQEAxAgAIaAFAADJC6AFIhIDAADwCwAgBwAAhAwAIAgAAPILACATAADxCwAgFAAA8wsAIJkEAgAAAAGaBAIAAAABqwRAAAAAAcYEAQAAAAHXBAEAAAAB5QQBAAAAAfMEAQAAAAGDBQIAAAABmwVAAAAAAZwFAQAAAAGdBQEAAAABngUBAAAAAaAFAAAAoAUCAzoAAPMOACC4BQAA9A4AIL4FAAABACAEOgAA1AwAMLgFAADVDAAwugUAANcMACC-BQAAwwsAMAQ6AADLDAAwuAUAAMwMADC6BQAAzgwAIL4FAACXCwAwBDoAAMIMADC4BQAAwwwAMLoFAADFDAAgvgUAAKMLADAEOgAAtgwAMLgFAAC3DAAwugUAALkMACC-BQAAugwAMAQ6AACqDAAwuAUAAKsMADC6BQAArQwAIL4FAACuDAAwBDoAAJ4MADC4BQAAnwwAMLoFAAChDAAgvgUAAKIMADAEOgAAkgwAMLgFAACTDAAwugUAAJUMACC-BQAAlgwAMAAAAAAACzoAAKAOADA7AAClDgAwuAUAAKEOADC5BQAAog4AMLoFAACjDgAguwUAAKQOADC8BQAApA4AML0FAACkDgAwvgUAAKQOADC_BQAApg4AMMAFAACnDgAwCzoAAJcOADA7AACbDgAwuAUAAJgOADC5BQAAmQ4AMLoFAACaDgAguwUAAMMLADC8BQAAwwsAML0FAADDCwAwvgUAAMMLADC_BQAAnA4AMMAFAADGCwAwCzoAAIsOADA7AACQDgAwuAUAAIwOADC5BQAAjQ4AMLoFAACODgAguwUAAI8OADC8BQAAjw4AML0FAACPDgAwvgUAAI8OADC_BQAAkQ4AMMAFAACSDgAwCzoAAP8NADA7AACEDgAwuAUAAIAOADC5BQAAgQ4AMLoFAACCDgAguwUAAIMOADC8BQAAgw4AML0FAACDDgAwvgUAAIMOADC_BQAAhQ4AMMAFAACGDgAwCzoAAPYNADA7AAD6DQAwuAUAAPcNADC5BQAA-A0AMLoFAAD5DQAguwUAAKMLADC8BQAAowsAML0FAACjCwAwvgUAAKMLADC_BQAA-w0AMMAFAACmCwAwCzoAAOoNADA7AADvDQAwuAUAAOsNADC5BQAA7A0AMLoFAADtDQAguwUAAO4NADC8BQAA7g0AML0FAADuDQAwvgUAAO4NADC_BQAA8A0AMMAFAADxDQAwCzoAAOENADA7AADlDQAwuAUAAOINADC5BQAA4w0AMLoFAADkDQAguwUAAK4MADC8BQAArgwAML0FAACuDAAwvgUAAK4MADC_BQAA5g0AMMAFAACxDAAwCzoAANUNADA7AADaDQAwuAUAANYNADC5BQAA1w0AMLoFAADYDQAguwUAANkNADC8BQAA2Q0AML0FAADZDQAwvgUAANkNADC_BQAA2w0AMMAFAADcDQAwCzoAAMkNADA7AADODQAwuAUAAMoNADC5BQAAyw0AMLoFAADMDQAguwUAAM0NADC8BQAAzQ0AML0FAADNDQAwvgUAAM0NADC_BQAAzw0AMMAFAADQDQAwCzoAAL0NADA7AADCDQAwuAUAAL4NADC5BQAAvw0AMLoFAADADQAguwUAAMENADC8BQAAwQ0AML0FAADBDQAwvgUAAMENADC_BQAAww0AMMAFAADEDQAwCzoAALQNADA7AAC4DQAwuAUAALUNADC5BQAAtg0AMLoFAAC3DQAguwUAALIJADC8BQAAsgkAML0FAACyCQAwvgUAALIJADC_BQAAuQ0AMMAFAAC1CQAwCzoAAKsNADA7AACvDQAwuAUAAKwNADC5BQAArQ0AMLoFAACuDQAguwUAAKYJADC8BQAApgkAML0FAACmCQAwvgUAAKYJADC_BQAAsA0AMMAFAACpCQAwCzoAAKINADA7AACmDQAwuAUAAKMNADC5BQAApA0AMLoFAAClDQAguwUAAKIMADC8BQAAogwAML0FAACiDAAwvgUAAKIMADC_BQAApw0AMMAFAAClDAAwBzoAAJ0NACA7AACgDQAguAUAAJ4NACC5BQAAnw0AILwFAACPAQAgvQUAAI8BACC-BQAA2AUAIAc6AACYDQAgOwAAmw0AILgFAACZDQAguQUAAJoNACC8BQAAkQEAIL0FAACRAQAgvgUAAPAFACAHOgAAkw0AIDsAAJYNACC4BQAAlA0AILkFAACVDQAgvAUAAJMBACC9BQAAkwEAIL4FAACIBgAgBzoAAI4NACA7AACRDQAguAUAAI8NACC5BQAAkA0AILwFAACVAQAgvQUAAJUBACC-BQAAoAYAIAc6AACJDQAgOwAAjA0AILgFAACKDQAguQUAAIsNACC8BQAAlwEAIL0FAACXAQAgvgUAAM4GACALOgAA_QwAMDsAAIINADC4BQAA_gwAMLkFAAD_DAAwugUAAIANACC7BQAAgQ0AMLwFAACBDQAwvQUAAIENADC-BQAAgQ0AML8FAACDDQAwwAUAAIQNADAEmQQCAAAAAakEAQAAAAGqBAEAAAABqwRAAAAAAQIAAACbAQAgOgAAiA0AIAMAAACbAQAgOgAAiA0AIDsAAIcNACABMwAA8g4AMAkDAADvBgAglgQAAN4HADCXBAAAmQEAEJgEAADeBwAwmQQCAAAAAZoEAgCnBwAhqQQBAIIHACGqBAEA_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-AQBAMMIACEEmQQCAAAAAfYEAQAAAAH3BAEAAAAB-AQBAAAAARgEAAD3CgAgBgAA-AoAIAcAAPoKACAJAAD7CgAgDgAA_goAIBEAAPwKACASAAD9CgAgmQQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAAQIAAAASACA6AAD-DQAgAwAAABIAIDoAAP4NACA7AAD9DQAgATMAAOkOADACAAAAEgAgMwAA_Q0AIAIAAACnCwAgMwAA_A0AIBGZBAIAuQgAIasEQADFCAAhuQQCALkIACHABEAAxQgAIcYEAADUCo4FIoIFAgC5CAAhgwUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACGPBQIA9AgAIRgEAADVCgAgBgAA1goAIAcAANgKACAJAADZCgAgDgAA3AoAIBEAANoKACASAADbCgAgmQQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA1AqOBSKCBQIAuQgAIYMFAgC5CAAhhAUBAMMIACGFBQEAwwgAIYYFQADFCAAhhwUBAMMIACGJBQAA0wqJBSKKBYAAAAABiwVAAMUIACGMBQEAwwgAIY4FAQDECAAhjwUCAPQIACEYBAAA9woAIAYAAPgKACAHAAD6CgAgCQAA-woAIA4AAP4KACARAAD8CgAgEgAA_QoAIJkEAgAAAAGrBEAAAAABuQQCAAAAAcAEQAAAAAHGBAAAAI4FAoIFAgAAAAGDBQIAAAABhAUBAAAAAYUFAQAAAAGGBUAAAAABhwUBAAAAAYkFAAAAiQUCigWAAAAAAYsFQAAAAAGMBQEAAAABjgUBAAAAAY8FAgAAAAEGCAAArAsAIAoAAK0LACCZBAIAAAABqwRAAAAAAZcFAQAAAAGYBQEAAAABAgAAAGcAIDoAAIoOACADAAAAZwAgOgAAig4AIDsAAIkOACABMwAA6A4AMAwDAADvBgAgCAAA9AcAIAoAAPUHACCWBAAA8wcAMJcEAAAWABCYBAAA8wcAMJkEAgAAAAGaBAIApwcAIasEQACoBwAhlwUBAIIHACGYBQEAggcAIbUFAADyBwAgAgAAAGcAIDMAAIkOACACAAAAhw4AIDMAAIgOACAIlgQAAIYOADCXBAAAhw4AEJgEAACGDgAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhlwUBAIIHACGYBQEAggcAIQiWBAAAhg4AMJcEAACHDgAQmAQAAIYOADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACGXBQEAggcAIZgFAQCCBwAhBJkEAgC5CAAhqwRAAMUIACGXBQEAwwgAIZgFAQDDCAAhBggAAJELACAKAACSCwAgmQQCALkIACGrBEAAxQgAIZcFAQDDCAAhmAUBAMMIACEGCAAArAsAIAoAAK0LACCZBAIAAAABqwRAAAAAAZcFAQAAAAGYBQEAAAABCAUAAPULACAIAAD2CwAgmQQCAAAAAakEAQAAAAGrBEAAAAABsgQBAAAAAZkFAQAAAAGaBQEAAAABAgAAAGQAIDoAAJYOACADAAAAZAAgOgAAlg4AIDsAAJUOACABMwAA5w4AMA0DAAD3BwAgBQAA-AcAIAgAAPQHACCWBAAA9gcAMJcEAAALABCYBAAA9gcAMJkEAgAAAAGaBAIApwcAIakEAQCCBwAhqwRAAKgHACGyBAEA_QYAIZkFAQCCBwAhmgUBAP0GACECAAAAZAAgMwAAlQ4AIAIAAACTDgAgMwAAlA4AIAqWBAAAkg4AMJcEAACTDgAQmAQAAJIOADCZBAIApwcAIZoEAgCnBwAhqQQBAIIHACGrBEAAqAcAIbIEAQD9BgAhmQUBAIIHACGaBQEA_QYAIQqWBAAAkg4AMJcEAACTDgAQmAQAAJIOADCZBAIApwcAIZoEAgCnBwAhqQQBAIIHACGrBEAAqAcAIbIEAQD9BgAhmQUBAIIHACGaBQEA_QYAIQaZBAIAuQgAIakEAQDDCAAhqwRAAMUIACGyBAEAxAgAIZkFAQDDCAAhmgUBAMQIACEIBQAAtAsAIAgAALULACCZBAIAuQgAIakEAQDDCAAhqwRAAMUIACGyBAEAxAgAIZkFAQDDCAAhmgUBAMQIACEIBQAA9QsAIAgAAPYLACCZBAIAAAABqQQBAAAAAasEQAAAAAGyBAEAAAABmQUBAAAAAZoFAQAAAAESBAAA7wsAIAcAAIQMACAIAADyCwAgEwAA8QsAIBQAAPMLACCZBAIAAAABqwRAAAAAAbkEAgAAAAHGBAEAAAAB1wQBAAAAAeUEAQAAAAHzBAEAAAABgwUCAAAAAZsFQAAAAAGcBQEAAAABnQUBAAAAAZ4FAQAAAAGgBQAAAKAFAgIAAAAJACA6AACfDgAgAwAAAAkAIDoAAJ8OACA7AACeDgAgATMAAOYOADACAAAACQAgMwAAng4AIAIAAADHCwAgMwAAnQ4AIA2ZBAIAuQgAIasEQADFCAAhuQQCALkIACHGBAEAwwgAIdcEAQDDCAAh5QQBAMQIACHzBAEAwwgAIYMFAgC5CAAhmwVAAMUIACGcBQEAwwgAIZ0FAQDDCAAhngUBAMQIACGgBQAAyQugBSISBAAAywsAIAcAAIMMACAIAADOCwAgEwAAzQsAIBQAAM8LACCZBAIAuQgAIasEQADFCAAhuQQCALkIACHGBAEAwwgAIdcEAQDDCAAh5QQBAMQIACHzBAEAwwgAIYMFAgC5CAAhmwVAAMUIACGcBQEAwwgAIZ0FAQDDCAAhngUBAMQIACGgBQAAyQugBSISBAAA7wsAIAcAAIQMACAIAADyCwAgEwAA8QsAIBQAAPMLACCZBAIAAAABqwRAAAAAAbkEAgAAAAHGBAEAAAAB1wQBAAAAAeUEAQAAAAHzBAEAAAABgwUCAAAAAZsFQAAAAAGcBQEAAAABnQUBAAAAAZ4FAQAAAAGgBQAAAKAFAhsFAADeDAAgCAAA4AwAIA4AAOIMACATAADfDAAgFwAA4QwAIBgAAOMMACAZAADkDAAgmQQCAAAAAasEQAAAAAGyBAEAAAABwARAAAAAAcYEAAAAoAUChgVAAAAAAYwFAQAAAAGaBQEAAAABoQUBAAAAAaIFAQAAAAGjBQEAAAABpAUBAAAAAaUFAQAAAAGmBQEAAAABpwUBAAAAAagFAQAAAAGpBQEAAAABqgUBAAAAAasFAQAAAAGsBQEAAAABAgAAAAUAIDoAAKsOACADAAAABQAgOgAAqw4AIDsAAKoOACABMwAA5Q4AMCADAADvBgAgBQAA-AcAIAgAAPQHACAOAACjCAAgEwAA9QcAIBcAALIIACAYAACnCAAgGQAAswgAIJYEAACxCAAwlwQAAAMAEJgEAACxCAAwmQQCAAAAAZoEAgCnBwAhqwRAAKgHACGyBAEA_QYAIcAEQACoBwAhxgQAAK8IoAUihgVAAKkHACGMBQEA_QYAIZoFAQCCBwAhoQUBAIIHACGiBQEAggcAIaMFAQCCBwAhpAUBAP0GACGlBQEA_QYAIaYFAQD9BgAhpwUBAP0GACGoBQEA_QYAIakFAQD9BgAhqgUBAP0GACGrBQEA_QYAIawFAQD9BgAhAgAAAAUAIDMAAKoOACACAAAAqA4AIDMAAKkOACAYlgQAAKcOADCXBAAAqA4AEJgEAACnDgAwmQQCAKcHACGaBAIApwcAIasEQACoBwAhsgQBAP0GACHABEAAqAcAIcYEAACvCKAFIoYFQACpBwAhjAUBAP0GACGaBQEAggcAIaEFAQCCBwAhogUBAIIHACGjBQEAggcAIaQFAQD9BgAhpQUBAP0GACGmBQEA_QYAIacFAQD9BgAhqAUBAP0GACGpBQEA_QYAIaoFAQD9BgAhqwUBAP0GACGsBQEA_QYAIRiWBAAApw4AMJcEAACoDgAQmAQAAKcOADCZBAIApwcAIZoEAgCnBwAhqwRAAKgHACGyBAEA_QYAIcAEQACoBwAhxgQAAK8IoAUihgVAAKkHACGMBQEA_QYAIZoFAQCCBwAhoQUBAIIHACGiBQEAggcAIaMFAQCCBwAhpAUBAP0GACGlBQEA_QYAIaYFAQD9BgAhpwUBAP0GACGoBQEA_QYAIakFAQD9BgAhqgUBAP0GACGrBQEA_QYAIawFAQD9BgAhFJkEAgC5CAAhqwRAAMUIACGyBAEAxAgAIcAEQADFCAAhxgQAAMkLoAUihgVAAMMJACGMBQEAxAgAIZoFAQDDCAAhoQUBAMMIACGiBQEAwwgAIaMFAQDDCAAhpAUBAMQIACGlBQEAxAgAIaYFAQDECAAhpwUBAMQIACGoBQEAxAgAIakFAQDECAAhqgUBAMQIACGrBQEAxAgAIawFAQDECAAhGwUAAIsMACAIAACNDAAgDgAAjwwAIBMAAIwMACAXAACODAAgGAAAkAwAIBkAAJEMACCZBAIAuQgAIasEQADFCAAhsgQBAMQIACHABEAAxQgAIcYEAADJC6AFIoYFQADDCQAhjAUBAMQIACGaBQEAwwgAIaEFAQDDCAAhogUBAMMIACGjBQEAwwgAIaQFAQDECAAhpQUBAMQIACGmBQEAxAgAIacFAQDECAAhqAUBAMQIACGpBQEAxAgAIaoFAQDECAAhqwUBAMQIACGsBQEAxAgAIRsFAADeDAAgCAAA4AwAIA4AAOIMACATAADfDAAgFwAA4QwAIBgAAOMMACAZAADkDAAgmQQCAAAAAasEQAAAAAGyBAEAAAABwARAAAAAAcYEAAAAoAUChgVAAAAAAYwFAQAAAAGaBQEAAAABoQUBAAAAAaIFAQAAAAGjBQEAAAABpAUBAAAAAaUFAQAAAAGmBQEAAAABpwUBAAAAAagFAQAAAAGpBQEAAAABqgUBAAAAAasFAQAAAAGsBQEAAAABBDoAAKAOADC4BQAAoQ4AMLoFAACjDgAgvgUAAKQOADAEOgAAlw4AMLgFAACYDgAwugUAAJoOACC-BQAAwwsAMAQ6AACLDgAwuAUAAIwOADC6BQAAjg4AIL4FAACPDgAwBDoAAP8NADC4BQAAgA4AMLoFAACCDgAgvgUAAIMOADAEOgAA9g0AMLgFAAD3DQAwugUAAPkNACC-BQAAowsAMAQ6AADqDQAwuAUAAOsNADC6BQAA7Q0AIL4FAADuDQAwBDoAAOENADC4BQAA4g0AMLoFAADkDQAgvgUAAK4MADAEOgAA1Q0AMLgFAADWDQAwugUAANgNACC-BQAA2Q0AMAQ6AADJDQAwuAUAAMoNADC6BQAAzA0AIL4FAADNDQAwBDoAAL0NADC4BQAAvg0AMLoFAADADQAgvgUAAMENADAEOgAAtA0AMLgFAAC1DQAwugUAALcNACC-BQAAsgkAMAQ6AACrDQAwuAUAAKwNADC6BQAArg0AIL4FAACmCQAwBDoAAKINADC4BQAAow0AMLoFAAClDQAgvgUAAKIMADADOgAAnQ0AILgFAACeDQAgvgUAANgFACADOgAAmA0AILgFAACZDQAgvgUAAPAFACADOgAAkw0AILgFAACUDQAgvgUAAIgGACADOgAAjg0AILgFAACPDQAgvgUAAKAGACADOgAAiQ0AILgFAACKDQAgvgUAAM4GACAEOgAA_QwAMLgFAAD-DAAwugUAAIANACC-BQAAgQ0AMAAAAAAAAAAAAAAAAAADAwAAvAgAILcEAAC9CAAguAQAAL0IACABAwAAvAgAIAEDAAC8CAAgBwMAALwIACCqBAAAvQgAIK8EAAC9CAAgsAQAAL0IACCxBAAAvQgAILIEAAC9CAAgswQAAL0IACABAwAAvAgAIAAHAwAAvAgAICMAANMOACAlAADUDgAgvAQAAL0IACDMBAAAvQgAIM4EAAC9CAAgzwQAAL0IACAFAwAAvAgAIBQAAMoOACAhAADTDgAgIgAAyQ4AINAEAAC9CAAgAAAUAwAAvAgAIAUAAMAOACAIAADDDgAgDgAAxQ4AIBMAANUOACAXAADjDgAgGAAAyw4AIBkAAOQOACCyBAAAvQgAIIYFAAC9CAAgjAUAAL0IACCkBQAAvQgAIKUFAAC9CAAgpgUAAL0IACCnBQAAvQgAIKgFAAC9CAAgqQUAAL0IACCqBQAAvQgAIKsFAAC9CAAgrAUAAL0IACALAwAAvAgAIAQAANYOACAGAADcDgAgBwAA4A4AIAkAAN8OACAOAADdDgAgEQAA2Q4AIBIAAOEOACCKBQAAvQgAII4FAAC9CAAgjwUAAL0IACAAAAIEAADWDgAgFgAA2w4AIAAIAwAAvAgAIAQAANYOACAHAADgDgAgCAAAww4AIBMAANUOACAUAADiDgAg5QQAAL0IACCeBQAAvQgAIAoEAADWDgAgDAAA1w4AIA0AALwIACAQAADYDgAgEQAA2Q4AIOUEAAC9CAAg5gQAAL0IACDnBAAAvQgAIOwEAAC9CAAg8AQAAL0IACAMDAAA1w4AIA4AAN0OACAQAADYDgAg3AQAAL0IACDmBAAAvQgAIPAEAAC9CAAg-wQAAL0IACD8BAAAvQgAIP0EAAC9CAAg_gQAAL0IACD_BAAAvQgAIIAFAAC9CAAgAwMAALwIACAIAADDDgAgCgAA1Q4AIAUDAAC8CAAgBQAAwA4AIAgAAMMOACCyBAAAvQgAIJoFAAC9CAAgAAAAABSZBAIAAAABqwRAAAAAAbIEAQAAAAHABEAAAAABxgQAAACgBQKGBUAAAAABjAUBAAAAAZoFAQAAAAGhBQEAAAABogUBAAAAAaMFAQAAAAGkBQEAAAABpQUBAAAAAaYFAQAAAAGnBQEAAAABqAUBAAAAAakFAQAAAAGqBQEAAAABqwUBAAAAAawFAQAAAAENmQQCAAAAAasEQAAAAAG5BAIAAAABxgQBAAAAAdcEAQAAAAHlBAEAAAAB8wQBAAAAAYMFAgAAAAGbBUAAAAABnAUBAAAAAZ0FAQAAAAGeBQEAAAABoAUAAACgBQIGmQQCAAAAAakEAQAAAAGrBEAAAAABsgQBAAAAAZkFAQAAAAGaBQEAAAABBJkEAgAAAAGrBEAAAAABlwUBAAAAAZgFAQAAAAERmQQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAAQSZBAIAAAAB9gQBAAAAAfcEAQAAAAH4BAEAAAABEJkEAgAAAAGaBAIAAAABqwRAAAAAAbkEAgAAAAHABEAAAAABxgQAAADwBALlBAEAAAAB5gQCAAAAAegEEAAAAAHpBBAAAAAB6gQQAAAAAesEEAAAAAHsBBAAAAAB7QQQAAAAAe4EEAAAAAHwBAEAAAABApkEAgAAAAGrBEAAAAABBJkEAgAAAAGrBEAAAAAB2gQBAAAAAdsEIAAAAAEFmQQCAAAAAasEQAAAAAHXBAAAANcEAtgEAQAAAAHZBCAAAAABBZkEAgAAAAGpBAEAAAABqwRAAAAAAcAEQAAAAAHQBAIAAAABCpkEAgAAAAGpBAEAAAABqwRAAAAAAbwEAQAAAAG9BAQAAAABwARAAAAAAcwEAgAAAAHNBCAAAAABzgQCAAAAAc8EAQAAAAEJmQQCAAAAAasEQAAAAAG5BAIAAAABwgQAAADCBALEBAAAAMQEAsYEAAAAxgQCxwQBAAAAAcgEAgAAAAHJBAEAAAABBJkEAgAAAAGpBAEAAAABqgQBAAAAAasEQAAAAAEXBQAArQ4AIAcAAK4OACAIAACwDgAgGAAAuA4AIBsAAK8OACAcAACxDgAgHQAAsg4AIB4AALMOACAfAAC0DgAgIAAAtQ4AICYAALYOACAnAAC3DgAgKAAAuQ4AICkAALoOACAqAAC7DgAgKwAAvA4AICwAAL0OACAtAAC-DgAgmQQCAAAAAfcEAQAAAAH4BAEAAAABrQUgAAAAAa4FIAAAAAECAAAAAQAgOgAA8w4AIA2ZBAIAAAABmgQCAAAAAasEQAAAAAHGBAEAAAAB1wQBAAAAAeUEAQAAAAHzBAEAAAABgwUCAAAAAZsFQAAAAAGcBQEAAAABnQUBAAAAAZ4FAQAAAAGgBQAAAKAFAg2ZBAIAAAABqwRAAAAAAfkEAQAAAAH9BAEAAAAB_gQBAAAAAYIFAgAAAAGPBQIAAAABkAUBAAAAAZEFEAAAAAGSBQEAAAABkwUBAAAAAZUFAAAAlQUClgUBAAAAARGZBAIAAAABmgQCAAAAAasEQAAAAAHABEAAAAABxgQAAACOBQKCBQIAAAABgwUCAAAAAYQFAQAAAAGFBQEAAAABhgVAAAAAAYcFAQAAAAGJBQAAAIkFAooFgAAAAAGLBUAAAAABjAUBAAAAAY4FAQAAAAGPBQIAAAABBJkEAgAAAAGrBEAAAAAB8wQBAAAAAfUEAAAA9QQCEJkEAgAAAAGaBAIAAAABqwRAAAAAAcAEQAAAAAHGBAAAAPAEAuUEAQAAAAHmBAIAAAAB5wQCAAAAAegEEAAAAAHpBBAAAAAB6gQQAAAAAesEEAAAAAHsBBAAAAAB7QQQAAAAAe4EEAAAAAHwBAEAAAABCZkEAgAAAAGaBAIAAAABqwRAAAAAAcIEAAAAwgQCxAQAAADEBALGBAAAAMYEAscEAQAAAAHIBAIAAAAByQQBAAAAAQiZBAIAAAABugQBAAAAAbsEAQAAAAG8BAEAAAABvQQEAAAAAb4EAQAAAAG_BEAAAAABwARAAAAAAQMAAAANACA6AADzDgAgOwAA_g4AIBkAAAANACAFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACAzAAD-DgAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhCQMAAPQLACAIAAD2CwAgmQQCAAAAAZoEAgAAAAGpBAEAAAABqwRAAAAAAbIEAQAAAAGZBQEAAAABmgUBAAAAAQIAAABkACA6AAD_DgAgAwAAAAsAIDoAAP8OACA7AACDDwAgCwAAAAsAIAMAALMLACAIAAC1CwAgMwAAgw8AIJkEAgC5CAAhmgQCALkIACGpBAEAwwgAIasEQADFCAAhsgQBAMQIACGZBQEAwwgAIZoFAQDECAAhCQMAALMLACAIAAC1CwAgmQQCALkIACGaBAIAuQgAIakEAQDDCAAhqwRAAMUIACGyBAEAxAgAIZkFAQDDCAAhmgUBAMQIACETAwAA8AsAIAQAAO8LACAHAACEDAAgCAAA8gsAIBMAAPELACCZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABxgQBAAAAAdcEAQAAAAHlBAEAAAAB8wQBAAAAAYMFAgAAAAGbBUAAAAABnAUBAAAAAZ0FAQAAAAGeBQEAAAABoAUAAACgBQICAAAACQAgOgAAhA8AIAMAAAAHACA6AACEDwAgOwAAiA8AIBUAAAAHACADAADMCwAgBAAAywsAIAcAAIMMACAIAADOCwAgEwAAzQsAIDMAAIgPACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACG5BAIAuQgAIcYEAQDDCAAh1wQBAMMIACHlBAEAxAgAIfMEAQDDCAAhgwUCALkIACGbBUAAxQgAIZwFAQDDCAAhnQUBAMMIACGeBQEAxAgAIaAFAADJC6AFIhMDAADMCwAgBAAAywsAIAcAAIMMACAIAADOCwAgEwAAzQsAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhxgQBAMMIACHXBAEAwwgAIeUEAQDECAAh8wQBAMMIACGDBQIAuQgAIZsFQADFCAAhnAUBAMMIACGdBQEAwwgAIZ4FAQDECAAhoAUAAMkLoAUiFwUAAK0OACAIAACwDgAgGAAAuA4AIBoAAKwOACAbAACvDgAgHAAAsQ4AIB0AALIOACAeAACzDgAgHwAAtA4AICAAALUOACAmAAC2DgAgJwAAtw4AICgAALkOACApAAC6DgAgKgAAuw4AICsAALwOACAsAAC9DgAgLQAAvg4AIJkEAgAAAAH3BAEAAAAB-AQBAAAAAa0FIAAAAAGuBSAAAAABAgAAAAEAIDoAAIkPACAXBwAArg4AIAgAALAOACAYAAC4DgAgGgAArA4AIBsAAK8OACAcAACxDgAgHQAAsg4AIB4AALMOACAfAAC0DgAgIAAAtQ4AICYAALYOACAnAAC3DgAgKAAAuQ4AICkAALoOACAqAAC7DgAgKwAAvA4AICwAAL0OACAtAAC-DgAgmQQCAAAAAfcEAQAAAAH4BAEAAAABrQUgAAAAAa4FIAAAAAECAAAAAQAgOgAAiw8AIBwDAADdDAAgCAAA4AwAIA4AAOIMACATAADfDAAgFwAA4QwAIBgAAOMMACAZAADkDAAgmQQCAAAAAZoEAgAAAAGrBEAAAAABsgQBAAAAAcAEQAAAAAHGBAAAAKAFAoYFQAAAAAGMBQEAAAABmgUBAAAAAaEFAQAAAAGiBQEAAAABowUBAAAAAaQFAQAAAAGlBQEAAAABpgUBAAAAAacFAQAAAAGoBQEAAAABqQUBAAAAAaoFAQAAAAGrBQEAAAABrAUBAAAAAQIAAAAFACA6AACNDwAgDZkEAgAAAAGrBEAAAAABuQQCAAAAAfkEAQAAAAH9BAEAAAAB_gQBAAAAAY8FAgAAAAGQBQEAAAABkQUQAAAAAZIFAQAAAAGTBQEAAAABlQUAAACVBQKWBQEAAAABEZkEAgAAAAGaBAIAAAABqwRAAAAAAbkEAgAAAAHABEAAAAABxgQAAACOBQKDBQIAAAABhAUBAAAAAYUFAQAAAAGGBUAAAAABhwUBAAAAAYkFAAAAiQUCigWAAAAAAYsFQAAAAAGMBQEAAAABjgUBAAAAAY8FAgAAAAEEmQQCAAAAAboEAQAAAAG8BAEAAAABvgQBAAAAAQMAAAANACA6AACLDwAgOwAAlA8AIBkAAAANACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACAzAACUDwAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhAwAAAAMAIDoAAI0PACA7AACXDwAgHgAAAAMAIAMAAIoMACAIAACNDAAgDgAAjwwAIBMAAIwMACAXAACODAAgGAAAkAwAIBkAAJEMACAzAACXDwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhsgQBAMQIACHABEAAxQgAIcYEAADJC6AFIoYFQADDCQAhjAUBAMQIACGaBQEAwwgAIaEFAQDDCAAhogUBAMMIACGjBQEAwwgAIaQFAQDECAAhpQUBAMQIACGmBQEAxAgAIacFAQDECAAhqAUBAMQIACGpBQEAxAgAIaoFAQDECAAhqwUBAMQIACGsBQEAxAgAIRwDAACKDAAgCAAAjQwAIA4AAI8MACATAACMDAAgFwAAjgwAIBgAAJAMACAZAACRDAAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhsgQBAMQIACHABEAAxQgAIcYEAADJC6AFIoYFQADDCQAhjAUBAMQIACGaBQEAwwgAIaEFAQDDCAAhogUBAMMIACGjBQEAwwgAIaQFAQDECAAhpQUBAMQIACGmBQEAxAgAIacFAQDECAAhqAUBAMQIACGpBQEAxAgAIaoFAQDECAAhqwUBAMQIACGsBQEAxAgAIQ2ZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABxgQBAAAAAdcEAQAAAAHlBAEAAAAB8wQBAAAAAZsFQAAAAAGcBQEAAAABnQUBAAAAAZ4FAQAAAAGgBQAAAKAFAhGZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYQFAQAAAAGFBQEAAAABhgVAAAAAAYcFAQAAAAGJBQAAAIkFAooFgAAAAAGLBUAAAAABjAUBAAAAAY4FAQAAAAGPBQIAAAABAwAAAA0AIDoAAIkPACA7AACcDwAgGQAAAA0AIAUAAOsMACAIAADuDAAgGAAA9gwAIBoAAOoMACAbAADtDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIDMAAJwPACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAOsMACAIAADuDAAgGAAA9gwAIBoAAOoMACAbAADtDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIJkEAgC5CAAh9wQBAMMIACH4BAEAwwgAIa0FIACGCQAhrgUgAIYJACEXBQAArQ4AIAcAAK4OACAIAACwDgAgGAAAuA4AIBoAAKwOACAcAACxDgAgHQAAsg4AIB4AALMOACAfAAC0DgAgIAAAtQ4AICYAALYOACAnAAC3DgAgKAAAuQ4AICkAALoOACAqAAC7DgAgKwAAvA4AICwAAL0OACAtAAC-DgAgmQQCAAAAAfcEAQAAAAH4BAEAAAABrQUgAAAAAa4FIAAAAAECAAAAAQAgOgAAnQ8AIBGZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABDZkEAgAAAAGrBEAAAAABuQQCAAAAAfkEAQAAAAH9BAEAAAAB_gQBAAAAAYIFAgAAAAGQBQEAAAABkQUQAAAAAZIFAQAAAAGTBQEAAAABlQUAAACVBQKWBQEAAAABAwAAAA0AIDoAAJ0PACA7AACjDwAgGQAAAA0AIAUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIDMAAKMPACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_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-QQBAAAAAfoEQAAAAAH7BAEAAAAB_AQBAAAAAf0EAQAAAAH-BAEAAAAB_wQBAAAAAYAFEAAAAAEEmQQCAAAAAboEAQAAAAG8BAEAAAABvgQBAAAAAQMAAAAWACA6AACzDwAgOwAAwQ8AIAkAAAAWACADAACQCwAgCgAAkgsAIDMAAMEPACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACGXBQEAwwgAIZgFAQDDCAAhBwMAAJALACAKAACSCwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhlwUBAMMIACGYBQEAwwgAIQMAAAALACA6AAC1DwAgOwAAxA8AIAsAAAALACADAACzCwAgBQAAtAsAIDMAAMQPACCZBAIAuQgAIZoEAgC5CAAhqQQBAMMIACGrBEAAxQgAIbIEAQDECAAhmQUBAMMIACGaBQEAxAgAIQkDAACzCwAgBQAAtAsAIJkEAgC5CAAhmgQCALkIACGpBAEAwwgAIasEQADFCAAhsgQBAMQIACGZBQEAwwgAIZoFAQDECAAhAwAAAA0AIDoAALcPACA7AADHDwAgGQAAAA0AIAUAAOsMACAHAADsDAAgGAAA9gwAIBoAAOoMACAbAADtDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIDMAAMcPACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAOsMACAHAADsDAAgGAAA9gwAIBoAAOoMACAbAADtDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIJkEAgC5CAAh9wQBAMMIACH4BAEAwwgAIa0FIACGCQAhrgUgAIYJACEDAAAABwAgOgAAuQ8AIDsAAMoPACAVAAAABwAgAwAAzAsAIAQAAMsLACAHAACDDAAgEwAAzQsAIBQAAM8LACAzAADKDwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhuQQCALkIACHGBAEAwwgAIdcEAQDDCAAh5QQBAMQIACHzBAEAwwgAIYMFAgC5CAAhmwVAAMUIACGcBQEAwwgAIZ0FAQDDCAAhngUBAMQIACGgBQAAyQugBSITAwAAzAsAIAQAAMsLACAHAACDDAAgEwAAzQsAIBQAAM8LACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACG5BAIAuQgAIcYEAQDDCAAh1wQBAMMIACHlBAEAxAgAIfMEAQDDCAAhgwUCALkIACGbBUAAxQgAIZwFAQDDCAAhnQUBAMMIACGeBQEAxAgAIaAFAADJC6AFIgMAAAADACA6AAC7DwAgOwAAzQ8AIB4AAAADACADAACKDAAgBQAAiwwAIA4AAI8MACATAACMDAAgFwAAjgwAIBgAAJAMACAZAACRDAAgMwAAzQ8AIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbIEAQDECAAhwARAAMUIACHGBAAAyQugBSKGBUAAwwkAIYwFAQDECAAhmgUBAMMIACGhBQEAwwgAIaIFAQDDCAAhowUBAMMIACGkBQEAxAgAIaUFAQDECAAhpgUBAMQIACGnBQEAxAgAIagFAQDECAAhqQUBAMQIACGqBQEAxAgAIasFAQDECAAhrAUBAMQIACEcAwAAigwAIAUAAIsMACAOAACPDAAgEwAAjAwAIBcAAI4MACAYAACQDAAgGQAAkQwAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbIEAQDECAAhwARAAMUIACHGBAAAyQugBSKGBUAAwwkAIYwFAQDECAAhmgUBAMMIACGhBQEAwwgAIaIFAQDDCAAhowUBAMMIACGkBQEAxAgAIaUFAQDECAAhpgUBAMQIACGnBQEAxAgAIagFAQDECAAhqQUBAMQIACGqBQEAxAgAIasFAQDECAAhrAUBAMQIACEVBAAAmAoAIAwAAJcKACANAACZCgAgEAAAmgoAIJkEAgAAAAGaBAIAAAABqwRAAAAAAbkEAgAAAAHABEAAAAABxgQAAADwBALlBAEAAAAB5gQCAAAAAecEAgAAAAHoBBAAAAAB6QQQAAAAAeoEEAAAAAHrBBAAAAAB7AQQAAAAAe0EEAAAAAHuBBAAAAAB8AQBAAAAAQIAAABQACA6AADODwAgAwAAACUAIDoAAM4PACA7AADSDwAgFwAAACUAIAQAAO0JACAMAADsCQAgDQAA7gkAIBAAAO8JACAzAADSDwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhuQQCALkIACHABEAAxQgAIcYEAADrCfAEIuUEAQDECAAh5gQCAPQIACHnBAIA9AgAIegEEADfCQAh6QQQAN8JACHqBBAA3wkAIesEEADfCQAh7AQQAOoJACHtBBAA3wkAIe4EEADfCQAh8AQBAMQIACEVBAAA7QkAIAwAAOwJACANAADuCQAgEAAA7wkAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA6wnwBCLlBAEAxAgAIeYEAgD0CAAh5wQCAPQIACHoBBAA3wkAIekEEADfCQAh6gQQAN8JACHrBBAA3wkAIewEEADqCQAh7QQQAN8JACHuBBAA3wkAIfAEAQDECAAhGQMAAPkKACAEAAD3CgAgBgAA-AoAIAcAAPoKACAJAAD7CgAgDgAA_goAIBEAAPwKACCZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAAQIAAAASACA6AADTDwAgAwAAABAAIDoAANMPACA7AADXDwAgGwAAABAAIAMAANcKACAEAADVCgAgBgAA1goAIAcAANgKACAJAADZCgAgDgAA3AoAIBEAANoKACAzAADXDwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhuQQCALkIACHABEAAxQgAIcYEAADUCo4FIoIFAgC5CAAhgwUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACGPBQIA9AgAIRkDAADXCgAgBAAA1QoAIAYAANYKACAHAADYCgAgCQAA2QoAIA4AANwKACARAADaCgAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhuQQCALkIACHABEAAxQgAIcYEAADUCo4FIoIFAgC5CAAhgwUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACGPBQIA9AgAIRcFAACtDgAgBwAArg4AIAgAALAOACAYAAC4DgAgGgAArA4AIBsAAK8OACAdAACyDgAgHgAAsw4AIB8AALQOACAgAAC1DgAgJgAAtg4AICcAALcOACAoAAC5DgAgKQAAug4AICoAALsOACArAAC8DgAgLAAAvQ4AIC0AAL4OACCZBAIAAAAB9wQBAAAAAfgEAQAAAAGtBSAAAAABrgUgAAAAAQIAAAABACA6AADYDwAgAwAAAA0AIDoAANgPACA7AADcDwAgGQAAAA0AIAUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIDMAANwPACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIJkEAgC5CAAh9wQBAMMIACH4BAEAwwgAIa0FIACGCQAhrgUgAIYJACEcAwAA3QwAIAUAAN4MACAIAADgDAAgDgAA4gwAIBMAAN8MACAYAADjDAAgGQAA5AwAIJkEAgAAAAGaBAIAAAABqwRAAAAAAbIEAQAAAAHABEAAAAABxgQAAACgBQKGBUAAAAABjAUBAAAAAZoFAQAAAAGhBQEAAAABogUBAAAAAaMFAQAAAAGkBQEAAAABpQUBAAAAAaYFAQAAAAGnBQEAAAABqAUBAAAAAakFAQAAAAGqBQEAAAABqwUBAAAAAawFAQAAAAECAAAABQAgOgAA3Q8AIASZBAIAAAABugQBAAAAAb8EQAAAAAHxBAABAAABAwAAAAMAIDoAAN0PACA7AADiDwAgHgAAAAMAIAMAAIoMACAFAACLDAAgCAAAjQwAIA4AAI8MACATAACMDAAgGAAAkAwAIBkAAJEMACAzAADiDwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhsgQBAMQIACHABEAAxQgAIcYEAADJC6AFIoYFQADDCQAhjAUBAMQIACGaBQEAwwgAIaEFAQDDCAAhogUBAMMIACGjBQEAwwgAIaQFAQDECAAhpQUBAMQIACGmBQEAxAgAIacFAQDECAAhqAUBAMQIACGpBQEAxAgAIaoFAQDECAAhqwUBAMQIACGsBQEAxAgAIRwDAACKDAAgBQAAiwwAIAgAAI0MACAOAACPDAAgEwAAjAwAIBgAAJAMACAZAACRDAAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhsgQBAMQIACHABEAAxQgAIcYEAADJC6AFIoYFQADDCQAhjAUBAMQIACGaBQEAwwgAIaEFAQDDCAAhogUBAMMIACGjBQEAwwgAIaQFAQDECAAhpQUBAMQIACGmBQEAxAgAIacFAQDECAAhqAUBAMQIACGpBQEAxAgAIaoFAQDECAAhqwUBAMQIACGsBQEAxAgAIQYEAAC3CgAgmQQCAAAAAasEQAAAAAG5BAIAAAAB8wQBAAAAAfUEAAAA9QQCAgAAAEgAIDoAAOMPACADAAAARgAgOgAA4w8AIDsAAOcPACAIAAAARgAgBAAAqQoAIDMAAOcPACCZBAIAuQgAIasEQADFCAAhuQQCALkIACHzBAEAwwgAIfUEAACoCvUEIgYEAACpCgAgmQQCALkIACGrBEAAxQgAIbkEAgC5CAAh8wQBAMMIACH1BAAAqAr1BCIXBQAArQ4AIAcAAK4OACAIAACwDgAgGAAAuA4AIBoAAKwOACAbAACvDgAgHAAAsQ4AIB4AALMOACAfAAC0DgAgIAAAtQ4AICYAALYOACAnAAC3DgAgKAAAuQ4AICkAALoOACAqAAC7DgAgKwAAvA4AICwAAL0OACAtAAC-DgAgmQQCAAAAAfcEAQAAAAH4BAEAAAABrQUgAAAAAa4FIAAAAAECAAAAAQAgOgAA6A8AIBwDAADdDAAgBQAA3gwAIAgAAOAMACATAADfDAAgFwAA4QwAIBgAAOMMACAZAADkDAAgmQQCAAAAAZoEAgAAAAGrBEAAAAABsgQBAAAAAcAEQAAAAAHGBAAAAKAFAoYFQAAAAAGMBQEAAAABmgUBAAAAAaEFAQAAAAGiBQEAAAABowUBAAAAAaQFAQAAAAGlBQEAAAABpgUBAAAAAacFAQAAAAGoBQEAAAABqQUBAAAAAaoFAQAAAAGrBQEAAAABrAUBAAAAAQIAAAAFACA6AADqDwAgGQMAAPkKACAEAAD3CgAgBgAA-AoAIAcAAPoKACAJAAD7CgAgEQAA_AoAIBIAAP0KACCZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAAQIAAAASACA6AADsDwAgCpkEAgAAAAGrBEAAAAAB3QQCAAAAAd4EAQAAAAHfBBAAAAAB4AQQAAAAAeIEAAAA4gQC4wRAAAAAAeQEAQAAAAHlBAEAAAABGQMAAPkKACAEAAD3CgAgBgAA-AoAIAcAAPoKACAJAAD7CgAgDgAA_goAIBIAAP0KACCZBAIAAAABmgQCAAAAAasEQAAAAAG5BAIAAAABwARAAAAAAcYEAAAAjgUCggUCAAAAAYMFAgAAAAGEBQEAAAABhQUBAAAAAYYFQAAAAAGHBQEAAAABiQUAAACJBQKKBYAAAAABiwVAAAAAAYwFAQAAAAGOBQEAAAABjwUCAAAAAQIAAAASACA6AADvDwAgCpkEAgAAAAGrBEAAAAAB3AQCAAAAAd4EAQAAAAHfBBAAAAAB4AQQAAAAAeIEAAAA4gQC4wRAAAAAAeQEAQAAAAHlBAEAAAABAwAAABAAIDoAAO8PACA7AAD0DwAgGwAAABAAIAMAANcKACAEAADVCgAgBgAA1goAIAcAANgKACAJAADZCgAgDgAA3AoAIBIAANsKACAzAAD0DwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhuQQCALkIACHABEAAxQgAIcYEAADUCo4FIoIFAgC5CAAhgwUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACGPBQIA9AgAIRkDAADXCgAgBAAA1QoAIAYAANYKACAHAADYCgAgCQAA2QoAIA4AANwKACASAADbCgAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhuQQCALkIACHABEAAxQgAIcYEAADUCo4FIoIFAgC5CAAhgwUCALkIACGEBQEAwwgAIYUFAQDDCAAhhgVAAMUIACGHBQEAwwgAIYkFAADTCokFIooFgAAAAAGLBUAAxQgAIYwFAQDDCAAhjgUBAMQIACGPBQIA9AgAIRCZBAIAAAABxgQAAACCBQLmBAIAAAAB6AQQAAAAAekEEAAAAAHqBBAAAAAB6wQQAAAAAfAEAQAAAAH5BAEAAAAB-gRAAAAAAfsEAQAAAAH8BAEAAAAB_QQBAAAAAf4EAQAAAAH_BAEAAAABgAUQAAAAAQMAAAANACA6AADoDwAgOwAA-A8AIBkAAAANACAFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGgAA6gwAIBsAAO0MACAcAADvDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACAzAAD4DwAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGgAA6gwAIBsAAO0MACAcAADvDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhAwAAAAMAIDoAAOoPACA7AAD7DwAgHgAAAAMAIAMAAIoMACAFAACLDAAgCAAAjQwAIBMAAIwMACAXAACODAAgGAAAkAwAIBkAAJEMACAzAAD7DwAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhsgQBAMQIACHABEAAxQgAIcYEAADJC6AFIoYFQADDCQAhjAUBAMQIACGaBQEAwwgAIaEFAQDDCAAhogUBAMMIACGjBQEAwwgAIaQFAQDECAAhpQUBAMQIACGmBQEAxAgAIacFAQDECAAhqAUBAMQIACGpBQEAxAgAIaoFAQDECAAhqwUBAMQIACGsBQEAxAgAIRwDAACKDAAgBQAAiwwAIAgAAI0MACATAACMDAAgFwAAjgwAIBgAAJAMACAZAACRDAAgmQQCALkIACGaBAIAuQgAIasEQADFCAAhsgQBAMQIACHABEAAxQgAIcYEAADJC6AFIoYFQADDCQAhjAUBAMQIACGaBQEAwwgAIaEFAQDDCAAhogUBAMMIACGjBQEAwwgAIaQFAQDECAAhpQUBAMQIACGmBQEAxAgAIacFAQDECAAhqAUBAMQIACGpBQEAxAgAIaoFAQDECAAhqwUBAMQIACGsBQEAxAgAIQMAAAAQACA6AADsDwAgOwAA_g8AIBsAAAAQACADAADXCgAgBAAA1QoAIAYAANYKACAHAADYCgAgCQAA2QoAIBEAANoKACASAADbCgAgMwAA_g8AIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA1AqOBSKCBQIAuQgAIYMFAgC5CAAhhAUBAMMIACGFBQEAwwgAIYYFQADFCAAhhwUBAMMIACGJBQAA0wqJBSKKBYAAAAABiwVAAMUIACGMBQEAwwgAIY4FAQDECAAhjwUCAPQIACEZAwAA1woAIAQAANUKACAGAADWCgAgBwAA2AoAIAkAANkKACARAADaCgAgEgAA2woAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA1AqOBSKCBQIAuQgAIYMFAgC5CAAhhAUBAMMIACGFBQEAwwgAIYYFQADFCAAhhwUBAMMIACGJBQAA0wqJBSKKBYAAAAABiwVAAMUIACGMBQEAwwgAIY4FAQDECAAhjwUCAPQIACETDAAAjAoAIA4AAM0KACCZBAIAAAABxgQAAACCBQLcBAIAAAAB5gQCAAAAAegEEAAAAAHpBBAAAAAB6gQQAAAAAesEEAAAAAHwBAEAAAAB-QQBAAAAAfoEQAAAAAH7BAEAAAAB_AQBAAAAAf0EAQAAAAH-BAEAAAAB_wQBAAAAAYAFEAAAAAECAAAAIgAgOgAA_w8AIBUEAACYCgAgDAAAlwoAIA0AAJkKACARAACbCgAgmQQCAAAAAZoEAgAAAAGrBEAAAAABuQQCAAAAAcAEQAAAAAHGBAAAAPAEAuUEAQAAAAHmBAIAAAAB5wQCAAAAAegEEAAAAAHpBBAAAAAB6gQQAAAAAesEEAAAAAHsBBAAAAAB7QQQAAAAAe4EEAAAAAHwBAEAAAABAgAAAFAAIDoAAIEQACADAAAAIAAgOgAA_w8AIDsAAIUQACAVAAAAIAAgDAAA_QkAIA4AAMwKACAzAACFEAAgmQQCALkIACHGBAAA-wmCBSLcBAIA9AgAIeYEAgD0CAAh6AQQAN8JACHpBBAA3wkAIeoEEADfCQAh6wQQAN8JACHwBAEAxAgAIfkEAQDDCAAh-gRAAMUIACH7BAEAxAgAIfwEAQDECAAh_QQBAMQIACH-BAEAxAgAIf8EAQDECAAhgAUQAOoJACETDAAA_QkAIA4AAMwKACCZBAIAuQgAIcYEAAD7CYIFItwEAgD0CAAh5gQCAPQIACHoBBAA3wkAIekEEADfCQAh6gQQAN8JACHrBBAA3wkAIfAEAQDECAAh-QQBAMMIACH6BEAAxQgAIfsEAQDECAAh_AQBAMQIACH9BAEAxAgAIf4EAQDECAAh_wQBAMQIACGABRAA6gkAIQMAAAAlACA6AACBEAAgOwAAiBAAIBcAAAAlACAEAADtCQAgDAAA7AkAIA0AAO4JACARAADwCQAgMwAAiBAAIJkEAgC5CAAhmgQCALkIACGrBEAAxQgAIbkEAgC5CAAhwARAAMUIACHGBAAA6wnwBCLlBAEAxAgAIeYEAgD0CAAh5wQCAPQIACHoBBAA3wkAIekEEADfCQAh6gQQAN8JACHrBBAA3wkAIewEEADqCQAh7QQQAN8JACHuBBAA3wkAIfAEAQDECAAhFQQAAO0JACAMAADsCQAgDQAA7gkAIBEAAPAJACCZBAIAuQgAIZoEAgC5CAAhqwRAAMUIACG5BAIAuQgAIcAEQADFCAAhxgQAAOsJ8AQi5QQBAMQIACHmBAIA9AgAIecEAgD0CAAh6AQQAN8JACHpBBAA3wkAIeoEEADfCQAh6wQQAN8JACHsBBAA6gkAIe0EEADfCQAh7gQQAN8JACHwBAEAxAgAIRcFAACtDgAgBwAArg4AIAgAALAOACAYAAC4DgAgGgAArA4AIBsAAK8OACAcAACxDgAgHQAAsg4AIB8AALQOACAgAAC1DgAgJgAAtg4AICcAALcOACAoAAC5DgAgKQAAug4AICoAALsOACArAAC8DgAgLAAAvQ4AIC0AAL4OACCZBAIAAAAB9wQBAAAAAfgEAQAAAAGtBSAAAAABrgUgAAAAAQIAAAABACA6AACJEAAgAwAAAA0AIDoAAIkQACA7AACNEAAgGQAAAA0AIAUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIDMAAI0QACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgLQAA_AwAIJkEAgC5CAAh9wQBAMMIACH4BAEAwwgAIa0FIACGCQAhrgUgAIYJACEXBQAArQ4AIAcAAK4OACAIAACwDgAgGAAAuA4AIBoAAKwOACAbAACvDgAgHAAAsQ4AIB0AALIOACAeAACzDgAgIAAAtQ4AICYAALYOACAnAAC3DgAgKAAAuQ4AICkAALoOACAqAAC7DgAgKwAAvA4AICwAAL0OACAtAAC-DgAgmQQCAAAAAfcEAQAAAAH4BAEAAAABrQUgAAAAAa4FIAAAAAECAAAAAQAgOgAAjhAAIAMAAAANACA6AACOEAAgOwAAkhAAIBkAAAANACAFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGgAA6gwAIBsAAO0MACAcAADvDAAgHQAA8AwAIB4AAPEMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACAzAACSEAAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGgAA6gwAIBsAAO0MACAcAADvDAAgHQAA8AwAIB4AAPEMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACCZBAIAuQgAIfcEAQDDCAAh-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-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACAzAACuEAAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGgAA6gwAIBsAAO0MACAcAADvDAAgHQAA8AwAIB4AAPEMACAfAADyDAAgIAAA8wwAICYAAPQMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACCZBAIAuQgAIfcEAQDDCAAh-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-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACAzAADHEAAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGgAA6gwAIBsAAO0MACAcAADvDAAgHQAA8AwAIB4AAPEMACAfAADyDAAgIAAA8wwAICYAAPQMACAnAAD1DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLAAA-wwAIC0AAPwMACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAK0OACAHAACuDgAgCAAAsA4AIBgAALgOACAaAACsDgAgGwAArw4AIBwAALEOACAdAACyDgAgHgAAsw4AIB8AALQOACAgAAC1DgAgJgAAtg4AICcAALcOACAoAAC5DgAgKgAAuw4AICsAALwOACAsAAC9DgAgLQAAvg4AIJkEAgAAAAH3BAEAAAAB-AQBAAAAAa0FIAAAAAGuBSAAAAABAgAAAAEAIDoAAMgQACADAAAADQAgOgAAyBAAIDsAAMwQACAZAAAADQAgBQAA6wwAIAcAAOwMACAIAADuDAAgGAAA9gwAIBoAAOoMACAbAADtDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACAqAAD5DAAgKwAA-gwAICwAAPsMACAtAAD8DAAgMwAAzBAAIJkEAgC5CAAh9wQBAMMIACH4BAEAwwgAIa0FIACGCQAhrgUgAIYJACEXBQAA6wwAIAcAAOwMACAIAADuDAAgGAAA9gwAIBoAAOoMACAbAADtDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACAqAAD5DAAgKwAA-gwAICwAAPsMACAtAAD8DAAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcFAACtDgAgBwAArg4AIAgAALAOACAYAAC4DgAgGgAArA4AIBsAAK8OACAcAACxDgAgHQAAsg4AIB4AALMOACAfAAC0DgAgIAAAtQ4AICYAALYOACAnAAC3DgAgKAAAuQ4AICkAALoOACArAAC8DgAgLAAAvQ4AIC0AAL4OACCZBAIAAAAB9wQBAAAAAfgEAQAAAAGtBSAAAAABrgUgAAAAAQIAAAABACA6AADNEAAgAwAAAA0AIDoAAM0QACA7AADREAAgGQAAAA0AIAUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICsAAPoMACAsAAD7DAAgLQAA_AwAIDMAANEQACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICsAAPoMACAsAAD7DAAgLQAA_AwAIJkEAgC5CAAh9wQBAMMIACH4BAEAwwgAIa0FIACGCQAhrgUgAIYJACEXBQAArQ4AIAcAAK4OACAIAACwDgAgGAAAuA4AIBoAAKwOACAbAACvDgAgHAAAsQ4AIB0AALIOACAeAACzDgAgHwAAtA4AICAAALUOACAmAAC2DgAgJwAAtw4AICgAALkOACApAAC6DgAgKgAAuw4AICwAAL0OACAtAAC-DgAgmQQCAAAAAfcEAQAAAAH4BAEAAAABrQUgAAAAAa4FIAAAAAECAAAAAQAgOgAA0hAAIAMAAAANACA6AADSEAAgOwAA1hAAIBkAAAANACAFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGgAA6gwAIBsAAO0MACAcAADvDAAgHQAA8AwAIB4AAPEMACAfAADyDAAgIAAA8wwAICYAAPQMACAnAAD1DAAgKAAA9wwAICkAAPgMACAqAAD5DAAgLAAA-wwAIC0AAPwMACAzAADWEAAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcFAADrDAAgBwAA7AwAIAgAAO4MACAYAAD2DAAgGgAA6gwAIBsAAO0MACAcAADvDAAgHQAA8AwAIB4AAPEMACAfAADyDAAgIAAA8wwAICYAAPQMACAnAAD1DAAgKAAA9wwAICkAAPgMACAqAAD5DAAgLAAA-wwAIC0AAPwMACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAK0OACAHAACuDgAgCAAAsA4AIBgAALgOACAaAACsDgAgGwAArw4AIBwAALEOACAdAACyDgAgHgAAsw4AIB8AALQOACAgAAC1DgAgJgAAtg4AICcAALcOACAoAAC5DgAgKQAAug4AICoAALsOACArAAC8DgAgLAAAvQ4AIJkEAgAAAAH3BAEAAAAB-AQBAAAAAa0FIAAAAAGuBSAAAAABAgAAAAEAIDoAANcQACADAAAADQAgOgAA1xAAIDsAANsQACAZAAAADQAgBQAA6wwAIAcAAOwMACAIAADuDAAgGAAA9gwAIBoAAOoMACAbAADtDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgMwAA2xAAIJkEAgC5CAAh9wQBAMMIACH4BAEAwwgAIa0FIACGCQAhrgUgAIYJACEXBQAA6wwAIAcAAOwMACAIAADuDAAgGAAA9gwAIBoAAOoMACAbAADtDAAgHAAA7wwAIB0AAPAMACAeAADxDAAgHwAA8gwAICAAAPMMACAmAAD0DAAgJwAA9QwAICgAAPcMACApAAD4DAAgKgAA-QwAICsAAPoMACAsAAD7DAAgmQQCALkIACH3BAEAwwgAIfgEAQDDCAAhrQUgAIYJACGuBSAAhgkAIRcFAACtDgAgBwAArg4AIAgAALAOACAYAAC4DgAgGgAArA4AIBsAAK8OACAcAACxDgAgHQAAsg4AIB4AALMOACAfAAC0DgAgIAAAtQ4AICYAALYOACAnAAC3DgAgKAAAuQ4AICkAALoOACAqAAC7DgAgKwAAvA4AIC0AAL4OACCZBAIAAAAB9wQBAAAAAfgEAQAAAAGtBSAAAAABrgUgAAAAAQIAAAABACA6AADcEAAgAwAAAA0AIDoAANwQACA7AADgEAAgGQAAAA0AIAUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLQAA_AwAIDMAAOAQACCZBAIAuQgAIfcEAQDDCAAh-AQBAMMIACGtBSAAhgkAIa4FIACGCQAhFwUAAOsMACAHAADsDAAgCAAA7gwAIBgAAPYMACAaAADqDAAgGwAA7QwAIBwAAO8MACAdAADwDAAgHgAA8QwAIB8AAPIMACAgAADzDAAgJgAA9AwAICcAAPUMACAoAAD3DAAgKQAA-AwAICoAAPkMACArAAD6DAAgLQAA_AwAIJkEAgC5CAAh9wQBAMMIACH4BAEAwwgAIa0FIACGCQAhrgUgAIYJACEUBWIDB2UECGkFCwAoGI4BFhoGAhtoBhxtGR1uCh5yGh92GyB6HCZ-HSeNAR4okAEiKZIBIyqUASQrlgElLJgBJi2cAScJAwABBQoDCEUFCwAYDlEKE0QHF0kTGFUWGVoXBwMAAQQAAgcMBAg8BQsAEhM7BxRAEQQDDgEFDwMIEwULABAJAxQBBAACBgADBxUECRcGCwAPDjYKESMJEjUOBAMAAQgYBQocBwsACAMEAAIGAAMJHQYCCB4ACh8ABAsADQwkBQ4mChAwCwYEAAILAAwMJwUNKAEQLAsRLQkCDgAKDwAJAhAuABEvAAEQMQABDAAFAhE3ABI4AAIFOQAIOgABBgADAwhCABNBABRDAAMEAAILABUWTRQBFQATARZOAAIDVgEEAAIBBAACBwVbAAhdAA5fABNcABdeABhgABlhAAEDAAEBAwABAQMAAQEDAAEFAwABCwAhFIQBHiF_HSKAAR0EAwABCwAgI4UBHSWJAR8BJAAeASWKAQACFIwBACKLAQABAwABAQMAAQEDAAEBAwABAQMAAQEDAAEOBZ4BAAefAQAIoQEAGKkBABqdAQAboAEAHKIBAB2jAQAepAEAH6UBACCmAQAmpwEAJ6gBAC2qAQAAAAAFCwAtQAAuQQAvQgAwQwAxAAAAAAAFCwAtQAAuQQAvQgAwQwAxAQMAAQEDAAEFCwA2QAA3QQA4QgA5QwA6AAAAAAAFCwA2QAA3QQA4QgA5QwA6AwMAAQQAAgfhAQQDAwABBAACB-cBBAULAD9AAEBBAEFCAEJDAEMAAAAAAAULAD9AAEBBAEFCAEJDAEMBBgADAQYAAwULAEhAAElBAEpCAEtDAEwAAAAAAAULAEhAAElBAEpCAEtDAEwBA48CAQEDlQIBBQsAUUAAUkEAU0IAVEMAVQAAAAAABQsAUUAAUkEAU0IAVEMAVQEDAAEBAwABBQsAWkAAW0EAXEIAXUMAXgAAAAAABQsAWkAAW0EAXEIAXUMAXgMEAAIGAAMJvQIGAwQAAgYAAwnDAgYFCwBjQABkQQBlQgBmQwBnAAAAAAAFCwBjQABkQQBlQgBmQwBnBQPVAgEEAAIGAAMH1gIECdcCBgUD3QIBBAACBgADB94CBAnfAgYFCwBsQABtQQBuQgBvQwBwAAAAAAAFCwBsQABtQQBuQgBvQwBwAgzxAgUO8gIKAgz4AgUO-QIKBQsAdUAAdkEAd0IAeEMAeQAAAAAABQsAdUAAdkEAd0IAeEMAeQEMAAUBDAAFBQsAfkAAf0EAgAFCAIEBQwCCAQAAAAAABQsAfkAAf0EAgAFCAIEBQwCCAQEDAAEBAwABBQsAhwFAAIgBQQCJAUIAigFDAIsBAAAAAAAFCwCHAUAAiAFBAIkBQgCKAUMAiwEBBAACAQQAAgULAJABQACRAUEAkgFCAJMBQwCUAQAAAAAABQsAkAFAAJEBQQCSAUIAkwFDAJQBARUAEwEVABMFCwCZAUAAmgFBAJsBQgCcAUMAnQEAAAAAAAULAJkBQACaAUEAmwFCAJwBQwCdAQMEAAIM4wMFDeQDAQMEAAIM6gMFDesDAQULAKIBQACjAUEApAFCAKUBQwCmAQAAAAAABQsAogFAAKMBQQCkAUIApQFDAKYBAg4ACg8ACQIOAAoPAAkFCwCrAUAArAFBAK0BQgCuAUMArwEAAAAAAAULAKsBQACsAUEArQFCAK4BQwCvAQEDAAEBAwABBQsAtAFAALUBQQC2AUIAtwFDALgBAAAAAAAFCwC0AUAAtQFBALYBQgC3AUMAuAEBAwABAQMAAQULAL0BQAC-AUEAvwFCAMABQwDBAQAAAAAABQsAvQFAAL4BQQC_AUIAwAFDAMEBAQMAAQEDAAEFCwDGAUAAxwFBAMgBQgDJAUMAygEAAAAAAAULAMYBQADHAUEAyAFCAMkBQwDKAQAAAAULANABQADRAUEA0gFCANMBQwDUAQAAAAAABQsA0AFAANEBQQDSAUIA0wFDANQBAgMAASHuBB0CAwABIfQEHQULANkBQADaAUEA2wFCANwBQwDdAQAAAAAABQsA2QFAANoBQQDbAUIA3AFDAN0BAgMAASOGBR0CAwABI4wFHQULAOIBQADjAUEA5AFCAOUBQwDmAQAAAAAABQsA4gFAAOMBQQDkAUIA5QFDAOYBASQAHgEkAB4FCwDrAUAA7AFBAO0BQgDuAUMA7wEAAAAAAAULAOsBQADsAUEA7QFCAO4BQwDvAQIDtAUBBAACAgO6BQEEAAIFCwD0AUAA9QFBAPYBQgD3AUMA-AEAAAAAAAULAPQBQAD1AUEA9gFCAPcBQwD4AQEEAAIBBAACBQsA_QFAAP4BQQD_AUIAgAJDAIECAAAAAAAFCwD9AUAA_gFBAP8BQgCAAkMAgQIBAwABAQMAAQULAIYCQACHAkEAiAJCAIkCQwCKAgAAAAAABQsAhgJAAIcCQQCIAkIAiQJDAIoCAQMAAQEDAAEFCwCPAkAAkAJBAJECQgCSAkMAkwIAAAAAAAULAI8CQACQAkEAkQJCAJICQwCTAgEDAAEBAwABBQsAmAJAAJkCQQCaAkIAmwJDAJwCAAAAAAAFCwCYAkAAmQJBAJoCQgCbAkMAnAIBAwABAQMAAQULAKECQACiAkEAowJCAKQCQwClAgAAAAAABQsAoQJAAKICQQCjAkIApAJDAKUCAQMAAQEDAAEFCwCqAkAAqwJBAKwCQgCtAkMArgIAAAAAAAULAKoCQACrAkEArAJCAK0CQwCuAgEDAAEBAwABBQsAswJAALQCQQC1AkIAtgJDALcCAAAAAAAFCwCzAkAAtAJBALUCQgC2AkMAtwIuAgEvqwEBMK0BATGuAQEyrwEBNLEBATWzASk2tAEqN7YBATi4ASk5uQErPLoBAT27AQE-vAEpRL8BLEXAATJGwQECR8IBAkjDAQJJxAECSsUBAkvHAQJMyQEpTcoBM07MAQJPzgEpUM8BNFHQAQJS0QECU9IBKVTVATVV1gE7VtcBA1fYAQNY2QEDWdoBA1rbAQNb3QEDXN8BKV3gATxe4wEDX-UBKWDmAT1h6AEDYukBA2PqASlk7QE-Ze4BRGbvARFn8AERaPEBEWnyARFq8wERa_UBEWz3ASlt-AFFbvoBEW_8ASlw_QFGcf4BEXL_ARFzgAIpdIMCR3WEAk12hQIEd4YCBHiHAgR5iAIEeokCBHuLAgR8jQIpfY4CTn6RAgR_kwIpgAGUAk-BAZYCBIIBlwIEgwGYAimEAZsCUIUBnAJWhgGdAgaHAZ4CBogBnwIGiQGgAgaKAaECBosBowIGjAGlAimNAaYCV44BqAIGjwGqAimQAasCWJEBrAIGkgGtAgaTAa4CKZQBsQJZlQGyAl-WAbMCB5cBtAIHmAG1AgeZAbYCB5oBtwIHmwG5AgecAbsCKZ0BvAJgngG_AgefAcECKaABwgJhoQHEAgeiAcUCB6MBxgIppAHJAmKlAcoCaKYBywIFpwHMAgWoAc0CBakBzgIFqgHPAgWrAdECBawB0wIprQHUAmmuAdkCBa8B2wIpsAHcAmqxAeACBbIB4QIFswHiAim0AeUCa7UB5gJxtgHnAgm3AegCCbgB6QIJuQHqAgm6AesCCbsB7QIJvAHvAim9AfACcr4B9AIJvwH2AinAAfcCc8EB-gIJwgH7AgnDAfwCKcQB_wJ0xQGAA3rGAYEDDscBggMOyAGDAw7JAYQDDsoBhQMOywGHAw7MAYkDKc0BigN7zgGMAw7PAY4DKdABjwN80QGQAw7SAZEDDtMBkgMp1AGVA33VAZYDgwHWAZcDGdcBmAMZ2AGZAxnZAZoDGdoBmwMZ2wGdAxncAZ8DKd0BoAOEAd4BogMZ3wGkAyngAaUDhQHhAaYDGeIBpwMZ4wGoAynkAasDhgHlAawDjAHmAa0DE-cBrgMT6AGvAxPpAbADE-oBsQMT6wGzAxPsAbUDKe0BtgONAe4BuAMT7wG6AynwAbsDjgHxAbwDE_IBvQMT8wG-Ayn0AcEDjwH1AcIDlQH2AcMDFPcBxAMU-AHFAxT5AcYDFPoBxwMU-wHJAxT8AcsDKf0BzAOWAf4BzgMU_wHQAymAAtEDlwGBAtIDFIIC0wMUgwLUAymEAtcDmAGFAtgDngGGAtkDCocC2gMKiALbAwqJAtwDCooC3QMKiwLfAwqMAuEDKY0C4gOfAY4C5gMKjwLoAymQAukDoAGRAuwDCpIC7QMKkwLuAymUAvEDoQGVAvIDpwGWAvMDC5cC9AMLmAL1AwuZAvYDC5oC9wMLmwL5AwucAvsDKZ0C_AOoAZ4C_gMLnwKABCmgAoEEqQGhAoIEC6ICgwQLowKEBCmkAocEqgGlAogEsAGmAokEGqcCigQaqAKLBBqpAowEGqoCjQQaqwKPBBqsApEEKa0CkgSxAa4ClAQarwKWBCmwApcEsgGxApgEGrICmQQaswKaBCm0Ap0EswG1Ap4EuQG2Ap8EG7cCoAQbuAKhBBu5AqIEG7oCowQbuwKlBBu8AqcEKb0CqAS6Ab4CqgQbvwKsBCnAAq0EuwHBAq4EG8ICrwQbwwKwBCnEArMEvAHFArQEwgHGArUEHMcCtgQcyAK3BBzJArgEHMoCuQQcywK7BBzMAr0EKc0CvgTDAc4CwAQczwLCBCnQAsMExAHRAsQEHNICxQQc0wLGBCnUAskExQHVAsoEywHWAswEzAHXAs0EzAHYAtAEzAHZAtEEzAHaAtIEzAHbAtQEzAHcAtYEKd0C1wTNAd4C2QTMAd8C2wQp4ALcBM4B4QLdBMwB4gLeBMwB4wLfBCnkAuIEzwHlAuME1QHmAuQEHecC5QQd6ALmBB3pAucEHeoC6AQd6wLqBB3sAuwEKe0C7QTWAe4C8AQd7wLyBCnwAvME1wHxAvUEHfIC9gQd8wL3BCn0AvoE2AH1AvsE3gH2AvwEHvcC_QQe-AL-BB75Av8EHvoCgAUe-wKCBR78AoQFKf0ChQXfAf4CiAUe_wKKBSmAA4sF4AGBA40FHoIDjgUegwOPBSmEA5IF4QGFA5MF5wGGA5QFH4cDlQUfiAOWBR-JA5cFH4oDmAUfiwOaBR-MA5wFKY0DnQXoAY4DnwUfjwOhBSmQA6IF6QGRA6MFH5IDpAUfkwOlBSmUA6gF6gGVA6kF8AGWA6oFFpcDqwUWmAOsBRaZA60FFpoDrgUWmwOwBRacA7IFKZ0DswXxAZ4DtgUWnwO4BSmgA7kF8gGhA7sFFqIDvAUWowO9BSmkA8AF8wGlA8EF-QGmA8IFF6cDwwUXqAPEBRepA8UFF6oDxgUXqwPIBResA8oFKa0DywX6Aa4DzQUXrwPPBSmwA9AF-wGxA9EFF7ID0gUXswPTBSm0A9YF_AG1A9cFggK2A9kFIrcD2gUiuAPcBSK5A90FIroD3gUiuwPgBSK8A-IFKb0D4wWDAr4D5QUivwPnBSnAA-gFhALBA-kFIsID6gUiwwPrBSnEA-4FhQLFA-8FiwLGA_EFI8cD8gUjyAP0BSPJA_UFI8oD9gUjywP4BSPMA_oFKc0D-wWMAs4D_QUjzwP_BSnQA4AGjQLRA4EGI9IDggYj0wODBinUA4YGjgLVA4cGlALWA4kGJNcDigYk2AOMBiTZA40GJNoDjgYk2wOQBiTcA5IGKd0DkwaVAt4DlQYk3wOXBingA5gGlgLhA5kGJOIDmgYk4wObBinkA54GlwLlA58GnQLmA6EGJecDogYl6AOkBiXpA6UGJeoDpgYl6wOoBiXsA6oGKe0DqwaeAu4DrQYl7wOvBinwA7AGnwLxA7EGJfIDsgYl8wOzBin0A7YGoAL1A7cGpgL2A7gGJ_cDuQYn-AO6Bif5A7sGJ_oDvAYn-wO-Bif8A8AGKf0DwQanAv4DwwYn_wPFBimABMYGqAKBBMcGJ4IEyAYngwTJBimEBMwGqQKFBM0GrwKGBM8GJocE0AYmiATSBiaJBNMGJooE1AYmiwTWBiaMBNgGKY0E2QawAo4E2wYmjwTdBimQBN4GsQKRBN8GJpIE4AYmkwThBimUBOQGsgKVBOUGuAI"
}
config.compilerWasm = {
getRuntime: async () => require('./query_compiler_fast_bg.js'),
diff --git a/packages/db/generated/prisma/index-browser.js b/packages/db/generated/prisma/index-browser.js
index 311cb2f2..3c9d9b72 100644
--- a/packages/db/generated/prisma/index-browser.js
+++ b/packages/db/generated/prisma/index-browser.js
@@ -145,6 +145,7 @@ exports.Prisma.PatientScalarFieldEnum = {
policyHolder: 'policyHolder',
allergies: 'allergies',
medicalConditions: 'medicalConditions',
+ preferredLanguage: 'preferredLanguage',
status: 'status',
userId: 'userId',
createdAt: 'createdAt',
@@ -432,6 +433,7 @@ exports.Prisma.OfficeHoursScalarFieldEnum = {
exports.Prisma.OfficeContactScalarFieldEnum = {
id: 'id',
userId: 'userId',
+ officeName: 'officeName',
receptionistName: 'receptionistName',
dentistName: 'dentistName',
phoneNumber: 'phoneNumber',
@@ -439,6 +441,14 @@ exports.Prisma.OfficeContactScalarFieldEnum = {
fax: 'fax'
};
+exports.Prisma.InsuranceContactScalarFieldEnum = {
+ id: 'id',
+ userId: 'userId',
+ name: 'name',
+ phoneNumber: 'phoneNumber',
+ createdAt: 'createdAt'
+};
+
exports.Prisma.ProcedureTimeslotScalarFieldEnum = {
id: 'id',
userId: 'userId',
@@ -591,6 +601,7 @@ exports.Prisma.ModelName = {
AiSettings: 'AiSettings',
OfficeHours: 'OfficeHours',
OfficeContact: 'OfficeContact',
+ InsuranceContact: 'InsuranceContact',
ProcedureTimeslot: 'ProcedureTimeslot'
};
diff --git a/packages/db/generated/prisma/index.d.ts b/packages/db/generated/prisma/index.d.ts
index 636ffcc2..3e9682aa 100644
--- a/packages/db/generated/prisma/index.d.ts
+++ b/packages/db/generated/prisma/index.d.ts
@@ -153,6 +153,11 @@ export type OfficeHours = $Result.DefaultSelection
*
*/
export type OfficeContact = $Result.DefaultSelection
+/**
+ * Model InsuranceContact
+ *
+ */
+export type InsuranceContact = $Result.DefaultSelection
/**
* Model ProcedureTimeslot
*
@@ -733,6 +738,16 @@ export class PrismaClient<
*/
get officeContact(): Prisma.OfficeContactDelegate;
+ /**
+ * `prisma.insuranceContact`: Exposes CRUD operations for the **InsuranceContact** model.
+ * Example usage:
+ * ```ts
+ * // Fetch zero or more InsuranceContacts
+ * const insuranceContacts = await prisma.insuranceContact.findMany()
+ * ```
+ */
+ get insuranceContact(): Prisma.InsuranceContactDelegate;
+
/**
* `prisma.procedureTimeslot`: Exposes CRUD operations for the **ProcedureTimeslot** model.
* Example usage:
@@ -1204,6 +1219,7 @@ export namespace Prisma {
AiSettings: 'AiSettings',
OfficeHours: 'OfficeHours',
OfficeContact: 'OfficeContact',
+ InsuranceContact: 'InsuranceContact',
ProcedureTimeslot: 'ProcedureTimeslot'
};
@@ -1220,7 +1236,7 @@ export namespace Prisma {
omit: GlobalOmitOptions
}
meta: {
- modelProps: "user" | "patient" | "appointment" | "appointmentFile" | "staff" | "npiProvider" | "appointmentProcedure" | "claim" | "serviceLine" | "claimFile" | "insuranceCredential" | "pdfGroup" | "pdfFile" | "payment" | "serviceLineTransaction" | "databaseBackup" | "backupDestination" | "notification" | "cronJobLog" | "cloudFolder" | "cloudFile" | "cloudFileChunk" | "communication" | "patientDocument" | "twilioSettings" | "aiSettings" | "officeHours" | "officeContact" | "procedureTimeslot"
+ modelProps: "user" | "patient" | "appointment" | "appointmentFile" | "staff" | "npiProvider" | "appointmentProcedure" | "claim" | "serviceLine" | "claimFile" | "insuranceCredential" | "pdfGroup" | "pdfFile" | "payment" | "serviceLineTransaction" | "databaseBackup" | "backupDestination" | "notification" | "cronJobLog" | "cloudFolder" | "cloudFile" | "cloudFileChunk" | "communication" | "patientDocument" | "twilioSettings" | "aiSettings" | "officeHours" | "officeContact" | "insuranceContact" | "procedureTimeslot"
txIsolationLevel: Prisma.TransactionIsolationLevel
}
model: {
@@ -3296,6 +3312,80 @@ export namespace Prisma {
}
}
}
+ InsuranceContact: {
+ payload: Prisma.$InsuranceContactPayload
+ fields: Prisma.InsuranceContactFieldRefs
+ operations: {
+ findUnique: {
+ args: Prisma.InsuranceContactFindUniqueArgs
+ result: $Utils.PayloadToResult | null
+ }
+ findUniqueOrThrow: {
+ args: Prisma.InsuranceContactFindUniqueOrThrowArgs
+ result: $Utils.PayloadToResult
+ }
+ findFirst: {
+ args: Prisma.InsuranceContactFindFirstArgs
+ result: $Utils.PayloadToResult | null
+ }
+ findFirstOrThrow: {
+ args: Prisma.InsuranceContactFindFirstOrThrowArgs
+ result: $Utils.PayloadToResult
+ }
+ findMany: {
+ args: Prisma.InsuranceContactFindManyArgs
+ result: $Utils.PayloadToResult[]
+ }
+ create: {
+ args: Prisma.InsuranceContactCreateArgs
+ result: $Utils.PayloadToResult
+ }
+ createMany: {
+ args: Prisma.InsuranceContactCreateManyArgs
+ result: BatchPayload
+ }
+ createManyAndReturn: {
+ args: Prisma.InsuranceContactCreateManyAndReturnArgs
+ result: $Utils.PayloadToResult[]
+ }
+ delete: {
+ args: Prisma.InsuranceContactDeleteArgs
+ result: $Utils.PayloadToResult
+ }
+ update: {
+ args: Prisma.InsuranceContactUpdateArgs
+ result: $Utils.PayloadToResult
+ }
+ deleteMany: {
+ args: Prisma.InsuranceContactDeleteManyArgs
+ result: BatchPayload
+ }
+ updateMany: {
+ args: Prisma.InsuranceContactUpdateManyArgs
+ result: BatchPayload
+ }
+ updateManyAndReturn: {
+ args: Prisma.InsuranceContactUpdateManyAndReturnArgs
+ result: $Utils.PayloadToResult[]
+ }
+ upsert: {
+ args: Prisma.InsuranceContactUpsertArgs
+ result: $Utils.PayloadToResult
+ }
+ aggregate: {
+ args: Prisma.InsuranceContactAggregateArgs
+ result: $Utils.Optional
+ }
+ groupBy: {
+ args: Prisma.InsuranceContactGroupByArgs
+ result: $Utils.Optional[]
+ }
+ count: {
+ args: Prisma.InsuranceContactCountArgs
+ result: $Utils.Optional | number
+ }
+ }
+ }
ProcedureTimeslot: {
payload: Prisma.$ProcedureTimeslotPayload
fields: Prisma.ProcedureTimeslotFieldRefs
@@ -3506,6 +3596,7 @@ export namespace Prisma {
aiSettings?: AiSettingsOmit
officeHours?: OfficeHoursOmit
officeContact?: OfficeContactOmit
+ insuranceContact?: InsuranceContactOmit
procedureTimeslot?: ProcedureTimeslotOmit
}
@@ -3600,6 +3691,7 @@ export namespace Prisma {
cloudFolders: number
cloudFiles: number
communications: number
+ insuranceContacts: number
}
export type UserCountOutputTypeSelect = {
@@ -3616,6 +3708,7 @@ export namespace Prisma {
cloudFolders?: boolean | UserCountOutputTypeCountCloudFoldersArgs
cloudFiles?: boolean | UserCountOutputTypeCountCloudFilesArgs
communications?: boolean | UserCountOutputTypeCountCommunicationsArgs
+ insuranceContacts?: boolean | UserCountOutputTypeCountInsuranceContactsArgs
}
// Custom InputTypes
@@ -3720,6 +3813,13 @@ export namespace Prisma {
where?: CommunicationWhereInput
}
+ /**
+ * UserCountOutputType without action
+ */
+ export type UserCountOutputTypeCountInsuranceContactsArgs = {
+ where?: InsuranceContactWhereInput
+ }
+
/**
* Count Type PatientCountOutputType
@@ -4368,6 +4468,7 @@ export namespace Prisma {
officeHours?: boolean | User$officeHoursArgs
officeContact?: boolean | User$officeContactArgs
procedureTimeslot?: boolean | User$procedureTimeslotArgs
+ insuranceContacts?: boolean | User$insuranceContactsArgs
_count?: boolean | UserCountOutputTypeDefaultArgs
}, ExtArgs["result"]["user"]>
@@ -4415,6 +4516,7 @@ export namespace Prisma {
officeHours?: boolean | User$officeHoursArgs
officeContact?: boolean | User$officeContactArgs
procedureTimeslot?: boolean | User$procedureTimeslotArgs
+ insuranceContacts?: boolean | User$insuranceContactsArgs
_count?: boolean | UserCountOutputTypeDefaultArgs
}
export type UserIncludeCreateManyAndReturn = {}
@@ -4441,6 +4543,7 @@ export namespace Prisma {
officeHours: Prisma.$OfficeHoursPayload | null
officeContact: Prisma.$OfficeContactPayload | null
procedureTimeslot: Prisma.$ProcedureTimeslotPayload | null
+ insuranceContacts: Prisma.$InsuranceContactPayload[]
}
scalars: $Extensions.GetPayloadResult<{
id: number
@@ -4860,6 +4963,7 @@ export namespace Prisma {
officeHours = {}>(args?: Subset>): Prisma__OfficeHoursClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
officeContact = {}>(args?: Subset>): Prisma__OfficeContactClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
procedureTimeslot = {}>(args?: Subset>): Prisma__ProcedureTimeslotClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
+ insuranceContacts = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null>
/**
* Attaches callbacks for the resolution and/or rejection of the Promise.
* @param onfulfilled The callback to execute when the Promise is resolved.
@@ -5688,6 +5792,30 @@ export namespace Prisma {
where?: ProcedureTimeslotWhereInput
}
+ /**
+ * User.insuranceContacts
+ */
+ export type User$insuranceContactsArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ where?: InsuranceContactWhereInput
+ orderBy?: InsuranceContactOrderByWithRelationInput | InsuranceContactOrderByWithRelationInput[]
+ cursor?: InsuranceContactWhereUniqueInput
+ take?: number
+ skip?: number
+ distinct?: InsuranceContactScalarFieldEnum | InsuranceContactScalarFieldEnum[]
+ }
+
/**
* User without action
*/
@@ -5746,6 +5874,7 @@ export namespace Prisma {
policyHolder: string | null
allergies: string | null
medicalConditions: string | null
+ preferredLanguage: string | null
status: $Enums.PatientStatus | null
userId: number | null
createdAt: Date | null
@@ -5769,6 +5898,7 @@ export namespace Prisma {
policyHolder: string | null
allergies: string | null
medicalConditions: string | null
+ preferredLanguage: string | null
status: $Enums.PatientStatus | null
userId: number | null
createdAt: Date | null
@@ -5792,6 +5922,7 @@ export namespace Prisma {
policyHolder: number
allergies: number
medicalConditions: number
+ preferredLanguage: number
status: number
userId: number
createdAt: number
@@ -5827,6 +5958,7 @@ export namespace Prisma {
policyHolder?: true
allergies?: true
medicalConditions?: true
+ preferredLanguage?: true
status?: true
userId?: true
createdAt?: true
@@ -5850,6 +5982,7 @@ export namespace Prisma {
policyHolder?: true
allergies?: true
medicalConditions?: true
+ preferredLanguage?: true
status?: true
userId?: true
createdAt?: true
@@ -5873,6 +6006,7 @@ export namespace Prisma {
policyHolder?: true
allergies?: true
medicalConditions?: true
+ preferredLanguage?: true
status?: true
userId?: true
createdAt?: true
@@ -5983,6 +6117,7 @@ export namespace Prisma {
policyHolder: string | null
allergies: string | null
medicalConditions: string | null
+ preferredLanguage: string | null
status: $Enums.PatientStatus
userId: number
createdAt: Date
@@ -6025,6 +6160,7 @@ export namespace Prisma {
policyHolder?: boolean
allergies?: boolean
medicalConditions?: boolean
+ preferredLanguage?: boolean
status?: boolean
userId?: boolean
createdAt?: boolean
@@ -6057,6 +6193,7 @@ export namespace Prisma {
policyHolder?: boolean
allergies?: boolean
medicalConditions?: boolean
+ preferredLanguage?: boolean
status?: boolean
userId?: boolean
createdAt?: boolean
@@ -6081,6 +6218,7 @@ export namespace Prisma {
policyHolder?: boolean
allergies?: boolean
medicalConditions?: boolean
+ preferredLanguage?: boolean
status?: boolean
userId?: boolean
createdAt?: boolean
@@ -6105,13 +6243,14 @@ export namespace Prisma {
policyHolder?: boolean
allergies?: boolean
medicalConditions?: boolean
+ preferredLanguage?: boolean
status?: boolean
userId?: boolean
createdAt?: boolean
updatedAt?: boolean
}
- export type PatientOmit = $Extensions.GetOmit<"id" | "firstName" | "lastName" | "dateOfBirth" | "gender" | "phone" | "email" | "address" | "city" | "zipCode" | "insuranceProvider" | "insuranceId" | "groupNumber" | "policyHolder" | "allergies" | "medicalConditions" | "status" | "userId" | "createdAt" | "updatedAt", ExtArgs["result"]["patient"]>
+ export type PatientOmit = $Extensions.GetOmit<"id" | "firstName" | "lastName" | "dateOfBirth" | "gender" | "phone" | "email" | "address" | "city" | "zipCode" | "insuranceProvider" | "insuranceId" | "groupNumber" | "policyHolder" | "allergies" | "medicalConditions" | "preferredLanguage" | "status" | "userId" | "createdAt" | "updatedAt", ExtArgs["result"]["patient"]>
export type PatientInclude = {
user?: boolean | UserDefaultArgs
appointments?: boolean | Patient$appointmentsArgs
@@ -6159,6 +6298,7 @@ export namespace Prisma {
policyHolder: string | null
allergies: string | null
medicalConditions: string | null
+ preferredLanguage: string | null
status: $Enums.PatientStatus
userId: number
createdAt: Date
@@ -6610,6 +6750,7 @@ export namespace Prisma {
readonly policyHolder: FieldRef<"Patient", 'String'>
readonly allergies: FieldRef<"Patient", 'String'>
readonly medicalConditions: FieldRef<"Patient", 'String'>
+ readonly preferredLanguage: FieldRef<"Patient", 'String'>
readonly status: FieldRef<"Patient", 'PatientStatus'>
readonly userId: FieldRef<"Patient", 'Int'>
readonly createdAt: FieldRef<"Patient", 'DateTime'>
@@ -36560,6 +36701,7 @@ export namespace Prisma {
export type OfficeContactMinAggregateOutputType = {
id: number | null
userId: number | null
+ officeName: string | null
receptionistName: string | null
dentistName: string | null
phoneNumber: string | null
@@ -36570,6 +36712,7 @@ export namespace Prisma {
export type OfficeContactMaxAggregateOutputType = {
id: number | null
userId: number | null
+ officeName: string | null
receptionistName: string | null
dentistName: string | null
phoneNumber: string | null
@@ -36580,6 +36723,7 @@ export namespace Prisma {
export type OfficeContactCountAggregateOutputType = {
id: number
userId: number
+ officeName: number
receptionistName: number
dentistName: number
phoneNumber: number
@@ -36602,6 +36746,7 @@ export namespace Prisma {
export type OfficeContactMinAggregateInputType = {
id?: true
userId?: true
+ officeName?: true
receptionistName?: true
dentistName?: true
phoneNumber?: true
@@ -36612,6 +36757,7 @@ export namespace Prisma {
export type OfficeContactMaxAggregateInputType = {
id?: true
userId?: true
+ officeName?: true
receptionistName?: true
dentistName?: true
phoneNumber?: true
@@ -36622,6 +36768,7 @@ export namespace Prisma {
export type OfficeContactCountAggregateInputType = {
id?: true
userId?: true
+ officeName?: true
receptionistName?: true
dentistName?: true
phoneNumber?: true
@@ -36719,6 +36866,7 @@ export namespace Prisma {
export type OfficeContactGroupByOutputType = {
id: number
userId: number
+ officeName: string | null
receptionistName: string | null
dentistName: string | null
phoneNumber: string | null
@@ -36748,6 +36896,7 @@ export namespace Prisma {
export type OfficeContactSelect = $Extensions.GetSelect<{
id?: boolean
userId?: boolean
+ officeName?: boolean
receptionistName?: boolean
dentistName?: boolean
phoneNumber?: boolean
@@ -36759,6 +36908,7 @@ export namespace Prisma {
export type OfficeContactSelectCreateManyAndReturn = $Extensions.GetSelect<{
id?: boolean
userId?: boolean
+ officeName?: boolean
receptionistName?: boolean
dentistName?: boolean
phoneNumber?: boolean
@@ -36770,6 +36920,7 @@ export namespace Prisma {
export type OfficeContactSelectUpdateManyAndReturn = $Extensions.GetSelect<{
id?: boolean
userId?: boolean
+ officeName?: boolean
receptionistName?: boolean
dentistName?: boolean
phoneNumber?: boolean
@@ -36781,6 +36932,7 @@ export namespace Prisma {
export type OfficeContactSelectScalar = {
id?: boolean
userId?: boolean
+ officeName?: boolean
receptionistName?: boolean
dentistName?: boolean
phoneNumber?: boolean
@@ -36788,7 +36940,7 @@ export namespace Prisma {
fax?: boolean
}
- export type OfficeContactOmit = $Extensions.GetOmit<"id" | "userId" | "receptionistName" | "dentistName" | "phoneNumber" | "email" | "fax", ExtArgs["result"]["officeContact"]>
+ export type OfficeContactOmit = $Extensions.GetOmit<"id" | "userId" | "officeName" | "receptionistName" | "dentistName" | "phoneNumber" | "email" | "fax", ExtArgs["result"]["officeContact"]>
export type OfficeContactInclude = {
user?: boolean | UserDefaultArgs
}
@@ -36807,6 +36959,7 @@ export namespace Prisma {
scalars: $Extensions.GetPayloadResult<{
id: number
userId: number
+ officeName: string | null
receptionistName: string | null
dentistName: string | null
phoneNumber: string | null
@@ -37238,6 +37391,7 @@ export namespace Prisma {
interface OfficeContactFieldRefs {
readonly id: FieldRef<"OfficeContact", 'Int'>
readonly userId: FieldRef<"OfficeContact", 'Int'>
+ readonly officeName: FieldRef<"OfficeContact", 'String'>
readonly receptionistName: FieldRef<"OfficeContact", 'String'>
readonly dentistName: FieldRef<"OfficeContact", 'String'>
readonly phoneNumber: FieldRef<"OfficeContact", 'String'>
@@ -37657,6 +37811,1102 @@ export namespace Prisma {
}
+ /**
+ * Model InsuranceContact
+ */
+
+ export type AggregateInsuranceContact = {
+ _count: InsuranceContactCountAggregateOutputType | null
+ _avg: InsuranceContactAvgAggregateOutputType | null
+ _sum: InsuranceContactSumAggregateOutputType | null
+ _min: InsuranceContactMinAggregateOutputType | null
+ _max: InsuranceContactMaxAggregateOutputType | null
+ }
+
+ export type InsuranceContactAvgAggregateOutputType = {
+ id: number | null
+ userId: number | null
+ }
+
+ export type InsuranceContactSumAggregateOutputType = {
+ id: number | null
+ userId: number | null
+ }
+
+ export type InsuranceContactMinAggregateOutputType = {
+ id: number | null
+ userId: number | null
+ name: string | null
+ phoneNumber: string | null
+ createdAt: Date | null
+ }
+
+ export type InsuranceContactMaxAggregateOutputType = {
+ id: number | null
+ userId: number | null
+ name: string | null
+ phoneNumber: string | null
+ createdAt: Date | null
+ }
+
+ export type InsuranceContactCountAggregateOutputType = {
+ id: number
+ userId: number
+ name: number
+ phoneNumber: number
+ createdAt: number
+ _all: number
+ }
+
+
+ export type InsuranceContactAvgAggregateInputType = {
+ id?: true
+ userId?: true
+ }
+
+ export type InsuranceContactSumAggregateInputType = {
+ id?: true
+ userId?: true
+ }
+
+ export type InsuranceContactMinAggregateInputType = {
+ id?: true
+ userId?: true
+ name?: true
+ phoneNumber?: true
+ createdAt?: true
+ }
+
+ export type InsuranceContactMaxAggregateInputType = {
+ id?: true
+ userId?: true
+ name?: true
+ phoneNumber?: true
+ createdAt?: true
+ }
+
+ export type InsuranceContactCountAggregateInputType = {
+ id?: true
+ userId?: true
+ name?: true
+ phoneNumber?: true
+ createdAt?: true
+ _all?: true
+ }
+
+ export type InsuranceContactAggregateArgs = {
+ /**
+ * Filter which InsuranceContact to aggregate.
+ */
+ where?: InsuranceContactWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of InsuranceContacts to fetch.
+ */
+ orderBy?: InsuranceContactOrderByWithRelationInput | InsuranceContactOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the start position
+ */
+ cursor?: InsuranceContactWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` InsuranceContacts from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` InsuranceContacts.
+ */
+ skip?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Count returned InsuranceContacts
+ **/
+ _count?: true | InsuranceContactCountAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to average
+ **/
+ _avg?: InsuranceContactAvgAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to sum
+ **/
+ _sum?: InsuranceContactSumAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to find the minimum value
+ **/
+ _min?: InsuranceContactMinAggregateInputType
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
+ *
+ * Select which fields to find the maximum value
+ **/
+ _max?: InsuranceContactMaxAggregateInputType
+ }
+
+ export type GetInsuranceContactAggregateType = {
+ [P in keyof T & keyof AggregateInsuranceContact]: P extends '_count' | 'count'
+ ? T[P] extends true
+ ? number
+ : GetScalarType
+ : GetScalarType
+ }
+
+
+
+
+ export type InsuranceContactGroupByArgs = {
+ where?: InsuranceContactWhereInput
+ orderBy?: InsuranceContactOrderByWithAggregationInput | InsuranceContactOrderByWithAggregationInput[]
+ by: InsuranceContactScalarFieldEnum[] | InsuranceContactScalarFieldEnum
+ having?: InsuranceContactScalarWhereWithAggregatesInput
+ take?: number
+ skip?: number
+ _count?: InsuranceContactCountAggregateInputType | true
+ _avg?: InsuranceContactAvgAggregateInputType
+ _sum?: InsuranceContactSumAggregateInputType
+ _min?: InsuranceContactMinAggregateInputType
+ _max?: InsuranceContactMaxAggregateInputType
+ }
+
+ export type InsuranceContactGroupByOutputType = {
+ id: number
+ userId: number
+ name: string
+ phoneNumber: string | null
+ createdAt: Date
+ _count: InsuranceContactCountAggregateOutputType | null
+ _avg: InsuranceContactAvgAggregateOutputType | null
+ _sum: InsuranceContactSumAggregateOutputType | null
+ _min: InsuranceContactMinAggregateOutputType | null
+ _max: InsuranceContactMaxAggregateOutputType | null
+ }
+
+ type GetInsuranceContactGroupByPayload = Prisma.PrismaPromise<
+ Array<
+ PickEnumerable &
+ {
+ [P in ((keyof T) & (keyof InsuranceContactGroupByOutputType))]: P extends '_count'
+ ? T[P] extends boolean
+ ? number
+ : GetScalarType
+ : GetScalarType
+ }
+ >
+ >
+
+
+ export type InsuranceContactSelect = $Extensions.GetSelect<{
+ id?: boolean
+ userId?: boolean
+ name?: boolean
+ phoneNumber?: boolean
+ createdAt?: boolean
+ user?: boolean | UserDefaultArgs
+ }, ExtArgs["result"]["insuranceContact"]>
+
+ export type InsuranceContactSelectCreateManyAndReturn = $Extensions.GetSelect<{
+ id?: boolean
+ userId?: boolean
+ name?: boolean
+ phoneNumber?: boolean
+ createdAt?: boolean
+ user?: boolean | UserDefaultArgs
+ }, ExtArgs["result"]["insuranceContact"]>
+
+ export type InsuranceContactSelectUpdateManyAndReturn = $Extensions.GetSelect<{
+ id?: boolean
+ userId?: boolean
+ name?: boolean
+ phoneNumber?: boolean
+ createdAt?: boolean
+ user?: boolean | UserDefaultArgs
+ }, ExtArgs["result"]["insuranceContact"]>
+
+ export type InsuranceContactSelectScalar = {
+ id?: boolean
+ userId?: boolean
+ name?: boolean
+ phoneNumber?: boolean
+ createdAt?: boolean
+ }
+
+ export type InsuranceContactOmit = $Extensions.GetOmit<"id" | "userId" | "name" | "phoneNumber" | "createdAt", ExtArgs["result"]["insuranceContact"]>
+ export type InsuranceContactInclude = {
+ user?: boolean | UserDefaultArgs
+ }
+ export type InsuranceContactIncludeCreateManyAndReturn = {
+ user?: boolean | UserDefaultArgs
+ }
+ export type InsuranceContactIncludeUpdateManyAndReturn = {
+ user?: boolean | UserDefaultArgs
+ }
+
+ export type $InsuranceContactPayload = {
+ name: "InsuranceContact"
+ objects: {
+ user: Prisma.$UserPayload
+ }
+ scalars: $Extensions.GetPayloadResult<{
+ id: number
+ userId: number
+ name: string
+ phoneNumber: string | null
+ createdAt: Date
+ }, ExtArgs["result"]["insuranceContact"]>
+ composites: {}
+ }
+
+ type InsuranceContactGetPayload = $Result.GetResult
+
+ type InsuranceContactCountArgs =
+ Omit & {
+ select?: InsuranceContactCountAggregateInputType | true
+ }
+
+ export interface InsuranceContactDelegate {
+ [K: symbol]: { types: Prisma.TypeMap['model']['InsuranceContact'], meta: { name: 'InsuranceContact' } }
+ /**
+ * Find zero or one InsuranceContact that matches the filter.
+ * @param {InsuranceContactFindUniqueArgs} args - Arguments to find a InsuranceContact
+ * @example
+ * // Get one InsuranceContact
+ * const insuranceContact = await prisma.insuranceContact.findUnique({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ */
+ findUnique(args: SelectSubset>): Prisma__InsuranceContactClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Find one InsuranceContact that matches the filter or throw an error with `error.code='P2025'`
+ * if no matches were found.
+ * @param {InsuranceContactFindUniqueOrThrowArgs} args - Arguments to find a InsuranceContact
+ * @example
+ * // Get one InsuranceContact
+ * const insuranceContact = await prisma.insuranceContact.findUniqueOrThrow({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ */
+ findUniqueOrThrow(args: SelectSubset>): Prisma__InsuranceContactClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Find the first InsuranceContact that matches the filter.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {InsuranceContactFindFirstArgs} args - Arguments to find a InsuranceContact
+ * @example
+ * // Get one InsuranceContact
+ * const insuranceContact = await prisma.insuranceContact.findFirst({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ */
+ findFirst(args?: SelectSubset>): Prisma__InsuranceContactClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Find the first InsuranceContact that matches the filter or
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {InsuranceContactFindFirstOrThrowArgs} args - Arguments to find a InsuranceContact
+ * @example
+ * // Get one InsuranceContact
+ * const insuranceContact = await prisma.insuranceContact.findFirstOrThrow({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ */
+ findFirstOrThrow(args?: SelectSubset>): Prisma__InsuranceContactClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Find zero or more InsuranceContacts that matches the filter.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {InsuranceContactFindManyArgs} args - Arguments to filter and select certain fields only.
+ * @example
+ * // Get all InsuranceContacts
+ * const insuranceContacts = await prisma.insuranceContact.findMany()
+ *
+ * // Get first 10 InsuranceContacts
+ * const insuranceContacts = await prisma.insuranceContact.findMany({ take: 10 })
+ *
+ * // Only select the `id`
+ * const insuranceContactWithIdOnly = await prisma.insuranceContact.findMany({ select: { id: true } })
+ *
+ */
+ findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>>
+
+ /**
+ * Create a InsuranceContact.
+ * @param {InsuranceContactCreateArgs} args - Arguments to create a InsuranceContact.
+ * @example
+ * // Create one InsuranceContact
+ * const InsuranceContact = await prisma.insuranceContact.create({
+ * data: {
+ * // ... data to create a InsuranceContact
+ * }
+ * })
+ *
+ */
+ create(args: SelectSubset>): Prisma__InsuranceContactClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Create many InsuranceContacts.
+ * @param {InsuranceContactCreateManyArgs} args - Arguments to create many InsuranceContacts.
+ * @example
+ * // Create many InsuranceContacts
+ * const insuranceContact = await prisma.insuranceContact.createMany({
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ *
+ */
+ createMany(args?: SelectSubset>): Prisma.PrismaPromise
+
+ /**
+ * Create many InsuranceContacts and returns the data saved in the database.
+ * @param {InsuranceContactCreateManyAndReturnArgs} args - Arguments to create many InsuranceContacts.
+ * @example
+ * // Create many InsuranceContacts
+ * const insuranceContact = await prisma.insuranceContact.createManyAndReturn({
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ *
+ * // Create many InsuranceContacts and only return the `id`
+ * const insuranceContactWithIdOnly = await prisma.insuranceContact.createManyAndReturn({
+ * select: { id: true },
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ *
+ */
+ createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>>
+
+ /**
+ * Delete a InsuranceContact.
+ * @param {InsuranceContactDeleteArgs} args - Arguments to delete one InsuranceContact.
+ * @example
+ * // Delete one InsuranceContact
+ * const InsuranceContact = await prisma.insuranceContact.delete({
+ * where: {
+ * // ... filter to delete one InsuranceContact
+ * }
+ * })
+ *
+ */
+ delete(args: SelectSubset>): Prisma__InsuranceContactClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Update one InsuranceContact.
+ * @param {InsuranceContactUpdateArgs} args - Arguments to update one InsuranceContact.
+ * @example
+ * // Update one InsuranceContact
+ * const insuranceContact = await prisma.insuranceContact.update({
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: {
+ * // ... provide data here
+ * }
+ * })
+ *
+ */
+ update(args: SelectSubset>): Prisma__InsuranceContactClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+ /**
+ * Delete zero or more InsuranceContacts.
+ * @param {InsuranceContactDeleteManyArgs} args - Arguments to filter InsuranceContacts to delete.
+ * @example
+ * // Delete a few InsuranceContacts
+ * const { count } = await prisma.insuranceContact.deleteMany({
+ * where: {
+ * // ... provide filter here
+ * }
+ * })
+ *
+ */
+ deleteMany(args?: SelectSubset>): Prisma.PrismaPromise
+
+ /**
+ * Update zero or more InsuranceContacts.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {InsuranceContactUpdateManyArgs} args - Arguments to update one or more rows.
+ * @example
+ * // Update many InsuranceContacts
+ * const insuranceContact = await prisma.insuranceContact.updateMany({
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: {
+ * // ... provide data here
+ * }
+ * })
+ *
+ */
+ updateMany(args: SelectSubset>): Prisma.PrismaPromise
+
+ /**
+ * Update zero or more InsuranceContacts and returns the data updated in the database.
+ * @param {InsuranceContactUpdateManyAndReturnArgs} args - Arguments to update many InsuranceContacts.
+ * @example
+ * // Update many InsuranceContacts
+ * const insuranceContact = await prisma.insuranceContact.updateManyAndReturn({
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ *
+ * // Update zero or more InsuranceContacts and only return the `id`
+ * const insuranceContactWithIdOnly = await prisma.insuranceContact.updateManyAndReturn({
+ * select: { id: true },
+ * where: {
+ * // ... provide filter here
+ * },
+ * data: [
+ * // ... provide data here
+ * ]
+ * })
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ *
+ */
+ updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>>
+
+ /**
+ * Create or update one InsuranceContact.
+ * @param {InsuranceContactUpsertArgs} args - Arguments to update or create a InsuranceContact.
+ * @example
+ * // Update or create a InsuranceContact
+ * const insuranceContact = await prisma.insuranceContact.upsert({
+ * create: {
+ * // ... data to create a InsuranceContact
+ * },
+ * update: {
+ * // ... in case it already exists, update
+ * },
+ * where: {
+ * // ... the filter for the InsuranceContact we want to update
+ * }
+ * })
+ */
+ upsert(args: SelectSubset>): Prisma__InsuranceContactClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
+
+
+ /**
+ * Count the number of InsuranceContacts.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {InsuranceContactCountArgs} args - Arguments to filter InsuranceContacts to count.
+ * @example
+ * // Count the number of InsuranceContacts
+ * const count = await prisma.insuranceContact.count({
+ * where: {
+ * // ... the filter for the InsuranceContacts we want to count
+ * }
+ * })
+ **/
+ count(
+ args?: Subset,
+ ): Prisma.PrismaPromise<
+ T extends $Utils.Record<'select', any>
+ ? T['select'] extends true
+ ? number
+ : GetScalarType
+ : number
+ >
+
+ /**
+ * Allows you to perform aggregations operations on a InsuranceContact.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {InsuranceContactAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
+ * @example
+ * // Ordered by age ascending
+ * // Where email contains prisma.io
+ * // Limited to the 10 users
+ * const aggregations = await prisma.user.aggregate({
+ * _avg: {
+ * age: true,
+ * },
+ * where: {
+ * email: {
+ * contains: "prisma.io",
+ * },
+ * },
+ * orderBy: {
+ * age: "asc",
+ * },
+ * take: 10,
+ * })
+ **/
+ aggregate(args: Subset): Prisma.PrismaPromise>
+
+ /**
+ * Group by InsuranceContact.
+ * Note, that providing `undefined` is treated as the value not being there.
+ * Read more here: https://pris.ly/d/null-undefined
+ * @param {InsuranceContactGroupByArgs} args - Group by arguments.
+ * @example
+ * // Group by city, order by createdAt, get count
+ * const result = await prisma.user.groupBy({
+ * by: ['city', 'createdAt'],
+ * orderBy: {
+ * createdAt: true
+ * },
+ * _count: {
+ * _all: true
+ * },
+ * })
+ *
+ **/
+ groupBy<
+ T extends InsuranceContactGroupByArgs,
+ HasSelectOrTake extends Or<
+ Extends<'skip', Keys>,
+ Extends<'take', Keys>
+ >,
+ OrderByArg extends True extends HasSelectOrTake
+ ? { orderBy: InsuranceContactGroupByArgs['orderBy'] }
+ : { orderBy?: InsuranceContactGroupByArgs['orderBy'] },
+ OrderFields extends ExcludeUnderscoreKeys>>,
+ ByFields extends MaybeTupleToUnion,
+ ByValid extends Has,
+ HavingFields extends GetHavingFields,
+ HavingValid extends Has,
+ ByEmpty extends T['by'] extends never[] ? True : False,
+ InputErrors extends ByEmpty extends True
+ ? `Error: "by" must not be empty.`
+ : HavingValid extends False
+ ? {
+ [P in HavingFields]: P extends ByFields
+ ? never
+ : P extends string
+ ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
+ : [
+ Error,
+ 'Field ',
+ P,
+ ` in "having" needs to be provided in "by"`,
+ ]
+ }[HavingFields]
+ : 'take' extends Keys
+ ? 'orderBy' extends Keys
+ ? ByValid extends True
+ ? {}
+ : {
+ [P in OrderFields]: P extends ByFields
+ ? never
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
+ }[OrderFields]
+ : 'Error: If you provide "take", you also need to provide "orderBy"'
+ : 'skip' extends Keys
+ ? 'orderBy' extends Keys
+ ? ByValid extends True
+ ? {}
+ : {
+ [P in OrderFields]: P extends ByFields
+ ? never
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
+ }[OrderFields]
+ : 'Error: If you provide "skip", you also need to provide "orderBy"'
+ : ByValid extends True
+ ? {}
+ : {
+ [P in OrderFields]: P extends ByFields
+ ? never
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
+ }[OrderFields]
+ >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetInsuranceContactGroupByPayload : Prisma.PrismaPromise
+ /**
+ * Fields of the InsuranceContact model
+ */
+ readonly fields: InsuranceContactFieldRefs;
+ }
+
+ /**
+ * The delegate class that acts as a "Promise-like" for InsuranceContact.
+ * Why is this prefixed with `Prisma__`?
+ * Because we want to prevent naming conflicts as mentioned in
+ * https://github.com/prisma/prisma-client-js/issues/707
+ */
+ export interface Prisma__InsuranceContactClient extends Prisma.PrismaPromise {
+ readonly [Symbol.toStringTag]: "PrismaPromise"
+ user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
+ /**
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
+ * @param onfulfilled The callback to execute when the Promise is resolved.
+ * @param onrejected The callback to execute when the Promise is rejected.
+ * @returns A Promise for the completion of which ever callback is executed.
+ */
+ then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise
+ /**
+ * Attaches a callback for only the rejection of the Promise.
+ * @param onrejected The callback to execute when the Promise is rejected.
+ * @returns A Promise for the completion of the callback.
+ */
+ catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise
+ /**
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
+ * resolved value cannot be modified from the callback.
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
+ * @returns A Promise for the completion of the callback.
+ */
+ finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise
+ }
+
+
+
+
+ /**
+ * Fields of the InsuranceContact model
+ */
+ interface InsuranceContactFieldRefs {
+ readonly id: FieldRef<"InsuranceContact", 'Int'>
+ readonly userId: FieldRef<"InsuranceContact", 'Int'>
+ readonly name: FieldRef<"InsuranceContact", 'String'>
+ readonly phoneNumber: FieldRef<"InsuranceContact", 'String'>
+ readonly createdAt: FieldRef<"InsuranceContact", 'DateTime'>
+ }
+
+
+ // Custom InputTypes
+ /**
+ * InsuranceContact findUnique
+ */
+ export type InsuranceContactFindUniqueArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * Filter, which InsuranceContact to fetch.
+ */
+ where: InsuranceContactWhereUniqueInput
+ }
+
+ /**
+ * InsuranceContact findUniqueOrThrow
+ */
+ export type InsuranceContactFindUniqueOrThrowArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * Filter, which InsuranceContact to fetch.
+ */
+ where: InsuranceContactWhereUniqueInput
+ }
+
+ /**
+ * InsuranceContact findFirst
+ */
+ export type InsuranceContactFindFirstArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * Filter, which InsuranceContact to fetch.
+ */
+ where?: InsuranceContactWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of InsuranceContacts to fetch.
+ */
+ orderBy?: InsuranceContactOrderByWithRelationInput | InsuranceContactOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the position for searching for InsuranceContacts.
+ */
+ cursor?: InsuranceContactWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` InsuranceContacts from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` InsuranceContacts.
+ */
+ skip?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
+ *
+ * Filter by unique combinations of InsuranceContacts.
+ */
+ distinct?: InsuranceContactScalarFieldEnum | InsuranceContactScalarFieldEnum[]
+ }
+
+ /**
+ * InsuranceContact findFirstOrThrow
+ */
+ export type InsuranceContactFindFirstOrThrowArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * Filter, which InsuranceContact to fetch.
+ */
+ where?: InsuranceContactWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of InsuranceContacts to fetch.
+ */
+ orderBy?: InsuranceContactOrderByWithRelationInput | InsuranceContactOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the position for searching for InsuranceContacts.
+ */
+ cursor?: InsuranceContactWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` InsuranceContacts from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` InsuranceContacts.
+ */
+ skip?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
+ *
+ * Filter by unique combinations of InsuranceContacts.
+ */
+ distinct?: InsuranceContactScalarFieldEnum | InsuranceContactScalarFieldEnum[]
+ }
+
+ /**
+ * InsuranceContact findMany
+ */
+ export type InsuranceContactFindManyArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * Filter, which InsuranceContacts to fetch.
+ */
+ where?: InsuranceContactWhereInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
+ *
+ * Determine the order of InsuranceContacts to fetch.
+ */
+ orderBy?: InsuranceContactOrderByWithRelationInput | InsuranceContactOrderByWithRelationInput[]
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
+ *
+ * Sets the position for listing InsuranceContacts.
+ */
+ cursor?: InsuranceContactWhereUniqueInput
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Take `±n` InsuranceContacts from the position of the cursor.
+ */
+ take?: number
+ /**
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
+ *
+ * Skip the first `n` InsuranceContacts.
+ */
+ skip?: number
+ distinct?: InsuranceContactScalarFieldEnum | InsuranceContactScalarFieldEnum[]
+ }
+
+ /**
+ * InsuranceContact create
+ */
+ export type InsuranceContactCreateArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * The data needed to create a InsuranceContact.
+ */
+ data: XOR
+ }
+
+ /**
+ * InsuranceContact createMany
+ */
+ export type InsuranceContactCreateManyArgs = {
+ /**
+ * The data used to create many InsuranceContacts.
+ */
+ data: InsuranceContactCreateManyInput | InsuranceContactCreateManyInput[]
+ skipDuplicates?: boolean
+ }
+
+ /**
+ * InsuranceContact createManyAndReturn
+ */
+ export type InsuranceContactCreateManyAndReturnArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelectCreateManyAndReturn | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * The data used to create many InsuranceContacts.
+ */
+ data: InsuranceContactCreateManyInput | InsuranceContactCreateManyInput[]
+ skipDuplicates?: boolean
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactIncludeCreateManyAndReturn | null
+ }
+
+ /**
+ * InsuranceContact update
+ */
+ export type InsuranceContactUpdateArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * The data needed to update a InsuranceContact.
+ */
+ data: XOR
+ /**
+ * Choose, which InsuranceContact to update.
+ */
+ where: InsuranceContactWhereUniqueInput
+ }
+
+ /**
+ * InsuranceContact updateMany
+ */
+ export type InsuranceContactUpdateManyArgs = {
+ /**
+ * The data used to update InsuranceContacts.
+ */
+ data: XOR
+ /**
+ * Filter which InsuranceContacts to update
+ */
+ where?: InsuranceContactWhereInput
+ /**
+ * Limit how many InsuranceContacts to update.
+ */
+ limit?: number
+ }
+
+ /**
+ * InsuranceContact updateManyAndReturn
+ */
+ export type InsuranceContactUpdateManyAndReturnArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelectUpdateManyAndReturn | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * The data used to update InsuranceContacts.
+ */
+ data: XOR
+ /**
+ * Filter which InsuranceContacts to update
+ */
+ where?: InsuranceContactWhereInput
+ /**
+ * Limit how many InsuranceContacts to update.
+ */
+ limit?: number
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactIncludeUpdateManyAndReturn | null
+ }
+
+ /**
+ * InsuranceContact upsert
+ */
+ export type InsuranceContactUpsertArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * The filter to search for the InsuranceContact to update in case it exists.
+ */
+ where: InsuranceContactWhereUniqueInput
+ /**
+ * In case the InsuranceContact found by the `where` argument doesn't exist, create a new InsuranceContact with this data.
+ */
+ create: XOR
+ /**
+ * In case the InsuranceContact was found with the provided `where` argument, update it with this data.
+ */
+ update: XOR
+ }
+
+ /**
+ * InsuranceContact delete
+ */
+ export type InsuranceContactDeleteArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ /**
+ * Filter which InsuranceContact to delete.
+ */
+ where: InsuranceContactWhereUniqueInput
+ }
+
+ /**
+ * InsuranceContact deleteMany
+ */
+ export type InsuranceContactDeleteManyArgs = {
+ /**
+ * Filter which InsuranceContacts to delete
+ */
+ where?: InsuranceContactWhereInput
+ /**
+ * Limit how many InsuranceContacts to delete.
+ */
+ limit?: number
+ }
+
+ /**
+ * InsuranceContact without action
+ */
+ export type InsuranceContactDefaultArgs = {
+ /**
+ * Select specific fields to fetch from the InsuranceContact
+ */
+ select?: InsuranceContactSelect | null
+ /**
+ * Omit specific fields from the InsuranceContact
+ */
+ omit?: InsuranceContactOmit | null
+ /**
+ * Choose, which related nodes to fetch as well
+ */
+ include?: InsuranceContactInclude | null
+ }
+
+
/**
* Model ProcedureTimeslot
*/
@@ -38765,6 +40015,7 @@ export namespace Prisma {
policyHolder: 'policyHolder',
allergies: 'allergies',
medicalConditions: 'medicalConditions',
+ preferredLanguage: 'preferredLanguage',
status: 'status',
userId: 'userId',
createdAt: 'createdAt',
@@ -39130,6 +40381,7 @@ export namespace Prisma {
export const OfficeContactScalarFieldEnum: {
id: 'id',
userId: 'userId',
+ officeName: 'officeName',
receptionistName: 'receptionistName',
dentistName: 'dentistName',
phoneNumber: 'phoneNumber',
@@ -39140,6 +40392,17 @@ export namespace Prisma {
export type OfficeContactScalarFieldEnum = (typeof OfficeContactScalarFieldEnum)[keyof typeof OfficeContactScalarFieldEnum]
+ export const InsuranceContactScalarFieldEnum: {
+ id: 'id',
+ userId: 'userId',
+ name: 'name',
+ phoneNumber: 'phoneNumber',
+ createdAt: 'createdAt'
+ };
+
+ export type InsuranceContactScalarFieldEnum = (typeof InsuranceContactScalarFieldEnum)[keyof typeof InsuranceContactScalarFieldEnum]
+
+
export const ProcedureTimeslotScalarFieldEnum: {
id: 'id',
userId: 'userId',
@@ -39519,6 +40782,7 @@ export namespace Prisma {
officeHours?: XOR | null
officeContact?: XOR | null
procedureTimeslot?: XOR | null
+ insuranceContacts?: InsuranceContactListRelationFilter
}
export type UserOrderByWithRelationInput = {
@@ -39545,6 +40809,7 @@ export namespace Prisma {
officeHours?: OfficeHoursOrderByWithRelationInput
officeContact?: OfficeContactOrderByWithRelationInput
procedureTimeslot?: ProcedureTimeslotOrderByWithRelationInput
+ insuranceContacts?: InsuranceContactOrderByRelationAggregateInput
}
export type UserWhereUniqueInput = Prisma.AtLeast<{
@@ -39574,6 +40839,7 @@ export namespace Prisma {
officeHours?: XOR | null
officeContact?: XOR | null
procedureTimeslot?: XOR | null
+ insuranceContacts?: InsuranceContactListRelationFilter
}, "id" | "username">
export type UserOrderByWithAggregationInput = {
@@ -39620,6 +40886,7 @@ export namespace Prisma {
policyHolder?: StringNullableFilter<"Patient"> | string | null
allergies?: StringNullableFilter<"Patient"> | string | null
medicalConditions?: StringNullableFilter<"Patient"> | string | null
+ preferredLanguage?: StringNullableFilter<"Patient"> | string | null
status?: EnumPatientStatusFilter<"Patient"> | $Enums.PatientStatus
userId?: IntFilter<"Patient"> | number
createdAt?: DateTimeFilter<"Patient"> | Date | string
@@ -39651,6 +40918,7 @@ export namespace Prisma {
policyHolder?: SortOrderInput | SortOrder
allergies?: SortOrderInput | SortOrder
medicalConditions?: SortOrderInput | SortOrder
+ preferredLanguage?: SortOrderInput | SortOrder
status?: SortOrder
userId?: SortOrder
createdAt?: SortOrder
@@ -39685,6 +40953,7 @@ export namespace Prisma {
policyHolder?: StringNullableFilter<"Patient"> | string | null
allergies?: StringNullableFilter<"Patient"> | string | null
medicalConditions?: StringNullableFilter<"Patient"> | string | null
+ preferredLanguage?: StringNullableFilter<"Patient"> | string | null
status?: EnumPatientStatusFilter<"Patient"> | $Enums.PatientStatus
userId?: IntFilter<"Patient"> | number
createdAt?: DateTimeFilter<"Patient"> | Date | string
@@ -39716,6 +40985,7 @@ export namespace Prisma {
policyHolder?: SortOrderInput | SortOrder
allergies?: SortOrderInput | SortOrder
medicalConditions?: SortOrderInput | SortOrder
+ preferredLanguage?: SortOrderInput | SortOrder
status?: SortOrder
userId?: SortOrder
createdAt?: SortOrder
@@ -39747,6 +41017,7 @@ export namespace Prisma {
policyHolder?: StringNullableWithAggregatesFilter<"Patient"> | string | null
allergies?: StringNullableWithAggregatesFilter<"Patient"> | string | null
medicalConditions?: StringNullableWithAggregatesFilter<"Patient"> | string | null
+ preferredLanguage?: StringNullableWithAggregatesFilter<"Patient"> | string | null
status?: EnumPatientStatusWithAggregatesFilter<"Patient"> | $Enums.PatientStatus
userId?: IntWithAggregatesFilter<"Patient"> | number
createdAt?: DateTimeWithAggregatesFilter<"Patient"> | Date | string
@@ -41671,6 +42942,7 @@ export namespace Prisma {
NOT?: OfficeContactWhereInput | OfficeContactWhereInput[]
id?: IntFilter<"OfficeContact"> | number
userId?: IntFilter<"OfficeContact"> | number
+ officeName?: StringNullableFilter<"OfficeContact"> | string | null
receptionistName?: StringNullableFilter<"OfficeContact"> | string | null
dentistName?: StringNullableFilter<"OfficeContact"> | string | null
phoneNumber?: StringNullableFilter<"OfficeContact"> | string | null
@@ -41682,6 +42954,7 @@ export namespace Prisma {
export type OfficeContactOrderByWithRelationInput = {
id?: SortOrder
userId?: SortOrder
+ officeName?: SortOrderInput | SortOrder
receptionistName?: SortOrderInput | SortOrder
dentistName?: SortOrderInput | SortOrder
phoneNumber?: SortOrderInput | SortOrder
@@ -41696,6 +42969,7 @@ export namespace Prisma {
AND?: OfficeContactWhereInput | OfficeContactWhereInput[]
OR?: OfficeContactWhereInput[]
NOT?: OfficeContactWhereInput | OfficeContactWhereInput[]
+ officeName?: StringNullableFilter<"OfficeContact"> | string | null
receptionistName?: StringNullableFilter<"OfficeContact"> | string | null
dentistName?: StringNullableFilter<"OfficeContact"> | string | null
phoneNumber?: StringNullableFilter<"OfficeContact"> | string | null
@@ -41707,6 +42981,7 @@ export namespace Prisma {
export type OfficeContactOrderByWithAggregationInput = {
id?: SortOrder
userId?: SortOrder
+ officeName?: SortOrderInput | SortOrder
receptionistName?: SortOrderInput | SortOrder
dentistName?: SortOrderInput | SortOrder
phoneNumber?: SortOrderInput | SortOrder
@@ -41725,6 +43000,7 @@ export namespace Prisma {
NOT?: OfficeContactScalarWhereWithAggregatesInput | OfficeContactScalarWhereWithAggregatesInput[]
id?: IntWithAggregatesFilter<"OfficeContact"> | number
userId?: IntWithAggregatesFilter<"OfficeContact"> | number
+ officeName?: StringNullableWithAggregatesFilter<"OfficeContact"> | string | null
receptionistName?: StringNullableWithAggregatesFilter<"OfficeContact"> | string | null
dentistName?: StringNullableWithAggregatesFilter<"OfficeContact"> | string | null
phoneNumber?: StringNullableWithAggregatesFilter<"OfficeContact"> | string | null
@@ -41732,6 +43008,63 @@ export namespace Prisma {
fax?: StringNullableWithAggregatesFilter<"OfficeContact"> | string | null
}
+ export type InsuranceContactWhereInput = {
+ AND?: InsuranceContactWhereInput | InsuranceContactWhereInput[]
+ OR?: InsuranceContactWhereInput[]
+ NOT?: InsuranceContactWhereInput | InsuranceContactWhereInput[]
+ id?: IntFilter<"InsuranceContact"> | number
+ userId?: IntFilter<"InsuranceContact"> | number
+ name?: StringFilter<"InsuranceContact"> | string
+ phoneNumber?: StringNullableFilter<"InsuranceContact"> | string | null
+ createdAt?: DateTimeFilter<"InsuranceContact"> | Date | string
+ user?: XOR
+ }
+
+ export type InsuranceContactOrderByWithRelationInput = {
+ id?: SortOrder
+ userId?: SortOrder
+ name?: SortOrder
+ phoneNumber?: SortOrderInput | SortOrder
+ createdAt?: SortOrder
+ user?: UserOrderByWithRelationInput
+ }
+
+ export type InsuranceContactWhereUniqueInput = Prisma.AtLeast<{
+ id?: number
+ AND?: InsuranceContactWhereInput | InsuranceContactWhereInput[]
+ OR?: InsuranceContactWhereInput[]
+ NOT?: InsuranceContactWhereInput | InsuranceContactWhereInput[]
+ userId?: IntFilter<"InsuranceContact"> | number
+ name?: StringFilter<"InsuranceContact"> | string
+ phoneNumber?: StringNullableFilter<"InsuranceContact"> | string | null
+ createdAt?: DateTimeFilter<"InsuranceContact"> | Date | string
+ user?: XOR
+ }, "id">
+
+ export type InsuranceContactOrderByWithAggregationInput = {
+ id?: SortOrder
+ userId?: SortOrder
+ name?: SortOrder
+ phoneNumber?: SortOrderInput | SortOrder
+ createdAt?: SortOrder
+ _count?: InsuranceContactCountOrderByAggregateInput
+ _avg?: InsuranceContactAvgOrderByAggregateInput
+ _max?: InsuranceContactMaxOrderByAggregateInput
+ _min?: InsuranceContactMinOrderByAggregateInput
+ _sum?: InsuranceContactSumOrderByAggregateInput
+ }
+
+ export type InsuranceContactScalarWhereWithAggregatesInput = {
+ AND?: InsuranceContactScalarWhereWithAggregatesInput | InsuranceContactScalarWhereWithAggregatesInput[]
+ OR?: InsuranceContactScalarWhereWithAggregatesInput[]
+ NOT?: InsuranceContactScalarWhereWithAggregatesInput | InsuranceContactScalarWhereWithAggregatesInput[]
+ id?: IntWithAggregatesFilter<"InsuranceContact"> | number
+ userId?: IntWithAggregatesFilter<"InsuranceContact"> | number
+ name?: StringWithAggregatesFilter<"InsuranceContact"> | string
+ phoneNumber?: StringNullableWithAggregatesFilter<"InsuranceContact"> | string | null
+ createdAt?: DateTimeWithAggregatesFilter<"InsuranceContact"> | Date | string
+ }
+
export type ProcedureTimeslotWhereInput = {
AND?: ProcedureTimeslotWhereInput | ProcedureTimeslotWhereInput[]
OR?: ProcedureTimeslotWhereInput[]
@@ -41802,6 +43135,7 @@ export namespace Prisma {
officeHours?: OfficeHoursCreateNestedOneWithoutUserInput
officeContact?: OfficeContactCreateNestedOneWithoutUserInput
procedureTimeslot?: ProcedureTimeslotCreateNestedOneWithoutUserInput
+ insuranceContacts?: InsuranceContactCreateNestedManyWithoutUserInput
}
export type UserUncheckedCreateInput = {
@@ -41828,6 +43162,7 @@ export namespace Prisma {
officeHours?: OfficeHoursUncheckedCreateNestedOneWithoutUserInput
officeContact?: OfficeContactUncheckedCreateNestedOneWithoutUserInput
procedureTimeslot?: ProcedureTimeslotUncheckedCreateNestedOneWithoutUserInput
+ insuranceContacts?: InsuranceContactUncheckedCreateNestedManyWithoutUserInput
}
export type UserUpdateInput = {
@@ -41853,6 +43188,7 @@ export namespace Prisma {
officeHours?: OfficeHoursUpdateOneWithoutUserNestedInput
officeContact?: OfficeContactUpdateOneWithoutUserNestedInput
procedureTimeslot?: ProcedureTimeslotUpdateOneWithoutUserNestedInput
+ insuranceContacts?: InsuranceContactUpdateManyWithoutUserNestedInput
}
export type UserUncheckedUpdateInput = {
@@ -41879,6 +43215,7 @@ export namespace Prisma {
officeHours?: OfficeHoursUncheckedUpdateOneWithoutUserNestedInput
officeContact?: OfficeContactUncheckedUpdateOneWithoutUserNestedInput
procedureTimeslot?: ProcedureTimeslotUncheckedUpdateOneWithoutUserNestedInput
+ insuranceContacts?: InsuranceContactUncheckedUpdateManyWithoutUserNestedInput
}
export type UserCreateManyInput = {
@@ -41920,6 +43257,7 @@ export namespace Prisma {
policyHolder?: string | null
allergies?: string | null
medicalConditions?: string | null
+ preferredLanguage?: string | null
status?: $Enums.PatientStatus
createdAt?: Date | string
updatedAt?: Date | string
@@ -41950,6 +43288,7 @@ export namespace Prisma {
policyHolder?: string | null
allergies?: string | null
medicalConditions?: string | null
+ preferredLanguage?: string | null
status?: $Enums.PatientStatus
userId: number
createdAt?: Date | string
@@ -41979,6 +43318,7 @@ export namespace Prisma {
policyHolder?: NullableStringFieldUpdateOperationsInput | string | null
allergies?: NullableStringFieldUpdateOperationsInput | string | null
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
+ preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -42009,6 +43349,7 @@ export namespace Prisma {
policyHolder?: NullableStringFieldUpdateOperationsInput | string | null
allergies?: NullableStringFieldUpdateOperationsInput | string | null
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
+ preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -42039,6 +43380,7 @@ export namespace Prisma {
policyHolder?: string | null
allergies?: string | null
medicalConditions?: string | null
+ preferredLanguage?: string | null
status?: $Enums.PatientStatus
userId: number
createdAt?: Date | string
@@ -42061,6 +43403,7 @@ export namespace Prisma {
policyHolder?: NullableStringFieldUpdateOperationsInput | string | null
allergies?: NullableStringFieldUpdateOperationsInput | string | null
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
+ preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -42083,6 +43426,7 @@ export namespace Prisma {
policyHolder?: NullableStringFieldUpdateOperationsInput | string | null
allergies?: NullableStringFieldUpdateOperationsInput | string | null
medicalConditions?: NullableStringFieldUpdateOperationsInput | string | null
+ preferredLanguage?: NullableStringFieldUpdateOperationsInput | string | null
status?: EnumPatientStatusFieldUpdateOperationsInput | $Enums.PatientStatus
userId?: IntFieldUpdateOperationsInput | number
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
@@ -43990,6 +45334,7 @@ export namespace Prisma {
}
export type OfficeContactCreateInput = {
+ officeName?: string | null
receptionistName?: string | null
dentistName?: string | null
phoneNumber?: string | null
@@ -44001,6 +45346,7 @@ export namespace Prisma {
export type OfficeContactUncheckedCreateInput = {
id?: number
userId: number
+ officeName?: string | null
receptionistName?: string | null
dentistName?: string | null
phoneNumber?: string | null
@@ -44009,6 +45355,7 @@ export namespace Prisma {
}
export type OfficeContactUpdateInput = {
+ officeName?: NullableStringFieldUpdateOperationsInput | string | null
receptionistName?: NullableStringFieldUpdateOperationsInput | string | null
dentistName?: NullableStringFieldUpdateOperationsInput | string | null
phoneNumber?: NullableStringFieldUpdateOperationsInput | string | null
@@ -44020,6 +45367,7 @@ export namespace Prisma {
export type OfficeContactUncheckedUpdateInput = {
id?: IntFieldUpdateOperationsInput | number
userId?: IntFieldUpdateOperationsInput | number
+ officeName?: NullableStringFieldUpdateOperationsInput | string | null
receptionistName?: NullableStringFieldUpdateOperationsInput | string | null
dentistName?: NullableStringFieldUpdateOperationsInput | string | null
phoneNumber?: NullableStringFieldUpdateOperationsInput | string | null
@@ -44030,6 +45378,7 @@ export namespace Prisma {
export type OfficeContactCreateManyInput = {
id?: number
userId: number
+ officeName?: string | null
receptionistName?: string | null
dentistName?: string | null
phoneNumber?: string | null
@@ -44038,6 +45387,7 @@ export namespace Prisma {
}
export type OfficeContactUpdateManyMutationInput = {
+ officeName?: NullableStringFieldUpdateOperationsInput | string | null
receptionistName?: NullableStringFieldUpdateOperationsInput | string | null
dentistName?: NullableStringFieldUpdateOperationsInput | string | null
phoneNumber?: NullableStringFieldUpdateOperationsInput | string | null
@@ -44048,6 +45398,7 @@ export namespace Prisma {
export type OfficeContactUncheckedUpdateManyInput = {
id?: IntFieldUpdateOperationsInput | number
userId?: IntFieldUpdateOperationsInput | number
+ officeName?: NullableStringFieldUpdateOperationsInput | string | null
receptionistName?: NullableStringFieldUpdateOperationsInput | string | null
dentistName?: NullableStringFieldUpdateOperationsInput | string | null
phoneNumber?: NullableStringFieldUpdateOperationsInput | string | null
@@ -44055,6 +45406,58 @@ export namespace Prisma {
fax?: NullableStringFieldUpdateOperationsInput | string | null
}
+ export type InsuranceContactCreateInput = {
+ name: string
+ phoneNumber?: string | null
+ createdAt?: Date | string
+ user: UserCreateNestedOneWithoutInsuranceContactsInput
+ }
+
+ export type InsuranceContactUncheckedCreateInput = {
+ id?: number
+ userId: number
+ name: string
+ phoneNumber?: string | null
+ createdAt?: Date | string
+ }
+
+ export type InsuranceContactUpdateInput = {
+ name?: StringFieldUpdateOperationsInput | string
+ phoneNumber?: NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
+ user?: UserUpdateOneRequiredWithoutInsuranceContactsNestedInput
+ }
+
+ export type InsuranceContactUncheckedUpdateInput = {
+ id?: IntFieldUpdateOperationsInput | number
+ userId?: IntFieldUpdateOperationsInput | number
+ name?: StringFieldUpdateOperationsInput | string
+ phoneNumber?: NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
+ }
+
+ export type InsuranceContactCreateManyInput = {
+ id?: number
+ userId: number
+ name: string
+ phoneNumber?: string | null
+ createdAt?: Date | string
+ }
+
+ export type InsuranceContactUpdateManyMutationInput = {
+ name?: StringFieldUpdateOperationsInput | string
+ phoneNumber?: NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
+ }
+
+ export type InsuranceContactUncheckedUpdateManyInput = {
+ id?: IntFieldUpdateOperationsInput | number
+ userId?: IntFieldUpdateOperationsInput | number
+ name?: StringFieldUpdateOperationsInput | string
+ phoneNumber?: NullableStringFieldUpdateOperationsInput | string | null
+ createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
+ }
+
export type ProcedureTimeslotCreateInput = {
data: JsonNullValueInput | InputJsonValue
user: UserCreateNestedOneWithoutProcedureTimeslotInput
@@ -44227,6 +45630,12 @@ export namespace Prisma {
isNot?: ProcedureTimeslotWhereInput | null
}
+ export type InsuranceContactListRelationFilter = {
+ every?: InsuranceContactWhereInput
+ some?: InsuranceContactWhereInput
+ none?: InsuranceContactWhereInput
+ }
+
export type PatientOrderByRelationAggregateInput = {
_count?: SortOrder
}
@@ -44279,6 +45688,10 @@ export namespace Prisma {
_count?: SortOrder
}
+ export type InsuranceContactOrderByRelationAggregateInput = {
+ _count?: SortOrder
+ }
+
export type UserCountOrderByAggregateInput = {
id?: SortOrder
username?: SortOrder
@@ -44454,6 +45867,7 @@ export namespace Prisma {
policyHolder?: SortOrder
allergies?: SortOrder
medicalConditions?: SortOrder
+ preferredLanguage?: SortOrder
status?: SortOrder
userId?: SortOrder
createdAt?: SortOrder
@@ -44482,6 +45896,7 @@ export namespace Prisma {
policyHolder?: SortOrder
allergies?: SortOrder
medicalConditions?: SortOrder
+ preferredLanguage?: SortOrder
status?: SortOrder
userId?: SortOrder
createdAt?: SortOrder
@@ -44505,6 +45920,7 @@ export namespace Prisma {
policyHolder?: SortOrder
allergies?: SortOrder
medicalConditions?: SortOrder
+ preferredLanguage?: SortOrder
status?: SortOrder
userId?: SortOrder
createdAt?: SortOrder
@@ -46281,6 +47697,7 @@ export namespace Prisma {
export type OfficeContactCountOrderByAggregateInput = {
id?: SortOrder
userId?: SortOrder
+ officeName?: SortOrder
receptionistName?: SortOrder
dentistName?: SortOrder
phoneNumber?: SortOrder
@@ -46296,6 +47713,7 @@ export namespace Prisma {
export type OfficeContactMaxOrderByAggregateInput = {
id?: SortOrder
userId?: SortOrder
+ officeName?: SortOrder
receptionistName?: SortOrder
dentistName?: SortOrder
phoneNumber?: SortOrder
@@ -46306,6 +47724,7 @@ export namespace Prisma {
export type OfficeContactMinOrderByAggregateInput = {
id?: SortOrder
userId?: SortOrder
+ officeName?: SortOrder
receptionistName?: SortOrder
dentistName?: SortOrder
phoneNumber?: SortOrder
@@ -46318,6 +47737,40 @@ export namespace Prisma {
userId?: SortOrder
}
+ export type InsuranceContactCountOrderByAggregateInput = {
+ id?: SortOrder
+ userId?: SortOrder
+ name?: SortOrder
+ phoneNumber?: SortOrder
+ createdAt?: SortOrder
+ }
+
+ export type InsuranceContactAvgOrderByAggregateInput = {
+ id?: SortOrder
+ userId?: SortOrder
+ }
+
+ export type InsuranceContactMaxOrderByAggregateInput = {
+ id?: SortOrder
+ userId?: SortOrder
+ name?: SortOrder
+ phoneNumber?: SortOrder
+ createdAt?: SortOrder
+ }
+
+ export type InsuranceContactMinOrderByAggregateInput = {
+ id?: SortOrder
+ userId?: SortOrder
+ name?: SortOrder
+ phoneNumber?: SortOrder
+ createdAt?: SortOrder
+ }
+
+ export type InsuranceContactSumOrderByAggregateInput = {
+ id?: SortOrder
+ userId?: SortOrder
+ }
+
export type ProcedureTimeslotCountOrderByAggregateInput = {
id?: SortOrder
userId?: SortOrder
@@ -46465,6 +47918,13 @@ export namespace Prisma {
connect?: ProcedureTimeslotWhereUniqueInput
}
+ export type InsuranceContactCreateNestedManyWithoutUserInput = {
+ create?: XOR