Files
ragflow_python/agent/templates/HR_callout_zh.json

726 lines
100 KiB
JSON
Raw Normal View History

{
"id": 2,
"title": "HR recruitment pitch assistant (Chinese)",
"description": "A recruitment pitch assistant capable of pitching a candidate, presenting a job opportunity, addressing queries, and requesting the candidate's contact details. Let's begin by linking a knowledge base containing the job description in 'Retrieval'!",
"canvas_type": "chatbot",
"dsl": {
"answer": [],
"components": {
"answer:0": {
"downstream": ["categorize:0"],
"obj": {
"component_name": "Answer",
"params": {}
},
"upstream": ["begin", "message:reject"]
},
"answer:1": {
"downstream": ["categorize:1"],
"obj": {
"component_name": "Answer",
"params": {}
},
"upstream": [
"generate:aboutJob",
"generate:nowechat",
"generate:get_wechat",
"message:introduction",
"generate:casual"
]
},
"begin": {
"downstream": ["answer:0"],
"obj": {
"component_name": "Begin",
"params": {
"prologue": "您好我是Infiniflow 的HRBP正在找寻AIGC方面的人才了解到您是这方面的大佬然后冒昧的就联系到您。这边有个机会想和您分享RAGFlow正在招聘您这个岗位的资深的工程师不知道您那边是不是感兴趣"
}
},
"upstream": []
},
"categorize:0": {
"downstream": [
"message:introduction",
"generate:casual",
"retrieval:0",
"message:reject"
],
"obj": {
"component_name": "Categorize",
"params": {
"category_description": {
"about_job": {
"description": "该问题关于职位本身或公司的信息。",
"examples": "什么岗位?\n汇报对象是谁?\n公司多少人\n公司有啥产品\n具体工作内容是啥\n地点哪里\n双休吗",
"to": "retrieval:0"
},
"answer": {
"description": "该回答表示他对于该职位不感兴趣,或感觉受到骚扰。",
"examples": "不需要\n不感兴趣\n暂时不看\n不要\nno\n我已经不干这个了\n我不是这个方向的",
"to": "message:reject"
},
"casual": {
"description": "该问题不关于职位本身或公司的信息,属于闲聊。",
"examples": "你好\n好久不见\n你男的女的\n你是猴子派来的救兵吗\n上午开会了?\n你叫啥\n最近市场如何?生意好做吗?",
"to": "generate:casual"
},
"interested": {
"description": "该回答表示他对于该职位感兴趣。",
"examples": "嗯\n说吧\n说说看\n还好吧\n是的\n哦\nyes\n具体说说",
"to": "message:introduction"
}
},
"llm_id": "deepseek-chat"
}
},
"upstream": ["answer:0"]
},
"categorize:1": {
"downstream": [
"generate:get_wechat",
"generate:nowechat",
"retrieval:0",
"generate:casual"
],
"obj": {
"component_name": "Categorize",
"params": {
"category_description": {
"about_job": {
"description": "该问题关于职位本身或公司的信息。",
"examples": "什么岗位?\n汇报对象是谁?\n公司多少人\n公司有啥产品\n具体工作内容是啥\n地点哪里\n双休吗",
"to": "retrieval:0"
},
"casual": {
"description": "该问题不关于职位本身或公司的信息,属于闲聊。",
"examples": "你好\n好久不见\n你男的女的\n你是猴子派来的救兵吗\n上午开会了?\n你叫啥\n最近市场如何?生意好做吗?",
"to": "generate:casual"
},
"giveup": {
"description": "该回答表示他不愿意加微信。",
"examples": "不需要\n不感兴趣\n暂时不看\n不要\nno\n不方便\n不知道还要加我微信",
"to": "generate:nowechat"
},
"wechat": {
"description": "该回答表示他愿意加微信,或者已经报了微信号。",
"examples": "嗯\n可以\n是的\n哦\nyes\n15002333453\nwindblow_2231",
"to": "generate:get_wechat"
}
},
"llm_id": "deepseek-chat",
"message_history_window_size": 8
}
},
"upstream": ["answer:1"]
},
"generate:aboutJob": {
"downstream": ["answer:1"],
"obj": {
"component_name": "Generate",
"params": {
"llm_id": "deepseek-chat",
"prompt": "你是公司的HR候选人问了有关职位或公司的问题你根据以下职位信息回答。如果职位信息中不包含候选人的问题就回答不清楚、不知道、有待确认等。回答完后引导候选人加微信号\n - 方便加一下微信吗我把JD发您看看\n - 微信号多少我把详细职位JD发您\n 职位信息如下:\n {input}\n 职位信息如上。"
}
},
"upstream": ["relevant:0", "retrieval:0"]
},
"generate:casual": {
"downstream": ["answer:1"],
"obj": {
"component_name": "Generate",
"params": {
"cite": false,
"llm_id": "deepseek-chat",
"message_history_window_size": 12,
"prompt": "你是公司负责招聘的HR现在候选人的聊了和职位无关的话题请耐心的回应候选人并将话题往该AGI的职位上带最好能要到候选人微信号以便后面保持联系。"
}
},
"upstream": ["categorize:0", "categorize:1"]
},
"generate:get_wechat": {
"downstream": ["answer:1"],
"obj": {
"component_name": "Generate",
"params": {
"cite": false,
"llm_id": "deepseek-chat",
"message_history_window_size": 12,
"prompt": "你是公司负责招聘的HR候选人表示不反感加微信如果对方已经报了微信号表示感谢和信任并表示马上会加上如果没有则问对方微信号多少。你的微信号是weixin_kevinE-mail是kkk@ragflow.com。说话不要重复。不要总是您好。"
}
},
"upstream": ["categorize:1"]
},
"generate:nowechat": {
"downstream": ["answer:1"],
"obj": {
"component_name": "Generate",
"params": {
"cite": false,
"llm_id": "deepseek-chat",
"message_history_window_size": 12,
"prompt": "你是公司负责招聘的HR当你提出加微信时对方表示拒绝。你需要耐心礼貌的回应候选人表示对于保护隐私信息给予理解也可以询问他对该职位的看法和顾虑。并在恰当的时机再次询问微信联系方式。也可以鼓励候选人主动与你取得联系。你的微信号是weixin_kevinE-mail是kkk@ragflow.com。说话不要重复。不要总是您好。"
}
},
"upstream": ["categorize:1"]
},
"message:introduction": {
"downstream": ["answer:1"],
"obj": {
"component_name": "Message",
"params": {
"messages": [
"我简单介绍一下:\nRAGFlow 是一款基于深度文档理解构建的开源 RAGRetrieval-Augmented Generation引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程结合大语言模型LLM针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。https://github.com/infiniflow/ragflow\n您那边还有什么要了解的"
]
}
},
"upstream": ["categorize:0"]
},
"message:reject": {
"downstream": ["answer:0"],
"obj": {
"component_name": "Message",
"params": {
"messages": [
"好的,祝您生活愉快,工作顺利。",
"哦,好的,感谢您宝贵的时间!"
]
}
},
"upstream": ["categorize:0"]
},
"retrieval:0": {
"downstream": ["generate:aboutJob"],
"obj": {
"component_name": "Retrieval",
"params": {
"kb_ids": [],
"keywords_similarity_weight": 0.3,
"rerank_id": "BAAI/bge-reranker-v2-m3",
"similarity_threshold": 0.2,
"top_k": 1024,
"top_n": 6
}
},
"upstream": ["categorize:0", "categorize:1"]
}
},
"graph": {
"edges": [
{
"id": "7a045a3d-5881-4a57-9467-75946941a642",
"label": "",
"source": "begin",
"target": "answer:0"
},
{
"id": "9c6c78c1-532c-423d-9712-61c47a452f0e",
"label": "",
"source": "message:reject",
"target": "answer:0"
},
{
"id": "e35ab5a1-9a64-44df-8eb6-c2f09204b6ff",
"label": "",
"source": "categorize:0",
"sourceHandle": "interested",
"target": "message:introduction"
},
{
"id": "988d6196-6fc7-4004-88e2-d2b008366aa4",
"label": "",
"source": "categorize:0",
"sourceHandle": "casual",
"target": "generate:casual"
},
{
"id": "1cdf2cbc-761b-4a2c-b84d-1cac54357a45",
"label": "",
"source": "categorize:0",
"sourceHandle": "about_job",
"target": "retrieval:0"
},
{
"id": "12014f4f-a062-4155-bc08-f28d209c0a61",
"label": "",
"source": "categorize:1",
"sourceHandle": "wechat",
"target": "generate:get_wechat"
},
{
"id": "2e5df83c-1c46-4054-9205-3ab2b3fec50b",
"label": "",
"source": "categorize:1",
"sourceHandle": "giveup",
"target": "generate:nowechat"
},
{
"id": "e037992a-a1c6-4bb0-ab28-382c17993efa",
"label": "",
"source": "relevant:0",
"target": "generate:aboutJob"
},
{
"id": "reactflow__edge-retrieval:0b-generate:aboutJobc",
"source": "retrieval:0",
"sourceHandle": "b",
"target": "generate:aboutJob",
"targetHandle": "c",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-answer:0b-categorize:0a",
"source": "answer:0",
"sourceHandle": "b",
"target": "categorize:0",
"targetHandle": "a",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-categorize:0answer-message:rejectb",
"source": "categorize:0",
"sourceHandle": "answer",
"target": "message:reject",
"targetHandle": "b",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-categorize:1about_job-retrieval:0a",
"source": "categorize:1",
"sourceHandle": "about_job",
"target": "retrieval:0",
"targetHandle": "a",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-generate:aboutJoba-answer:1d",
"source": "generate:aboutJob",
"sourceHandle": "a",
"target": "answer:1",
"targetHandle": "d",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-generate:nowechatb-answer:1d",
"source": "generate:nowechat",
"sourceHandle": "b",
"target": "answer:1",
"targetHandle": "d",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-generate:get_wechatb-answer:1d",
"source": "generate:get_wechat",
"sourceHandle": "b",
"target": "answer:1",
"targetHandle": "d",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-message:introductionb-answer:1c",
"source": "message:introduction",
"sourceHandle": "b",
"target": "answer:1",
"targetHandle": "c",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-generate:casualb-answer:1c",
"source": "generate:casual",
"sourceHandle": "b",
"target": "answer:1",
"targetHandle": "c",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-categorize:1casual-generate:casuald",
"source": "categorize:1",
"sourceHandle": "casual",
"target": "generate:casual",
"targetHandle": "d",
"type": "buttonEdge"
},
{
"id": "reactflow__edge-answer:1d-categorize:1c",
"source": "answer:1",
"sourceHandle": "d",
"target": "categorize:1",
"targetHandle": "c",
"type": "buttonEdge"
}
],
"nodes": [
{
"data": {
"form": {
"prologue": "您好我是英飞流负责招聘的HR了解到您是这方面的大佬然后冒昧的就联系到您。这边有个机会想和您分享RAGFlow正在招聘您这个岗位的资深的工程师不知道您那边是不是感兴趣"
},
"label": "Begin",
"name": "开场白"
},
"dragging": false,
"height": 50,
"id": "begin",
"position": {
"x": -692.1713416056568,
"y": 194.90435403074903
},
"positionAbsolute": {
"x": -692.1713416056568,
"y": 194.90435403074903
},
"selected": true,
"sourcePosition": "left",
"targetPosition": "right",
"type": "beginNode",
"width": 50
},
{
"data": {
"form": {},
"label": "Answer",
"name": "交互1"
},
"dragging": false,
"height": 100,
"id": "answer:0",
"position": {
"x": -513.0700577637697,
"y": 169.76025544916462
},
"positionAbsolute": {
"x": -513.0700577637697,
"y": 169.76025544916462
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 100
},
{
"data": {
"form": {
"category_description": {
"about_job": {
"description": "该问题关于职位本身或公司的信息。",
"examples": "什么岗位?\n汇报对象是谁?\n公司多少人\n公司有啥产品\n具体工作内容是啥\n地点哪里\n双休吗",
"to": "retrieval:0"
},
"answer": {
"description": "该回答表示他对于该职位不感兴趣,或感觉受到骚扰。",
"examples": "不需要\n不感兴趣\n暂时不看\n不要\nno\n我已经不干这个了\n我不是这个方向的",
"to": "message:reject"
},
"casual": {
"description": "该问题不关于职位本身或公司的信息,属于闲聊。",
"examples": "你好\n好久不见\n你男的女的\n你是猴子派来的救兵吗\n上午开会了?\n你叫啥\n最近市场如何?生意好做吗?",
"to": "generate:casual"
},
"interested": {
"description": "该回答表示他对于该职位感兴趣。",
"examples": "嗯\n说吧\n说说看\n还好吧\n是的\n哦\nyes\n具体说说",
"to": "message:introduction"
}
},
"llm_id": "deepseek-chat"
},
"label": "Categorize",
"name": "是否感兴趣?"
},
"dragging": false,
"height": 100,
"id": "categorize:0",
"position": {
"x": -309.96403785137636,
"y": 169.00239716590943
},
"positionAbsolute": {
"x": -309.96403785137636,
"y": 169.00239716590943
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "categorizeNode",
"width": 100
},
{
"data": {
"form": {
"messages": [
"我简单介绍一下:\nRAGFlow 是一款基于深度文档理解构建的开源 RAGRetrieval-Augmented Generation引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程结合大语言模型LLM针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。https://github.com/infiniflow/ragflow\n您那边还有什么要了解的"
]
},
"label": "Message",
"name": "职位简介"
},
"dragging": false,
"height": 100,
"id": "message:introduction",
"position": {
"x": -51.02519645488289,
"y": 349.6917583392981
},
"positionAbsolute": {
"x": -51.02519645488289,
"y": 349.6917583392981
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 100
},
{
"data": {
"form": {},
"label": "Answer",
"name": "交互2"
},
"dragging": false,
"height": 100,
"id": "answer:1",
"position": {
"x": 298.21364134074753,
"y": 213.98337252187758
},
"positionAbsolute": {
"x": 298.21364134074753,
"y": 213.98337252187758
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 100
},
{
"data": {
"form": {
"category_description": {
"about_job": {
"description": "该问题关于职位本身或公司的信息。",
"examples": "什么岗位?\n汇报对象是谁?\n公司多少人\n公司有啥产品\n具体工作内容是啥\n地点哪里\n双休吗",
"to": "retrieval:0"
},
"casual": {
"description": "该问题不关于职位本身或公司的信息,属于闲聊。",
"examples": "你好\n好久不见\n你男的女的\n你是猴子派来的救兵吗\n上午开会了?\n你叫啥\n最近市场如何?生意好做吗?",
"to": "generate:casual"
},
"giveup": {
"description": "该回答表示他不愿意加微信。",
"examples": "不需要\n不感兴趣\n暂时不看\n不要\nno\n不方便\n不知道还要加我微信",
"to": "generate:nowechat"
},
"wechat": {
"description": "该回答表示他愿意加微信,或者已经报了微信号。",
"examples": "嗯\n可以\n是的\n哦\nyes\n15002333453\nwindblow_2231",
"to": "generate:get_wechat"
}
},
"llm_id": "deepseek-chat",
"message_history_window_size": 8
},
"label": "Categorize",
"name": "可以加微信?"
},
"dragging": false,
"height": 100,
"id": "categorize:1",
"position": {
"x": -119.93600563737203,
"y": -133.18866096986446
},
"positionAbsolute": {
"x": -119.93600563737203,
"y": -133.18866096986446
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "categorizeNode",
"width": 100
},
{
"data": {
"form": {
"cite": false,
"llm_id": "deepseek-chat",
"message_history_window_size": 12,
"prompt": "你是公司负责招聘的HR现在候选人的聊了和职位无关的话题请耐心的回应候选人并将话题往该AGI的职位上带最好能要到候选人微信号以便后面保持联系。",
"temperature": 0.9
},
"label": "Generate",
"name": "闲聊"
},
"dragging": false,
"height": 150,
"id": "generate:casual",
"position": {
"x": -48.359250171260534,
"y": 143.59859683874504
},
"positionAbsolute": {
"x": -48.359250171260534,
"y": 143.59859683874504
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 150
},
{
"data": {
"form": {
"kb_ids": [],
"keywords_similarity_weight": 0.3,
"rerank_id": "BAAI/bge-reranker-v2-m3",
"similarity_threshold": 0.2,
"top_k": 1024,
"top_n": 6
},
"label": "Retrieval",
"name": "搜索职位信息"
},
"dragging": false,
"height": 100,
"id": "retrieval:0",
"position": {
"x": -101.52202227916538,
"y": -358.45298158846384
},
"positionAbsolute": {
"x": -101.52202227916538,
"y": -358.45298158846384
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 100
},
{
"data": {
"form": {
"llm_id": "deepseek-chat",
"prompt": "你是公司负责招聘的HR候选人问了有关职位或公司的问题你根据以下职位信息回答。如果职位信息中不包含候选人的问题就回答不清楚、不知道、有待确认等。回答完后引导候选人加微信号\n - 方便加一下微信吗我把JD发您看看\n - 微信号多少我把详细职位JD发您\n 职位信息如下:\n {input}\n 职位信息如上。",
"temperature": 0.02
},
"label": "Generate",
"name": "回答职位信息并加微信"
},
"dragging": false,
"height": 150,
"id": "generate:aboutJob",
"position": {
"x": 304.7173665956045,
"y": -385.9093198974024
},
"positionAbsolute": {
"x": 304.7173665956045,
"y": -385.9093198974024
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 150
},
{
"data": {
"form": {
"cite": false,
"llm_id": "deepseek-chat",
"message_history_window_size": 12,
"prompt": "你是公司负责招聘的HR候选人表示不反感加微信如果对方已经报了微信号表示感谢和信任并表示马上会加上如果没有则问对方微信号多少。你的微信号是weixin_kevinE-mail是kkk@ragflow.com。说话不要重复。不要总是您好。",
"temperature": 0.1
},
"label": "Generate",
"name": "加微信"
},
"dragging": false,
"height": 150,
"id": "generate:get_wechat",
"position": {
"x": 116.79445463510353,
"y": -67.85553023223919
},
"positionAbsolute": {
"x": 116.79445463510353,
"y": -67.85553023223919
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 150
},
{
"data": {
"form": {
"cite": false,
"llm_id": "deepseek-chat",
"message_history_window_size": 12,
"prompt": "你是公司负责招聘的HR当你提出加微信时对方表示拒绝。你需要耐心礼貌的回应候选人表示对于保护隐私信息给予理解也可以询问他对该职位的看法和顾虑。并在恰当的时机再次询问微信联系方式。也可以鼓励候选人主动与你取得联系。你的微信号是weixin_kevinE-mail是kkk@ragflow.com。说话不要重复。不要总是您好。",
"temperature": 0.1
},
"label": "Generate",
"name": "不同意加微信后引导"
},
"dragging": false,
"height": 150,
"id": "generate:nowechat",
"position": {
"x": 118.16110794816632,
"y": -274.2256218457169
},
"positionAbsolute": {
"x": 118.16110794816632,
"y": -274.2256218457169
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 150
},
{
"data": {
"form": {
"messages": [
"好的,祝您生活愉快,工作顺利。",
"哦,好的,感谢您宝贵的时间!"
]
},
"label": "Message",
"name": "再会"
},
"dragging": false,
"height": 100,
"id": "message:reject",
"position": {
"x": -433.0908363083062,
"y": -25.10708583724005
},
"positionAbsolute": {
"x": -433.0908363083062,
"y": -25.10708583724005
},
"selected": false,
"sourcePosition": "left",
"targetPosition": "right",
"type": "logicNode",
"width": 100
}
]
},
"history": [],
"messages": [],
"path": [],
"reference": []
},
"avatar": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAE9AUcDASIAAhEBAxEB/8QAHwAAAQMEAwEAAAAAAAAAAAAAAAYHCAUJCgsCAwQB/8QAQRAAAQMDAwIEBAUCBAUDBAMAAQIDBAUGEQASIQcxCBMiQQkUUWEKFSMycUKBFpGh8BckUrHBJdHhGDNicoKS8f/EABwBAAICAwEBAAAAAAAAAAAAAAAGBQcBAwQCCP/EADoRAAEDAgUCBAQFBAICAgMAAAECAxEEIQAFEjFBUWEGEyJxMoGRoQcUscHwI9Hh8UJSFTMkchZigv/aAAwDAQACEQMRAD8AzsNGjRowYNGjRowYNGjRowYNGjRowYNGj/f01wU4htCnFqSltCQpZUsAbTjAycZKjgJHBUe2jBjn9d3pwnPJAGRnIycD2I7jnXhdnIC1MRnEKlFBVHwCpt1YyFISoDCnE/u24OQCpWNeCovOLCW3VuMMusumOUtkrckkpCWnckFAKRwOCo5Kc41ToyHZAci+ltQdRIaklYR5K2hgllaEhKuU/qJUv1AqCgVZGjBjpfecUl5K3y0t1hSzKeQFBx5pQLzAcBSttKR7YBwTjtqsUuS6hLcaQwtltSUqhH9ze5RBdShRUFKSoYWCRgAng680UfOy25PltOBPzDFRjtrSEJklrYt1sqyjypCcLTj1BWQk8aUPktAtENpHkJKWcjJbCkBKgnOSOOO5xgEHOjBjs0aNGjBg0aNGjBg0aNGg23tab2wdO9x7dcGjRo/3/v8A399Avtf2v+mMEgbmNvvt9cGjRo7aMZwaNGjRgGw4waNGuKnEISpa1IShCStalLCQlI7lRVjB9hwAT7g8aMGOSeSQSE8Z3E+nv2JOMcf/AOH38Ts5lK/JbcSp9aFlkjKm1uJ4DYUnOXT3CMe3ByDjwz31KQ35i1sRnkPBpwN/qqf2nyml+oEIUSCNoSVFQwck4pkVt19LsJwAeYtpxD+9LaYzrOElbTiUYLwVyUFwHKTuOe5gx1vOuqLvmPKbeeYdSuU62HEmS3hSmEklKmhtKuAkAcgE8nVSpUlxtDLDzC2mHUBUVScKbU8SneULUreUrQVKwU+klRBwca6I26XMbfLTS3Y7q2ai0ladi3ShbaZbWSUBD7YBVwcubwnCjpRBhlKWUhtO1gfpAgHyyU7eM5wQCoHkg5ONGDHbo0aNGDBo0aNGDBo0aNGDBo0aNGDBo0aNGDBo0aNGDBo0aNGDBo0aNYJjr8sGDRowVHYnJWRwEkbicHGN2RnjjII45BGkfcfUOxrSjuPXJdNBoiWFFLqqhVIrb2UJUpSPJC0lSwASpKE7hs7cnO2nZeqlhumZdeUTADaFKBNrSBA3G8YCQEFZKQkEAlSgncjhRB54wsNJaWpYfLE4uKQpTgaIITFaUDmMlKxysBSeUqHIzzlJzGqsePPwn0N5yPN6wUTzG1bVluHPkNJ2j14ebQlK9hxkpSAkYGcZ3Ki2PFB4ceqsFudZfVy0anHZleQ8qZUU0d5wlKkpQlNVDCQoOlvhGFqxgEJyNSbuQZ0y35q8rrQi1/y7mxi5OmIvvPBxzCspisoDyNQJBE8jvtf/AHGHvaKnm1ty3Fr+Y8ttx9YIMeWn/wCytABwG3ONqgSTgk47H1NU75otidHbZDPCUNBSQ6QoqClHcDhWdxGCeSMHnXopIhPw25cR2JNalNMufMxXGZMd9O3ch5tbClsknk+Yn2A/pAOqqc55OcAJGc8cZA5+3Izz3PudRLqVMnS4lSVyRoKSFAiN7QN+px0AyAQQQehB+ViccUJQgbUIShOANqQAkYzgDAyfYndk+wONctGjXkEkAkQemM4NGjIHc49v7/TVAum6bfsygzriuSoR6ZS6e2HZT75JUEIUrcY7STueedWtttDIBUVJ9KcknWeva59semULfcS00lS3FkAJAk359sV5R2lO7dhStuUpCiDtJzt3JKv24ITlWVA4xnSMurqJZFkw5U66rno1DjQmnJD6581lpTcdpsurecG8hlASk5L5bAIIOeNW/Op/jamyCmk2XBmUCJNiyHI1dlJgzJCm0FDLK5y401aaNLnqcT+XU2PGqdRfeTLW6xCiwJAFu29rwVEuBdw13qRWp901OC4F05LzMqpVG3W1/MyU0pt1lxu248haGmJ9bcZl1QolKRSo0VxssxuR+upaZvW6+hBkgAn1A2gx0k9b8Th3yvwVUVUKrVKZSoSEIkqIMRNhuTHMAzGL+VP659JKtIfiUq+6DU5UN1pidHgy0yX6c++w2+0mpNoH/IpcbWFsqklpLqNy05TzpM3N4o+gFnTV065+qloUKftUWItVrEOC5L24DaWfmHUDc+4oNxi5sTIWUpbUSpJOPa34pbSjwKwzDFu0tTNTjOyKPHkCkQRUpMUfl8BbSJshyRKbbZlMP1Ku1B2aWI7roYYC/llwR66eIBu/7qo7TFlJoFSjw6nGisV2jt1SDIjtFDj8imV+AWY7IBJDQhOy48xEf106MFtBK074lU9UNUrCUuJCv6rx+E/CQAYNtuYjpeG2l/DfLVtF2oqKhlSSRoCRKtokTyI27zjNOse+bb6hWtTLwtuoMyqLVoK58eRvB2MtFfmh8p3BlTCG1uSErwpgcOpCiAW5tvxJdHLsqVxUug3jBnyLXmCn1V1pLgisydhdUlL6gG1lLW1akpWvahSCraFhRw5enPxA+tHRim3903pPUGo27ZK6G/BrTdRpH5y5KW+2/TX5VuyFR0R4siUhth1M2m+W0otqK2FrLgLbdFvHT1E6cPV9FO/KJ0G5HpsyVAqzsuo1WqR1tIhpqUYyZUdUaOiCGZFRdlPxHY/zDRbajlpiAJ+pqK9dM2ugaS46gjzEgygpEXkAyO0W+eOOi8AZcHcwTmNV5dOqE0K0n1ykg+oHaeYJk+0Yzk6l1c6YUdENdYvq3KWioSGI8FcyoIZTJelY+XbbUCobnCQkeZsRkjKtpyK9R70tS4Ao0W4aNUSlexQjz4zgSsKI2LCVkoWojahtYQ4pRACQlSFKw/rU8ZtEuqqPy5t2w6FUZcmK1LolcQ49adTjxYim1MVBmVJiR1T0xC1AkyaDGpNUYkyoyodVIU7FU83TK5bsqVzV+rWXeUenVaNKXOqdj3HFYRXqZDb/AOZVVbDq9JgIpF2sTGyiG+qZQpaou+I/VY1LdabmTtbVeYaNSPJKoSsKskKO+8WB5j9scrvgKkUh1LVUsOJ/9ZWLL2AKYkkq5JtxIxlgBaVZAC/MyPQUkEjvnOcJwDyFAcjAJGM8hyPpxrHM6FeP7xBQb5i0GXOkvqmyqjSap0w6j20Zb7NQjzZTVGqVl3bRarDSu2qrTxEfVFqESfLh1BxcdyrMtRVsSbqfh68b9h9b7kqViT6bUbQvOjqZiTYslvZCTUtiVyae+ic23Mps9lZCG25iHIk9CkGnSH/OQ8JltAfbDrDiHkFSky2qbpiR9498J2ZeG6/KyvzG1FCIJMeqDA1EbQeIN+mJwaTE5xxL5YmFa2VuKCdpSmM0lSR5aQtJ3FQVglKwEnJAwQRpTAhXuMqyranOAM4wAoFYGfSUrJUle5ClcA68NThCW2ynYXFFxO/cpX7Mgq9+COfVkHAAzgnGqSFFJSoEGL+0/oRiBIjff/AP7/2nFHacK0LROcU4l1AZfWUgfLOg4ZeaSM+hRCAVfu4IxnXrappkBLc5httDO4AtJKfmACMLUcp5cIClEgZzzkHn2w4TcdA3hBW42lt3KU4UptRzlJGFK/bhWM84zgnVQOTjnPYDv7EYH+g/0zovO1uv86f6GMY60IQ2AlCEoSEhISkDA2nAPbcSR3ye+PoBrno0YOM44+vtrBVeACTI+h3PyGD
}