Multimodal RAG using Langchain Expression Language And GPT4-Vision

Plaban NayakPlaban Nayak
15 min read

Many documents contain a mixture of content types including images an texts. Yet information captured in images is lost in most RAG applications. With the emergence of multimodal LLMs like (GPT4-V, LLaVA, or FUYU-8b) it is worth considering how to utilize images in RAG pipeline.

There are few options of utilizing multimodal models in RAG

Option 1:

  • Use multimodal embeddings (such as CLIP) to embed images and text

  • Retrieve both using similarity search

  • Pass raw images and text chunks to a multimodal LLM for answer synthesis

Option 2:

  • Use a multimodal LLM (such as GPT-4V, LLaVA, or FUYU-8b) to produce text summaries from images

  • Embed and retrieve text

  • Pass text chunks to an LLM for answer synthesis

Option 3

  • Use a multimodal LLM (such as GPT-4V, LLaVA, or FUYU-8b) to produce text summaries from images

  • Embed and retrieve image summaries with a reference to the raw image

  • Pass raw images and text chunks to a multimodal LLM for answer synthesis

Here we will implement option 3

Steps Involved

  • Use multimodal embeddings (such as CLIP) to embed images and text

  • Retrieve both using similarity search

  • Pass raw images and text chunks to a multimodal LLM (GPT4-V) for answer synthesis

Technology stack used

  • Data Loading : Unstructured .It is a great ETL tool well suited for it’s ability to partition a document into various types(texts, images, tables)

  • Tesseract : Tesseract is an optical character recognition engine for various operating systems. It is free software, released under the Apache License.

  • Langchain :It is an is an open source framework for building applications based on large language models (LLMs).

  • LLM: GPT-4 with Vision, sometimes referred to as GPT-4V or gpt-4-vision-preview in the API, allows the model to take in images and answer questions about them.

Code Implementation

Install required dependencies

For unstructured, you will also need poppler and tesseract in our system.

Unstructured will partition PDF files by first removing all embedded image blocks. Then it will use a layout model (YOLOX) to get bounding boxes (for tables) as well as titles, which are candidate sub-sections of the document (e.g., Introduction, etc). It will then perform post processing to aggregate text that falls under each title and perform further chunking into text blocks for downstream processing based on user-specific flags (e.g., min chunk size, etc).

! pip install pdf2image
! pip install pytesseract
! apt install poppler-utils
! apt install tesseract-ocr
#
! pip install -U langchain openai chromadb langchain-experimental # (newest versions required for multi-modal)
#
# lock to 0.10.19 due to a persistent bug in more recent versions
! pip install "unstructured[all-docs]==0.10.19" pillow pydantic lxml pillow matplotlib tiktoken open_clip_torch torch

Data Loading

import os
import shutil
#os.mkdir("Data")
! wget "https://www.getty.edu/publications/resources/virtuallibrary/0892360224.pdf"
shutil.move("0892360224.pdf","Data")

Extract images and save it in the required path

path = "/content/Data/"
#
file_name = os.listdir(path)

Use partition_pdf method below from Unstructured to extract text and images.

# Extract images, tables, and chunk text
from unstructured.partition.pdf import partition_pdf

raw_pdf_elements = partition_pdf(
    filename=path + file_name[0],
    extract_images_in_pdf=True,
    infer_table_structure=True,
    chunking_strategy="by_title",
    max_characters=4000,
    new_after_n_chars=3800,
    combine_text_under_n_chars=2000,
    image_output_dir_path=path,

Categorize text elements by type

tables = []
texts = []
for element in raw_pdf_elements:
    if "unstructured.documents.elements.Table" in str(type(element)):
        tables.append(str(element))
    elif "unstructured.documents.elements.CompositeElement" in str(type(element)):
        texts.append(str(element))
#
print(len(tables)
print(len(texts))

#### Response
2
194
  • The images are stored in the file path
from PIL import Image
Image.open("/content/data/figure-26-1.jpg")

Multi-modal embeddings with our document

Here we have used OpenClip multimodal embeddings.

  • We have use da larger model for better performance (set in langchain_experimental.open_clip.py).

  • model_name = “ViT-g-14” checkpoint = “laion2b_s34b_b88k”

import os
import uuid

import chromadb
import numpy as np
from langchain.vectorstores import Chroma
from langchain_experimental.open_clip import OpenCLIPEmbeddings
from PIL import Image as _PILImage

# Create chroma
vectorstore = Chroma(
    collection_name="mm_rag_clip_photos", embedding_function=OpenCLIPEmbeddings()
)

# Get image URIs with .jpg extension only
image_uris = sorted(
    [
        os.path.join(path, image_name)
        for image_name in os.listdir(path)
        if image_name.endswith(".jpg")
    ]
)

# Add images
vectorstore.add_images(uris=image_uris)

# Add documents
vectorstore.add_texts(texts=texts)

# Make retriever
retriever = vectorstore.as_retriever()

Retrieval Augmented Generation

  • vectorstore.add_images will store / retrieve images as base64 encoded strings.

  • Then this information can be passed to GPT-4V.

import base64
import io
from io import BytesIO

import numpy as np
from PIL import Image


def resize_base64_image(base64_string, size=(128, 128)):
    """
    Resize an image encoded as a Base64 string.

    Args:
    base64_string (str): Base64 string of the original image.
    size (tuple): Desired size of the image as (width, height).

    Returns:
    str: Base64 string of the resized image.
    """
    # Decode the Base64 string
    img_data = base64.b64decode(base64_string)
    img = Image.open(io.BytesIO(img_data))

    # Resize the image
    resized_img = img.resize(size, Image.LANCZOS)

    # Save the resized image to a bytes buffer
    buffered = io.BytesIO()
    resized_img.save(buffered, format=img.format)

    # Encode the resized image to Base64
    return base64.b64encode(buffered.getvalue()).decode("utf-8")


def is_base64(s):
    """Check if a string is Base64 encoded"""
    try:
        return base64.b64encode(base64.b64decode(s)) == s.encode()
    except Exception:
        return False


def split_image_text_types(docs):
    """Split numpy array images and texts"""
    images = []
    text = []
    for doc in docs:
        doc = doc.page_content  # Extract Document contents
        if is_base64(doc):
            # Resize image to avoid OAI server error
            images.append(
                resize_base64_image(doc, size=(250, 250))
            )  # base64 encoded str
        else:
            text.append(doc)
    return {"images": images, "texts": text}

Why Langchain Expression Language ?

LCEL makes it easy to build complex chains from basic components. It does this by providing:

  1. A unified interface: Every LCEL object implements the Runnable interface, which defines a common set of invocation methods (invoke, batch, stream, ainvoke, …). This makes it possible for chains of LCEL objects to also automatically support these invocations. That is, every chain of LCEL objects is itself an LCEL object.

  2. Composition primitives: LCEL provides a number of primitives that make it easy to compose chains, parallelize components, add fallbacks, dynamically configure chain internal, and more.

Here we have used format the inputs using a RunnableParallel while we add image support to ChatPromptTemplates.

steps :-

  • We first compute the context (both “texts” and “images” in this case) and the question (just a RunnablePassthrough here)

  • Then we pass this into our prompt template, which is a custom function that formats the message for the gpt-4-vision-preview model.

  • And finally we parse the output as a string.

  • We pass the response as well as the source contexts

from operator import itemgetter

from langchain.chat_models import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.output_parsers import StrOutputParser
from langchain_core.runnables import RunnableLambda, RunnablePassthrough,RunnableParallel


def prompt_func(data_dict):
    # Joining the context texts into a single string
    formatted_texts = "\n".join(data_dict["context"]["texts"])
    messages = []

    # Adding image(s) to the messages if present
    if data_dict["context"]["images"]:
        image_message = {
            "type": "image_url",
            "image_url": {
                "url": f"data:image/jpeg;base64,{data_dict['context']['images'][0]}"
            },
        }
        messages.append(image_message)

    # Adding the text message for analysis
    text_message = {
        "type": "text",
        "text": (
            "As an expert art critic and historian, your task is to analyze and interpret images, "
            "considering their historical and cultural significance. Alongside the images, you will be "
            "provided with related text to offer context. Both will be retrieved from a vectorstore based "
            "on user-input keywords. Please use your extensive knowledge and analytical skills to provide a "
            "comprehensive summary that includes:\n"
            "- A detailed description of the visual elements in the image.\n"
            "- The historical and cultural context of the image.\n"
            "- An interpretation of the image's symbolism and meaning.\n"
            "- Connections between the image and the related text.\n\n"
            f"User-provided keywords: {data_dict['question']}\n\n"
            "Text and / or tables:\n"
            f"{formatted_texts}"
        ),
    }
    messages.append(text_message)

    return [HumanMessage(content=messages)]

Code to return Source Documents

from google.colab import userdata


openai_api_key = userdata.get('OPENAI_API_KEY')

model = ChatOpenAI(temperature=0,
                   openai_api_key=openai_api_key,
                   model="gpt-4-vision-preview",
                   max_tokens=1024)

# RAG pipeline
chain = (
    {
        "context": retriever | RunnableLambda(split_image_text_types),
        "question": RunnablePassthrough(),
    }
    | RunnableParallel({"response":prompt_func| model| StrOutputParser(),
                      "context": itemgetter("context"),})
)

Invoke the RAG Question Answering Chain

Question 1

response = chain.invoke("hunting on the lagoon")
#
print(response['response'])
print(response['context'])
############# RESPONSE ###############
The image depicts a serene scene of a lagoon with several groups of people engaged in bird hunting. The visual elements include calm waters, boats with hunters wearing red and white clothing, and birds both in flight and used as decoys. The hunters appear to be using long poles, possibly to navigate through the shallow waters or to assist in the hunting process. In the background, there are simple straw huts, suggesting temporary shelters for the hunters. The sky is painted with soft clouds, and the overall color palette is muted, with the reds of the hunters' clothing standing out against the blues and greens of the landscape.

The historical and cultural context of this image is rooted in the Italian Renaissance, specifically in Venice during the late 15th to early 16th century. Vittore Carpaccio, the artist, was known for his genre paintings, which depicted scenes from everyday life with great detail and realism. This painting, "Hunting on the Lagoon," is a testament to Carpaccio's keen observation of his environment and the activities of his contemporaries. The inclusion of diverse figures, such as some black individuals, reflects the cosmopolitan nature of Venetian society at the time.

Interpreting the symbolism and meaning of the image, one might consider the lagoon as a symbol of Venice itself—a city intertwined with water, where the boundary between land and sea is often blurred. The act of hunting could represent the human endeavor to harness and interact with nature, a common theme during the Renaissance as people sought to understand and depict the natural world with increasing accuracy. The presence of decoys suggests themes of illusion and reality, which were also explored in Renaissance art.

The connection between the image and the related text is clear. The text provides valuable insights into the painting's background, such as its use as a window cover, which adds a layer of functionality and interactivity to the artwork. The trompe l'oeil on the back with the illusionistic cornice and the real hinge further emphasizes the artist's interest in creating a sense of depth and reality. The mention of the lily blossom at the bottom indicates that the painting may have been altered from its original form, which could have included more symbolic elements or been part of a larger composition.

The text also notes that Carpaccio was famous as a landscape painter, which aligns with the detailed and atmospheric depiction of the lagoon setting. The discovery of the painting only a few years ago suggests that there is still much to learn about Carpaccio's work and the nuances of this particular piece. The lack of complete understanding of the subject matter invites further research and interpretation, allowing viewers to ponder the daily life and environment of Renaissance Venice.


{'images': ['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'],
 'texts': ["VITTORE  CARPACCIO Venetian, 1455/56-1525/26 Hunting  on the  Lagoon oil on panel, 75.9x63.7cm 6 Carpaccio  is considered to be the first great genre painter of the Italian Renaissance, and it is ob- vious that he was a careful observer of his surroundings. The  subject of this unusual painting is not yet completely understood, but it apparently depicts groups of Venetians, including some blacks, hunting for birds on the Venetian lagoon. Some birds standing upright in the boats must be decoys. In the background are huts built of straw, which the hunters must have used as temporary lodging. The  back of the painting shows an illusionistic cornice with some letters and memoranda—still legible—fastened  to the wall. The presence of a real hinge on the back indicates the painting was used as a door to a cupboard or more probably a window cover. It is therefore possible that one had the illusion of looking into the lagoon when the window was shuttered. The presence of a lily blossom at the bottom implies that the painting has been cut down; originally it may have shown the lily in a vase or it may have been cut from  a still larger painting in which our fragment was only the background. Reperse:  Trompe  l'Oeil  ",
  '3\n\nThis painting was discovered only a few years ago. Unfortunately very little is known about its',
  '18\n\npersonality and artistic interests, but he was most famous as a landscape painter.']}
print(response['context']['images'])

####### RESPONSE ##################
['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

Helper Function to display images if any retrieve as part of the source context used to generate response.

from IPython.display import HTML, display


def plt_img_base64(img_base64):
    # Create an HTML img tag with the base64 string as the source
    image_html = f'<img src="data:image/jpeg;base64,{img_base64}" />'

    # Display the image by rendering the HTML
    display(HTML(image_html))

Display Images related to the text retrieved

plt_img_base64(response['context']['images'][0])

Question 2

response = chain.invoke("Woman with children")
print(response['response'])
print(response['context'])

########### RESPONSE ######################

The image in question appears to be a portrait of a woman with children, painted in oil on canvas and measuring 94.4x114.2 cm. The woman is likely the central figure in the painting, and the children are probably depicted around her, possibly playing with various instruments as suggested by the text. The woman's age is given as 21, and the painting is dated 1632, which places it in the early 17th century.

The historical and cultural context of this image is significant. The early 17th century was a time of great change and upheaval in Europe, with the Thirty Years' War raging and the rise of absolutist monarchies. In the art world, this was the era of the Baroque, characterized by dramatic, emotional, and often theatrical compositions. The fact that the woman is identified by her age suggests that this is a portrait of a specific individual, possibly a member of the nobility or upper class, as such portraits were often commissioned to commemorate important life events or to display wealth and status.

The symbolism and meaning of the image could be interpreted in several ways. The presence of children suggests themes of motherhood, family, and domesticity. The fact that they are playing instruments could symbolize harmony, creativity, and the importance of music and the arts in the family's life. The woman's age, 21, could also be significant, as it is often considered the age of adulthood and independence.

The related text mentions that the painting was discovered only a few years ago and that very little is known about it. This adds an element of mystery to the image and suggests that there may be more to uncover about its history and significance. The text also mentions a French artist, born in 1702 and died in 1766, which could indicate that the painting is French in origin, although the date of the painting does not align with the artist's lifetime. The mention of Marc de Villiers, born in 1671 and the subject of a painting dated 1747, suggests that the image may be part of a larger collection of portraits of notable individuals from this period.

Overall, this image of a woman with children is a rich and complex work that offers insights into the cultural and historical context of the early 17th century. Its symbolism and meaning are open to interpretation, and the connections between the image and the related text suggest that there is still much to learn about this painting and its place in art history.


{'images': [],
 'texts': ['31\n\nThis portrait is dated 1632 and gives the age of the sitter, 21. To our eyes she would appear to be',
  '3\n\nThis painting was discovered only a few years ago. Unfortunately very little is known about its',
  'oil on canvas, 94.4x114.2 cm\n\n4l\n\nat which they want to play their various instruments.',
  'French, 1702-1766\n\n46\n\nThe sitter, Marc de Villiers, was born in 1671, and since this painting is signed and dated in 1747,']}
  • Note : This query has no relevant images associated so the image retrieval is an empty list

Question 3

response = chain.invoke("Moses and the Messengers from Canaan")
print(response['response'])
print(response['context'])


########### RESPONSE #############
The image you've provided appears to be a classical painting depicting a group of figures in a pastoral landscape. Unfortunately, the image does not directly correspond to the provided keywords "Moses and the Messengers from Canaan," nor does it seem to relate to the text snippets you've included. However, I will do my best to analyze the image based on its visual elements and provide a general interpretation that might align with the themes of historical and cultural significance.

Visual Elements:
- The painting shows a group of people gathered in a natural setting, which seems to be a forest clearing or the edge of a wooded area.
- The figures are dressed in what appears to be classical or ancient attire, suggesting a historical or mythological scene.
- The color palette is composed of earthy tones, with a contrast between the light and shadow that gives depth to the scene.
- The composition is balanced, with trees framing the scene on the left and the background opening up to a brighter, possibly sunlit area.

Historical and Cultural Context:
- The painting style and attire of the figures suggest it could be from the Renaissance or Baroque period, which were times of great interest in classical antiquity and biblical themes.
- The reference to "Arcadian shepherds discovering a tomb" and "Poussin" in the text indicates a connection to Nicolas Poussin, a French painter of the Baroque era known for his classical landscapes and historical scenes.

Interpretation and Symbolism:
- Without a direct connection to the story of Moses and the messengers from Canaan, it's challenging to provide a precise interpretation. However, the painting could be depicting a scene of discovery or revelation, common themes in Poussin's work.
- The pastoral setting might symbolize an idyllic, peaceful world, often associated with the concept of Arcadia in classical literature and art.
- The gathering of figures could represent a moment of communal storytelling or the sharing of important news, which could loosely tie into the idea of messengers or a significant event.

Connections to Related Text:
- The text mentions the theme of "Arcadian shepherds discovering a tomb," which is a motif Poussin famously depicted in his painting "Et in Arcadia ego." While the image does not show a tomb, the pastoral setting and classical attire could suggest a similar thematic exploration.
- The reference to Flemish art and the interaction with Italian Renaissance artists might imply a fusion of Northern European and Italian artistic styles, which could be reflected in the painting's technique and composition.

In conclusion, while the image does not directly depict the story of Moses and the messengers from Canaan, it does evoke the classical and pastoral themes prevalent in the work of artists like Poussin during the Baroque period. The painting may represent a general scene of classical antiquity or a mythological event, characterized by a serene landscape and a gathering of figures engaged in a significant moment. The historical and cultural significance of such a painting would lie in its representation of the values and aesthetics of the time, as well as its potential to blend different artistic traditions.



{'images': ['/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAD6APoDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDGvMNpKnI3rgj19Kuae3nW0UhYghcdfSq8MBuLFlU/MEPH0qDR5WdmtiepLD+teTJXi/I6Fubb5lidTwCME4rmpWksrhjkq6/KfWutto2MY4OCOd1cxr0ZF8flIBUYzSotc1hu9ilZ/v8AUIUzwXHX0613kcLCNmIUZOcA5rkPDdus+rEk4KRlh9eBXdwIzFVPU9AKqs/eJWw1IHlA2jIFRurKTuXbjityxtmDDeuMnpUeqQgPjHHXgVyxq+9yluHu3MCYKBnr9aou4BJq/cwsdxXJFURDluhzXZFnO9CS2DGUddveteM7hhRz0NU4IZmTAXAPcitKC1aMgsc4qrCuWLfcAFPOK0Y5Rs54NUYhgYI5qZQTzjFZyitzSLZoRtleTUm35MA1UjbCgED0qyjEMM1MKkoS0KlBSWpNFEAcsT1qYrGCWCjNRh1ce49KU8rn9AadebqNWegoRUSreSAx/LWU8xJyTV653ISB0I4rPkU5ziqSsrkt3ZRvIvMhyhI55rPZVOH/AIgT1Hb/ABrUuk3WzAZGMYxVGSyaPaxJYsDwe5okr6oS7FKWeUIGRyNrbmbp3xWXd38jwzMB8gJByc8mtMwNPN5TjaqqGwPXNZ2q2y2VgyKB87+lVTimrik9bFezg3WKsx5x1HrUVq5DkA/JtOCD3q7HGy2MCcLuH5ms+CFCzqX4LdO9a73JuWDOFEeBlt2CatSB5DgNtOaHhTZtC9Oaga48udUPU0rWJvcR5ZhIyO5yccgcVEZCgLbsseDn1qWWWN1O8/MTjKjpTAqHCv1PQ+9Z8upd9CzDcNI6qRkjrtPSrm4+lUbGNVlLM4Y9Mk9qvZX+9+lHkQ0UNHY/Z8jlgxH0rN1GCTS9UEsWVz+8jNX9EWSRpo488MOBVjxFCJNPSdgQ6HH51le07dzqt1L2k3i3Vkr9j68nNY/iVV82I87ipyfbNM8K3BbUDZEZVwXU+mBk/nTvFCsl7ErKynyhwfqamMOWrYq90V/CpxrTdcGI9PqK9BtpkjcFUGR3rz/wuwXWsHujV3cYJJK9AcVNfWVmJabGwkonQ7cLjk0C2a7J35AHRjRptk7FZWyAf4fWtVl8tTj5c158vdl7putVqczLpknmbWG1cctnimLpsMZz19q0ZcmUksW9zUJIzkd67KMpPcynGJF5QVRgVJk7cAUH5u3ApQOAcGutNswasJHjOSKlyOOeKjIAGaaScAA1Vu4rliKZVOTgin/aQx44qqFCiiPmQc1HKVzM1YzkDnFWVjyvDVSDEDjvUkbsp4bOaapyb0Dnih09sQuevqaz2hJP09K05HDDluM9KgkI6gVT00YJX2MxUy2OgpkkKtIG61adcN071GyAjjrUwl0YSRkFPL1iVSB+8iBA/GsbxPASbVQpxkkntW/e/ur+3mI4b5D+NZevSbo/LHZgavmtchRvJEEtqfIjbPI4GB61nR2228JcA8YNb8CNLbRmUqCRztqpLYrC5mDli33Qx4P1q2yEV2O1G2qMgYrDnC/aHOPu5Jy2Dn2rphaJJE7K+DkjkcVi3lopUlWLEN9CexppiWhUiGCrhj1wvfA96mZVCSIQWI681IRDbNHEjYJA4+tadvaeYu5QCD1GKLBcyrYgxBh2OMZq0HbHU1KloIrjywvy4PFb6aVa+Wvydh/FWbXcpeRznhCRBfXkbAFmjBUd+D/9euhv7GPUbeS32ld6Yz79q4/w7cC38RwZxiUmLn36frXpiWiPhgufXnpXm4ifs6131O+MeaB5DYStpurpMQd0MmGA646EVteK54LhopIZFkwOoPrVvxToLW2pyXVuu6OUfNjja+K5C4V0kIY8g4Irshy1ZKomZu8U4s1vCkX2jxFGoJ+4zYHsK9Y0y3VCOARnBzzzXlXgklfFcICht0bqRnHGK9hgj8kcDC9a5Ma37S3kaUkuW5ejUAAYAqG4ZcEAigTDvnioJpFYZAya4oJ3NHaxQuSqr6E1UwelS3DBpT6U1QDXpUY6XOWbEA7UoGe9OIxQFGM5rpjpoYyYwgk0rL8wx1p8aFs47VN5DFwOK0UW0TdIqlSWAGasxWuMl/yq0kK8hRUoQAV0QpLdkSl2KyQkcnhQanVFjX5RUpUYAoAByK1UUiLtldlY9utRuG6VcIGP8ahdBkntXJUpybuupvGaSsUZAe/WosH1q+Yt3J4FMeFVHTNZOm4vUvmTMbUoGms3Cn51+ZfY1yl1e/aL2KJ1YM8ihgOcfSu7kTggDkjBri2tR/wkds2QMSF8H6GpVnKw1tc2vsu1NiOxPc55xVJ3h+0BCTIwyMn17frWi5ZUYrgMAcEjj2rLlt5Dp8hJO/ODt74/pWqVjEpX5nWFWYkMjeWyqfvEf/XqOFGucLKduR8hUfXr7/4VoJZTXr+W5fylGFJ5356nn8qlg0m6MEsUixxhQTER0GeuavYncyIbSLzPLuQpVJApw3I+g711VusKIPKUeX2IrDjsZpnhBQAOCGY4GFz2q9pyXctxHGqyMAdrZzgDtSTtqM1LaCDduMaFs9T1NW/Jbsw/IUqQJDzKcY/hpv2i3z1as3JJ6GiWh5HuMN1FMODHIG/I17PayZRWUDDc5rxudPmdWGMGvTtCmkm0ezn3gboxkk5yRwePwrix1JzSkuh2UZWumbVxbQToyzIrKVIIbpjrXj/iO2SDXLqGMAKJOMdK9dZ1Knj5z0yOn+eK8x8YQmPXZR2YK4P1H/1qywLtUa8h1V7typ4LU/8ACV27dNqsx/L/AOvXs6kMg3H8q8V8OSeT4giXaD5qsn9R/KvYIpW8pcjnAJpY+/tV6DpL3C1JhR61XMigc4FK8mWxjp1qCSLfjnNc0NxyKNwwaVgoOD3qNDg1dNv3AxVd4DuwOa7qc10OeUWOVt3XFDbu1II3jIDcGpkG5+B05zXXCaeiMpRsS2ozHyMHqanAxjtQqgD5RS4J616MI8qscrd2OXjkcmngMKaox8wNSoRgk1pbsL1AgdB1pgbB6YBqQ+Wxzkg0wsFbGKTj0BMViMdBxUO5WbA6UrtuwKqSXCw5Ix6ZNTNwpxvIcVKTsi6y9PQVFIAQQBWZNq/lZGUPPrUZ14qnEakkdSa53UpS1NuWa0NBI/mz+lcfeskeq2jHOFlcN+RrqbLVre5Q5+Vl+8M9K47VHUagXfO0ZIHvnFc9XlTTia003dMuxaos8jo645IEa8s2D19vqauzQO0SGSI+W5yE6+/zH0/wqOxtfs1mE8onZgvnG4k85JrQSJbeJyFYpIpLgjJ+n60lJilFIZbXcDy+UilZCobDenpnvVrDHhcZNZUMqr5awkiNflJI55P51q2TLMplcELnAzwa1Uu5m4lOW1LyKcBWHQY49qvxRPFNFK3LYw23oDT2RXkwMDae1V7zU7e2DAuDjjaOSTTnrsEVbcS8ky5GQABnOargRY6n/vquevNTe5mJ+ZFGflPc00XjYHyislHuU5GP4itxba1Mg/jAbj3FdN4NuEk0v7O5/fW7sAM/wnkH881jeNrYR6hDMM5kjwc9sH/69M8F3oXUp4TgK8XC59D0HvXNfmw6ludlvfsejiQu6FucDJb0rgPHqqup28ibTG8PG0dwT/jXZhNtsG39MDrxXH+OgmLAqMZ3D8OP0rChOLrrl6jlF8mpy+ns9vcW14oyyThhjtgivaUKywiUAgMoYD6142P3Fm8i84yV9M4/+vXslk4NpCPSNcH8BVY1XaY4WSsTxxKy5AOaf9lUg7W5FPjwfT6VIoxyBXHFcju9hvVFRYGOd3QnjJqQ26gdAO1WlHUtxUckZZsgg130+W1kc8rlBoAXBIJ7CniIBcBcCi6ultXCEZbGSPSqzarEwx5QDHvuropzjTZnKLki0dqLyaaHTGS3B9Ky57kyMSMdKoS35UbVcgVr9bb2RHsV1Z0hdTjB4pPMGMda5kaiyrnJweTTYtRPJZ3CexreOKS6GbpHVvcRxJl3VcDvWfPqtunIfccdhWDc6gsjgDJweFJ61X8zzZDhcDvzkVnPFyV7Fxopmy2ovKrSZ+XOKpyXfnuyA7gATgd6pNOU+QuAO2Kow3SR3G1WO0/xE9a4Kk51NWdMIxjojSbb5fmytlT0UDkelVZnteoZmLDIyelRreNOSWIC4yMdD7CsjUrt1lG1dq8Y75FFOMm7Dlbc0ZZ1icoCFBA4HXk03UpAlzaSsFC8EL649ayFu97ljnnueKNSaQ3EBkcuCMgZzxjIrbk95EqWh0sPiplkKHYzew4ro7a6GoxpMv3SOR/MV5Wh9Tz7cVs6ZqepW0flWpIGeWI+X9a0ldLfQiyfQ6y7VIbeQNiNl+bHTPXoawRrU4KtDOqRNyw7k9+vaqV1HdSP5l1eoFUZOCTWLf3MSswiZmODhj3pQcZO0QUW9zeu9fd2dPtKgFuBnFZxvIt4ZpRgnrnNYDFnXLAjd1NMLFSR6dK6LGXIrnRpLG8vMqMDnndVgXUGP9cv51zDS5+tPEnyj5BScAsjufGlqfsdvcZzhyhJ9xn+lcz4ZuRZeJbWRvuMTG3/AAIYrsvESifw/PvOSpVv1/8Ar159bnZqFuT0Ei/zFcVCnai6cjrlO8uZHsnmqR0GK858bX5n1wwjAit1UKB3zyT+td1MjyKBGwUDnp/nivLNfk361dktuUucc54HArPD0YqrzLsEptxsyaRAbG0t+rzOECr7n/8AVXr2kzb41i+UKqgDAPbvmvGNEZ7rWbKNxuWAl/wBzXsWmSoIkkBUO/LH3rPGQlzRivM1jKLi2zZxyQvBqRJACMnNRg5GQc0qtnIP6VhKnKy5iVJdCcsu3PXNUb+8NpErIBuY4ye1SNcwRMFeRQxzgMQM1k6ze27iKMOu7JPB7VUedapCdjPnnZy0jsSxPJPes43GHA6++agvrreAUY9flHrWSl6VlKHv3960gm9WKSsdBPeLHGE6H1qj9pjAJLDC9RWe0zM5dnJHQVVJDFuOo59K1gnsTJJ6mk97HN6EAcGo/tyRnaxIYHHFUIlKMuBuO7AyKivWCscdc960S1sQ0rGlHeIZixxtzxnrVozmUDb8oPGPWuT83Z8+eC3StX7UBp6GNvnI3HnpzTnDYI2sW5y+CRnoeMVmiRt43dB61Bd6mXnIX7o4NUZ7wkgLtwfxrSFN9QbRuQznyXdTtXPHOKheNrt89MVlw3Y8sBlLMMYFW4bq5cnJESDsRk0ODi7oL3ViOZQj7AeehzV2+lX7NZoQyybVVgRyD0zVSKVYyzRDc56uetaOpwn+z7a63I0ku3OOcY6E+9En7yTGloRwabEjFpWZyTjHar7HbGoVtqg4+aqqOVaPGeR1zVTVjPHCXySp7elYcrqSSbNNIrQp6teM8jQq3yhuT61lu4GM9KhZ2cSN/DnNNJJGO+K9GFNRVkYSldlqWclcYwM0xZAW+YDvUbbpFJ7d896fDGTgAUWSRndkhAJyBipQ/A4qNlIA44pQrYosB6P4hZU0OYHJBKjP4158R+9RgPlDjPtzXTXev/2jp89q8CxtuUptOdwB5FcrdNtZiv3s7h7Vx0FLZnRLQ9ZubpYtPlkD4Kxk9cdq8ku5He4d3XBJrprrWpLvRUYsMyYD/h2/OuTmlZpWPWnhoNXuEzY8IW32rW5RxjyTkt25Fem2cTw2saE5YDqOlea+GBNC011EwUn5MnuK7SDW0tLcNK6E54VeKjERbndDjJJWZ0QuzaxmR2woGWJ6VmXvja3iQ/Zo2lfH3jwua5fU9am1V3RI5EiUYwv8zWUFWQABzkcYqYwt8Qn5F6XVZby6kuZ2LOT3/kKtm8llAyHXIBHHaseOFo5eRuYdB1Ga0DI5zvIx2xxiqqW6CjEtzXIRAXG5yMDmsyVwxYj17VIziWLfzhTjn61RUKQWLYU9BnrWdONtTSWpoKFa2MjZJAwoquZVjAHOW6j0q0Hh+ynGVb9MVlS8MSGBXpk1VPVu4TVkrFk3K5DAnjpg1VuCHAZieewpuUSIkMuTx16VRa6jzgZJrojG70M3oPBydpzSCRlDgdCO9Qm4YAbe9Is/XdkcY4Ga25WQN+diQO+elSCNY1VnwWH8NI1xbiDYFZSecjvVRnwc9jVJNiehoWlzFGZCVw579MVOJEkBIIOfSsl0+VWYjn3qzZZmlCIQfxqZRS94pN7GmFHlccD2p19Of7Ft0QgsjHPPPX/69RSboU2s469Ae1LKS+kh0HVzx7VjbVPzLeisWXv/ACxEUjLbfyNYt/fSy5iJIBySM8UCZyscasQwG489ar3Sl4wR1Fa0qaiyJTbRJaQLNAWycFju+gqCR1BG3GzoD7VLZsf7PlQHDMSv4HFVpF2kqewFard3E7cqBG2k85BqzACG71UVwGyRkGrUbptB3EGhkGhHGHQHHNTiEYHyVWjuFK4Ofpiri3ShRz2rnlc0VigbgBs5xg1WuG3KSmeTTN3zHJqWFfMl5PCjNXa2o73LW0rZLGWwiHv0BxmqKoZriOFcAyEAE/zqWacCExfw5ySetRWN4LW5ExUybVIAzjFKKaTaBtHVwwx2VuIUuAFQYGB1PrTjHFPgtMCV6KFOKyYtYhucLNJ5J6fMMj9K1bfRpbuPzYrldpXKsM4I9q5Z3jrN2Lir7IkhsFk8xmlJHJY44pkdvaiQbZQGVurEelNbw7eDkTx4PqSKhOgXkY3ARP8ARjU80X9sqz7F+VoRIHDAY4J3ZzTJJIBAFVweOTnqazWs5g/lmJQ3oMmlitpWz5sqRqOgPBNHIrXuVG/RFlfJlhZIyXlz8qqDVGYeTjccP3Udq0Ip47OFihTcexOc/jWXes808krKBk9qqndya6DnFJX6kct9IyiFPlzwT7VnyPIcq+Rg81oafHuu8tg8dDUN5FI9w+VwwPNdMOVOyMZJtXKhb/SCOxFKsW7kcDPWnLaSs7ORhcdTU4VBGNr54ya0uuhCi+pRlba2D2qOMl3xnj1qaZRI2V601Y/JBPc+tWnoTbUlk8vYAeWHeqsrkYCjgHrTuWz602QHgYFNKwm7kbE4x1pm3ByrFffNTbTjjv0pNvAU9e9O4rEiXs0YCM29emDW2SH0NJER9u4jeem70/KucaNgOB07100a7PDaHOQ+SR6elY1rK1u5cb6mNG8KHJfn0p0pjI+/xWaAwY8Z54p25lBBP4VtykXLNvhCwBzn9KJx83HQ0y2YhmboCKlkGYkPOeQfzpPcpbECBGOGbmpUT5jtbIqm+Q5wcU9c7QQaozuaCZU9R1qyHGBWahbjnirYPArKSGmVyMEk05X8sBhSOMN+NJIQIOvPpSNCOaTecmkiZUJQqQfpTRHI4yqkgHk9q0pbRUtSGO6cck4z3/wobS0BRb1KjIrIMfe7Vb0rXLrTX8qNt0THG1ugrPJIzto25cEd6JQUlaQJ21R0c11PeOXaYEf3UbgUkb3GMK74H+0aybKUQyEZIyfSrguG/gBP0rB02tEaJ3LYWcA7ZCD7NUZjcP8AO+R37moI7suD1FNEzs52gk44xTUZDuiWQLyMZ9M02NVcYLgZ7VEZCVz1J6U/UoEs7pY4Z/ORlUlguMHuPwqktbB0uaWm28K3ineGz0BanXoiW+uCqggvwaxoZPJnSUZ+U5wKeLqSQlnbBJyaj2T5r3Hzq1h8/myynBJAGD6AUyOPDKHGEPPBqwrjO5mwD1FRXAV13RZAIxj0rRdhuOlxWeBeEHOeKhIRsg4qOOB3fbyWPAA5ye1W7vSbvTmQXaCNm5C7hn8qasna5m7tbFMxp/CeagkQqNwq4sAPJb9KkWFWQYIzVc1ieW5lgMDnBppfcSTWnKgVMEDI6GqttaJPfpHKdkRPzMOwqlJWuJp7FZHBODxx1rfshu0CYscqflH1xWbeWEdreRRlmCMwBI5wvFaOoQnSZGSIeZZyn5RuG5T3rOpJSsl1KUXG9zA8k7sAZ6mo3Uh/Wup8PTW8NpeSeSJZHYKmRygwawbxEN4zR5weT7VrGpeTjbYJUrQU77jLXmYKBxtHXvVliphIA5ByDVZTtmQrwelWEAZWBOM96JEIolV3HPHpT1h44qRlAfPUU9JB0xTuQ0NWEjr0xVgAYHyikGW4HSpcN6VEmNIpnLPioZQc4xk1KTiQira27WsQlYfvHPHsKV7FpXJ4EVtMSAYLAbj9TUKNK6TeYTlcJn1NJbLK8++I8KMtnoBUskgaMIMAZyR3zWezsbJ3RnTx+Ww2nhvWiMZb2qS6BwvrmmxY3YrVPQya1JAO47HrW7pKJZaZc3lyCplIWIk4O3qcfWqFokf9n3lw4z5UeV+p4/malgi1HWdEaCKB2WL/AFbDp9Pw5rKtG8Vd2VzSjNKbsrtFeMb23HgO+c/U1o2dnaxXozeRtkFSGGMZ96fbTyRaEluLSMNFxKzjJYn/AArLRlG1sBiDnjoah3ldbGiahaTVyzf2YW/cwzRlWcnjOFGaS8ggeJc3LyTKOw+Vfoe9OgmtnuAu0MCckZ5ArYktdOlt5vKj2bFPzbskkgEVMqjg0nc1VNSTaObWAkdacseCMEZpwPJAyTntSmEoATkVvc5G0hhUknPWm4I6CpeTj5eaR4rgDdsIXGc47UXGnc1tE0m7upY7qHZ8jgru5Jx7envUXiS6STWZC8olkQqrMpyOBz9fSsz7RcSQeWJZBGqH5UOBiq0URnZCTyy9qmMHzc0mDnpZGgIs6dLcIQdrY/DGf61oRqlvo8csMauJBtlDgEhucbe+BxQsWnafbNbzeY7vglgehrp9F0C2TTY7l1M6SR+Yqs2UAPc+38656lVJXe1/vOlUnF6nEOpf72OOOlOtrF5CJwuFQjII+8M8/pWj4jtodMuEMJzHMm8A/wAOaWG4MsLwRgELGVUjvmtfaNwUo7Mx5bSs+hW8SeTDPbzwtFNHu3lQuO461dGjv4iBitFTKjhs4A+pqrd2pXUYrcDzWGDKy/djOMnnpn+XWtzRdfhiSPT9NhCqV8x37scZLH0HQAdauMVGmpt7DnXlzSppX5rFnUPBdlZafZR2kjJcszLJIzZ8zGPy5pLLw1pmlRs1/Ik8sgARHXCg55I9a6OdBfW+mTcny0Zs9RkgVxHiw3DX3mSyABANigfd/wDr8ZrhjVqVZcnNY3UYxjtsc7rlhHY6uwhX9wHyMenXFVp0AuJAp+TqD6it/TryPxGotZECzYLOQPQdc/lWDdARztH1C8A+uK7qUn8Et0c1SCXvR2ZBIVycdjxSrCeWAGPrTHwfu9+atr88XPXHatm7HNLc6Kwg05NpdAQYwSTknPf/AD7VY32fa3X8hWNpjuF2Hlc4OR0zWp5U4421xTgr6s0jM4/bicHHAbNb7+T5EayRlwAQMn1rAnOHOO5rfuisMS5wWxlR7VtU1sXS6lWWRY4ysaKiseg71UfgA9805iZDk9ag2zThzEPlXjPpVRVhybY+7wCWxkHB/OqTybVJHWnzz7o1A7j5h9Kit4mu544EGZZXCKPcnitIqy1M5O70Ol8K2TahGSR+5BIkz0I9K6u41qy00wwKVCIw4Re3em6R4fvtP0IW4jRWYMSzPt5OefWsprJNHtpZ3kt7nU2kC28KHzB7kj29682rbEVHzPRbI64NUY6bsb4s8zTtRa4hAjW4hO3A6g8GuW0giRZlkJIU8ZNd7L4buNWtll1a/d5ZEx2Plnrj/wDVVC68HRaFpLXTXgcHBI24Jz2FOhiqKh7NSu9gnSm5c0loczax+XcSq/UNircokhDsBkYwRnrUVxlLhZA2xWAYk+mKjuI2AL7zycgk9a7d2mTF2joMskZgxPJBrYsbY3MggMqj5Wb5ug2gn+lN0qwAtUmYg+aeD04//XW7ZaEIAZbiZk85dqooydjcZPpk9KwrVYq5nTpuUrHLpdpJGXjjAYHnitTWT5+m289oNqGMQsAOCep/Imp7Dw/bHVJIDvFvCgMmeu49qn1u9A0u302zt4UiV2YbTjJHBz71DqQc4qJaThdSONZpIbTy1I/e5BPfg1ZsolguYYxl5zIF2jtz0quY5pLiNIzmXzMKVPrVu2jm0uVr3YZQhID4ONx711z+F23MoO8l5HQavpztZxCdFQAFlcLy2Se/f+ddc0T2fgmCOymDqsKr5g+Y45zVFr0NoCs8UU1ugVgz8FcnGf1qjpWqIfE8lipxYPB5jr2+QZyPqK8vmnNcrWiOyo4t83UzfF1mkNvpbOSTJGjOvpmorWW2s7IzhFecRs6pjjjBAqt4k1JtS1PezbYlIRPRVBwKr6iU+z7IGIIKjPTgriuuMG4RgzG/vOSM3Utalvolto40tLeQ732k9STnJ9Pauk8PXWmR38NtZiaeEQFJpmTCZOOg/PmkFvap4Jgk+xxTvGNzFxj5iTnn0o8NqqT2tzq1xFbsYHa0iVQM7geQBx0IAzXbVpxVKS8jhhVk6qb1toddbyuif2Z5oiKYNtKOjpnp9R/KuL1/dc6vLbwb7hYxj5Rkk45/Wtn7VcW0IguV8y2c/LIeChzgH9K546kdNurnyCCZF2q46j1xXlYem1JyWrPXnbl1egy2kj8PaTcROVN7dAK4HPlp6Z9a583O9w7DrS3fmuRNIDyTVZSfIX1FenCna8nuzzZVL+7HZFhmwM8c8VbgjYoGwc4FZrtkcjpzXWaRprvbRytuO7b06DPrRN8q1MnqPsIzDZHcAPNwwJ9KuLHhQN46VM1vwAzoeyhelWVtm2jkdKwunqJSaR57McyEVqQP9pheV2GR8oz7VkynLt9av6aCdOlKkFvMPBHTitJrS5tTeojkIpOee1WNEjmZZI0tw+erkZAzn+lQGB7q7EMQ4Pc9AB3rfkuI4LVLO3HlQHAecjG4e1ZVJWXKt2dFJa8z6HP6nZWsIVbZ2eVclzngn0FP8GzW8Hii1a527WDKhboHI4/w/GrV1b25tXngyCrhSp/nXOFXjmJBwVbIP8q1h79NxuZVFyyTse4X4SUTRISoSMmWTP3eOg7Z9+1clpWlHTri7u51JACqpPTaeW/oK0rLX7TUrSxjRGDzANOu7jKnlfxPJPpVvWleZIPJO3zwpGOhXOTXl1OZRcHpf/M6KVlNS3L82zy4lbiNnAbHYEEH+dcz4uvJZ5rbShzgKScc5Ax/9eum8uS5jmQKAvBXPrgVyN5ITfRvOFaSEFVcd16Yrgy5e/ft/SO+tDmVluYmu2qxpBtOcocjGMc9Kimg22aSjkFRzW1rVm9y0Zhj+RYi7N7Cs4DboQcEk72jI9B1r3YTvGJ58I7+hs6CiJpFq8gL5yRkZx8x/KunsI4LwMn3Q+AXHVccqfwNcnoNyi6Cgzko7DHfPX+taOhXUs19c20bgSmB3QN/eGP6Zrlrwk27dGKlK0kiXVxFo9hdWslzvupnJJQda4vVVubZPKupNspO9k3ZZQ3TPucZxWjepPf6fDqEtzvl87yWTvGOxrW1/QLBdMku/LY3USIZSWJ3YPOfcjrXbhaSSd9Wc+Jk1I43Q7gWupQuV3x7ypDe4I/rXcSafNN4duI4Y0SBySGc84zz9BkYrg3gRb17aDo0uE9ucV6jpaNbaM6XOy4WMDI6AnGSKjGPlakty8LqYTafLLo8MEM5UyqjEStgY7ZFc1HdpFeRGBnaVTsYkY4wQf0qe91W7fVLi4Em1pSF2DoB2x+FVYlCXGccngmnTptJ83UuTvKyHagvmxEDO58ACi4Di2R5MhmjBIIxyOP6VteGpli8RwyPF5oQEADqv+0PcVq+KdSt72SW3gdZo3bbGyjk54xz059Pxp8/K1GxNmnc4hEe4sFN5N5dkvmMoXq7AZP64H41RW5llewmLENEEhyP9k8foa1LjRdVt2MN7b3CRwREIGT5QCcnnpyeazLBN9rcr1MbLIPwPX9K7U1KOmpxtOMrs9f12xha2hhyAzL5ae7YyB/OvNCiwajAHHyh8Nn0rvPE935lja3EL5BCTIQfb/8AVXLalbpeL9qiXCuN30buK8fBtxWuzPUqR5olbXbfybSRUQhQQc8dfaubX/UAmt03E01k9nNlztPlk9QayrC388EyfdDZx616VPSLucCg+blKksbcMAdpXniu70i8t4NCtWCnzpECsVPJwcVibAFw33elV2AikiKgjByMHHeoqfvFY0lRcdbnUQ3AnLPGm1UbBGMYz71dDtgcD/P41j6aH+wvhxmZs4PoDWyYlz9+ufq0YzilY86kUFmwK0vD9ytpfGN4vMjmwrj056/hVN0beatWX+iKZGXLvwB7V0z1jY0hG8jb1S4tLaV7S0QZBdWcHdnPv6VlXEtxcQGWRgQuABVQytBeESYZXA+YHpVouvkKB1yc1koctmdUXdWbGRStHDIMZVxg/Wsi44lbnvW4vMGMAfNgVkSRA6l5K85kHHtWsLXZnVjojsdH0Nrk29raOFChWuJDn+LqB+FaHiTUjBrXlwP+7gKpt9lHJ/X9Kpvr/wDYOkRwWu03U+ZHl7KD0A9TjvWTFL5uk3d00vmSTsEZ2OTnPSuLlcneW2xrdc1o9D0q0vFEETnB3JiuL8RSI1yEXGVySR6ntVyG8JsRBFKPM2KyEc89CP0rBvpQZfMYEDGWB7HvXn4HCezrOR31JJwuT6LqE6X32UPvjlBRlbnsaqWcYktbiNmYBSr9OBztJNV7C9isbpbibcchvu9cmpI9QgtorjcjlblcLg4wOa9dwab5V2PO50ncvaLbSx313aKASo37T0yOP61e063uIdaSZAfMj3kKOP4Tx9OawLHUJYt11GxLovluQex6fyrb8PX/AJ17NNPMMLtUAnqWOKPZylPXbqZVJKPvROnsdPtWiezuEXzEKE9OQeePxBrL8SzXBtzbhSsSRsJnIH7xu1VdY1yG01lXn3NCsnkTAdQjKGVh9Dn8KoaxcJd2c0n23zYUULGFVvmJ6Zz0rsSscLberOQM7Lcq+fmDA16TpjSXWixwxP8AvpJ3Qg/Tv+FeYSfLMhPYjNdjpd+1tKXVjsysgP6Z/I1y4yHNFNdDuwb1aMy+RY9VlTIOxiMjp6ZphyGBH8XIp12MXkrE5yTz7Ukm5ym3ooxVLZFPSTNDQj5uorBvEZnHlhz/AAnqD+lXNX0iW1XzWCTQl2CSoOpHXPcVz0UFw7rHCpkkP3UTlj9K7XULWW00m5kW5iljVVleDzMyRHIySPTnnFY1bxqJx6m1NqzuY+m6tf2i+XHPKYAMGNmJWs60gSXXmCIFS8jeMqowN3UfnitW5kij0O1EBwku6RuOSemfpWLDM0E8VyCN8Eiyj8Dn+VaUGuZzSsRiI80LGjcSTf2Va7XLRKrIc9PlOKTS9Xs7ZHivOFkU7gTx7Ee4qppVy17Y39vnIikYowPG0kn+n61QkjWQbGFL2UZc0JdwcpckZRfQ1YYre7uQY5Fk2jJCnn2rPhi8ovGozhj/ADrFk320zBGKup6g4rb0bfPCzuGkODuNayjyRvfQzotzq6kM9x5YJJ2jpT4JI54FLY+YZA/SqepxsyBQvAb8aitCTEVJOV6VXKnG5M6jjOzOijl3WttAF2mOZQZV64J4rsPsz/3h+Vef2c/llmZ8YZSD16HNdz/wlGhtyZmyeT+7rnlB3sjKb5tUcT5jIcFAwB7ioLppZZSUG1T69asycE/WmtkjirXc21asUfsO8Zkdj7CrAtjEnEzAA/x8irltA0znj5V60t1aO0yRx4LMDxmk6mtrjUbK6RnG9ZRs8kFl6HdwTUmjmFL157r5nKnaewNXIdFkZz5xCqOhBzk1ZbQsrmJyP94daUqtOzjfcpRqNqVtjJv5Fu7hn8wYAAANWrezuJvD8KJtUzXLBQzhc8defpRJpdxEkkjJ8sfU5p9zcLLp1nbQqMxglix4yabd0lD+tAW7cjYuY7GwitozcGVvLCsYWHBAwaw9Z1OymSO2sVcHpK7Hkn0FUTbSyP8A61unRBUAtUXH3sjnNFOhFNNu7HUxEnHlSsiZkDSZkJEar2qO4uY5IEVAfl6Z9KU25YncSfqaaLfI7cV0JIwcn0LWi8m68w4Qx49s5HP86hsbu4t7ktEoKltxU9yM4/nSwxBWKliMirlleS6ddie2CGRePnXcKT0baG7SiovoaHivTGRY7wufnSMzREYKZXg/Tt9RVmbTr6Xw5a21tEs0SYdpxgZUj5c/qPwpv2iXXC7ajcoG8l1XdhcnBIH54rT0XVLPSNAKajKs80Z2xwI27cMZGPQetFOTcVzbmFSKUny7HIroM89xLC7RRyxR+YyM2Dg9B7k1p3unzaMI4ZmzlCC3YAEjH6U/R4L6/wBfk1S4j2rIGbceFYk9M1sa/cPBdRR3dukkVzC7bWPzRkHGQeh7Uq17XWpdCSUrM5Hzw8avkELwfemtdoFJ6AdqVNIuLpn+zIWjPzADsPetKw8J3l2zK5jh2nGXbkn2ArOdSlBXlI2Uakn7qIPD+sCw1xbrBJETqvHQkcUx7qUSSzM5Z5kdTnnIYc1vR+ETb3aKjvJJEVaRgAFGe1Gm6fC/iSzsrmJZIGmZXU9Nu1qwhXozm5Qd9PwNfZ1Iw94pardLF4c0eFUAYW4JJ68k8fzNc814NvC8kd61PFMpe/aP+FW2qo/hVeAPyrEaMqMkHB5H0rpoQXIn31+8zqyaly9i34fuhbPqEP8Az0iAH4GopbryL47j+7KhT7H1qfSI4omuZbi1ndpEPkyAHaB3PvWfdRNLKzjlWNacq52Zqo+RJdB9/Fz5o7jn3rT0S6FtYvz8xNVpkae0tw67ECbB746mnLf2kCpCqZROORUzXPHlsaUZcs+e9jW32s+4snPr61l3NsodjEatxanZmM4hj3f7Qqt9qiMmQQAe2c1nBSTNq04TWrREDujUD+Ec/WqwJx0q5HHLOWEaNtByRT/KI4wfyrVNI4Grl8oAGyqt3zmrcVpDHCTLtL4zkdV9qz52iSVSEwCQaUlpZJGdnGfQ8Vxyi31OmM0uhJbOotw2OST0qO7lRo8tkMvQg9qt6f5VqjJKyuTz/u1k6neJu2qoGTkgU4+9OyCUrRNLSrl/LMWzcgbcXLdCelaMjyOp8uVEjX/lo5ySfaudtLgNCQGwuc4x1NXZWuHmEWx92AVGOoPepnSvK5cKnu2LN04+zOv2obyw99w79OlUrSIXdwUJCZOWAHQVMtjLuKhQ8vQ/4Cte20qCzkglLssoUb13ZDe2KUpxpx31Y4pzZBc3dhpqJFHbBm4JCN8zHtk1f03wa9yz3mpq9rFIQ4QMMhT6+lUL82tlq1vPLbRBZJPMZzkkY/8Ar4p0ni27lS7VgWguTkxZ+7/u+gqIqbgnT69Rza5rS6DvEVvDY6s1vZqiQxOAAVGQe/PcYNVHEN9NDbw28aFZWVABwVPTOOTg/wA6zZdUE0zGXzN56se9WNP1h9OuTdRCJ5FUiPf0Qnv7nFbqE0vMhSiW7nTIJ7uSJSLd4zh3x8jD1Udfwqje6RLbZKNux2b5WP4Vd1DxBbfYrcW1zJLcbB55ZfvPuJyD7ZxVRdaNyVe4eR3HAYnkDvTj7VK/QP3cnZlImWNQDnBHWpFVyAeORVi4v7OaJppFbABWNV6k9qyo7x7eZXC7lBBCt/KtY80ltYznyxe5qRySRLtDEL6Akc1JJKrqEcFsdCecf4VGNYjeUMLMbcZwG6VKmpW7j5bcBlHIJHNZvm7DXL3Oq8LaYZred3iTynAUL/exzXSmJIY1RVEQXoAMVw2m+IprOB4l+VScrgA49qgn8QX11NvdjtHGBxkV4lfAYivWlJuyO6nWhGKR0N9f2lvOZBJ/rD+8zyKoTiI3kGo2hwIiWbA44B/nWeGtbghryCQgD5VDcfjUuoapLNplvZWyKoTIOVwFHYD8zXXRw3I0le/4DnVTXkUIng1HWNLtLeBJZwrtdGcZDknP6CpPEEy299HZw28IitNxjcJgndnryehPFVtFP9ja2l9cqX+VgSO2aq6rPNe3080cZ2u3BPTHavQSftEl8NvxOTTlcnvcLPUrSysZjMsjTkFYvm+VQRzj3rCNwN4IK7AcgHmrzaZcPgNkg8gdqU6QVGcE9sV0R5Itu+5hLmfQqXd813IGlcnAwAg2gD0quuGPyIc1sDRH2BioXIzVvTdNiium37WIAxnpjuaHVhGOgvZzb1MFVli6qy59RU8Es0Th1Chv90VqapeCW+YOv7tDsRe4GKZb232sfKox25qfaXjeSFya2TK4u5hgbUxnOcYNSeex5Krk+9XjpEmeMHPPBp39lr6n8qzdSn0HyTM2Rmd8n2xVsl1jO0deeO9TSovlwHaOU5496kQDy+gptCW9jDlguDL5nzHJ5FVZYXJPB966YAc8DrTSiseVB47irUrCcTH0xJI+cK6/7Rxit83yqiESsR0wp6VHHFH5qjYuPpSzIolwFAGR0FZzipO7KjJosw3FvIGEEjxuR8xPWkOoeQjBCjuo4JXrVadF2D5R09KjkVQOFA4HQe9Z+wi9zVVWtire3ct5Kry7cqMADsKrsrxkKF+YjcBVtFG/oKk2rvztGfpXRGKirIzcm3czDbzPlz2GQOmaqvE3mY9fWuqZFMOSoPy56e1Z1wi7U+UdT2qoSuTJGL5ewkbc49KcNwGDitEKPQUxwNp4FWSUfLY42mpRasVV2J5zVmNRnoKvhV3Q/KOh7UpaAtTKELAblJIxT/LOcsCBgZNdJBGn2GX5F6+lIkcZdcop/CsfaGiic+FkUBxkKanjkfjByPete4RVjcKoAz2FVYEUuMqOnpTT5kVazLVv5kKAsVK4Bwe2a0URCu/Krn1FZIH9K3dKAc4YAjPQ1x1oWVzppy6Feey3xfKVaQDg0kNuyRbZow208HFbMKgWTkAAjgH05qnN/rsdieRXOpyfumtktRkNnbq4IViScr6AVKtnHIr5gUYOelTWqrs6D8q0YVG3oOlYylJS3HZW2ObudPVl2bZQuc/KKzX0m4aFi2FxjGDyR712EiL5xG0flWeyj5RgYz/jXRTqySM5xTOQl0spcksQ+BkndwKvwWcccIaPaDjOAa17kA78gfcas6P7tdHPKcdzJxUWRKRF8yxdB36Uf2hP/dWpGPyGmADA4o5E9WS5NbH/2Q==',
  '/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAD6APoDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3qiiigAooooAKKKKACmu6xozuwVVGSScACiSRIY2kkdURQSzMcAD1Nec+IvEj6yzW1qxTT1PJ6Gb6/wCz7d+9K5MpWRL4j8TPqTNaWTFbIHDOODN/gv8AOsAk9ifzqMNg46VKrDoanci/URZXUffb/vo04TyYwXfn0Y01l57U6NT0xU2GPDSbgfMk/wC+jSmWTOfNkwP9s0Ee1GM0noCVwMkwHyzyjvneeaWOWZs5nm/77P8AjTcYI7mtqxsoBAJpV684boKyqVIwXMy4UpSdkMsLSSWEzTz3AX+ECQjNTz3fkQmKLegPJJck/wA6srcQFfLTAwOBWTdELvkkbCL3ryqtaU5b6Hp0qSivMr3OpPBCzyXEvoB5hGa5ufV7wuxW7uEB7ec3+NPvrkXsoIUqqdOf51mTLvkBGdnT0p07rc0kTHWtRCEfbrnPr5rf405dW1JQD/aN2DjvM3X86z3ZRwASR60wyd9oA9611MdOpoxeJ9ZtLhJo7+43xMCN8hYH2IJ5FexeFPFdr4n0/wAxMRXcYAngzyp9R6qfX8K8I2s7ltuc8j/GprDUrrR9QivLKUxXER4IHBHcEdwfSumjVcHYyqQ5lc+kaKwPCvim08T6d5sWI7qPAntyclD6j1U9jW/XoJpq6ORqwUUUUwCiiigAooooAKKKKACiiigApksscETyyuqRoCzMxwAB3NJPPFbQvNNIscSAszscAD1NeZ+IvEUuvTGGEtHp6N8qHgyn+83t6D86VyZSsO8ReJJNdlNvAWj05TwDwZj6n29B+JrJwsac9KpXU4tYzIwzjgD3rHm1SWYkF/wFY1K3JoldlUqDqvmbOgMqYLbgAO+aZ/aMCHBdMd/mFcwzGQ/Nkr9aVEBwFUAe9csq1TvY61haa31N+TW7Zeflb2DZx+lCa9bqTvXoe1c9IhTOVXFRT4CRuvRiDSVSb+1+RXsKa6HYJrVs3B/MGrMV/bTH5X2/73FcgBwBg5IqNpGRyMkAUKvPvcHhqfTQ7lAGlUkZXP51u3UhSAgYxiuI0e8mlRoyxKLjBPb2rqLU/abYh2J2nAyajEe/BSRNFezm4Mh80oCVJ5rO1Odvs2NxAz0HU1pyo3mNgYzVOW3R8bhuI6Vw9TuRzDOWA/hzUE8jK4BcAenYCta/siu5hznoFHSsW8Ahdd2SzDgdq1hZsiaaRVkmKt15NIr7nwf0qJ2OSSMf0psZAI5OfWt+XQw6l2VlTG1uopMlQwA2ZHBA5/E1X84sQMfd4q2nMfLJEOzMeSahqxRX0jV7zRNSivrGUxzRn6hh3Vh3Br33wv4ns/E+mi4gISdMCeAnJjP9Qexr5yAIbPatTRdXu9E1KO+sJCkq9QfusvdSO4NdkKvI/I5ZQufStFYvhnxLaeJdNFxb/JMnE8BPzRt/UHsa2q7U01dGGwUUUUwCiiigAooooAKjnnitoHmmdUjQbmZjgAU25uobS3kuLiRY4YxuZ2PAFed6p4mOr3fzLJHZIcxR92P95h/IdvrWdSTjFuKuwTjdKTsM8T6je6/IEQNFp6HckR4MhHRn/oO31rn1LAFWXGK6ESxXEeVOR9KzLi2HmEj+VeVTxVTnfPudk8PBxvEz5YUmjZXPBrHn0h1/eI4wOTxzit7y2ycimbJWJQqea6vaRnvuYxjOntsYTWv7kjvt3UGCUwblGFUHPGM1rRQGXfEExzja3oKsrpmU3yMBGq42Zwp+vrXnPEW0Z6fs76o5mEmSIqu1nHHr37U2SB/s21goAORWrNLbTPCiRP5/JIjHQ/yqlMEVpYQTnbkk9h6VrGpfpYTWhTjL+YAGG0etXorb7TfqjA7QNxxVKNQACOgbPPpzW1ohFxeTADogA9ua2j8avsYTbUHbc1La3WNQkSYz2XvWi1ubdFZpcSHkKo6U5DbWco+88mPvDtUE06yPvJxmlVxCekNjOjh3e8y8l/CibpwFVR97NYmpa3EW226lR6mqOq3Ll1RcbMZ681kXE2VBbtwAO9cyjzHW0kWpdSk+Ykkk8YJrOuSXlDHLOBzk9Khkl3SKR69BUTS/vNxb5cc1rGnbVGM5XdhJm3MFC4UDH409E3oRjHfJHSoZJN54HyipoDnBbtWsrpErcWOFt5Izx/FjvVpCuQUTfKeAz8gUzc2PmT5OmB39qYxbaPlbjGMVk7sppLYr3kXl3PLqxfkhBgD2qeIqqEkZ46+lRNExmDEc96lcFY8DGe+Kpu6SM0rFrStau9D1SO+sZNkq8Mp+6691YdxXu/hzxHZeJdNF1anbIvyzQk/NE3ofb0Pevnfac88Vo6Nrd54f1OO9sZAJBw6H7si/3W9v5VvRq8jt0Mpw5tT6PorI8PeIbPxHpq3dqdrD5ZYWPzRt6H+h71r16CaaujmCiiimAVBd3cFlbPcXMixwoMszf560zUtStNJsJb29nWG3iGWZv5D1J9K8w1nXp/EJjuSxjtOsNv6f7TerfyrOdSMLJ9Qs2m10JNd8QTa7c45js0OYoc9f9pvf+VZTNtHApjHYBgfjS4Ljkis6mIjT0Ip0J1dWTW968JwcFO4qaXVE25ER9M5rHmjZJOCSDyaRSoGTmuGapVHzW1O+EakFa5f+3LISdmKnhlB5PWstSN3H5VYRiuCDWco2WhsmPedbaeSVsgNIqs391M84q5c2cDQk7AxwcHJOR61VaTD/ADIsqOMMpHb1/Op768EVmqR/fkXAz0X2FcEk3JWOpWsZttaRw2xugWaZkcCI8AjPGD+Fc8ZJCWd2AzwSea3JphNNBp7ttWMF2KnqetYN7hJCq5IBwK7aN29f6RjU7gZDjI79jWpok3lXLgddoGffrzWWIy+0nrjgVoaUqrekgDkcnPf0rWb90lI6AvubJ55pT83Q02nKMkcd65jROxkaiirPgZzj5iay5o1fJwTxwfSunuLJZ23dD3PrWHdxmNiq9AdufWtYuxL1MgqUGc45qtI4LFj7YAq/Oh6LgsTxUUOmtKxLOOmcA1vGStdmEk72RBF83XkVcQLHjjrTHs44kJL/AD5pYpMR7G5weKmTvqhpNaMtrtSP5hj0zTDyoC45680hHZjj0qAysrbUyx9AKytctstl1AGRz61XedFyTjntVqxt0lgN3dvtjwdq55ODj8BWXMAz5wBnsBRFJtrsRJtJMuWtr9rJlkIjiB/h5Y/4VtNoFjEsly8pcBMrCvHOO5rBs7mS2ZQ7HyyclQetat1rMHk4hYyFhjBGMfWsayq8yUHoXTdNxvIg8P67e6HqC3tmQG6PGT8si91P+Pavd9B16z8Qact3aNg9JIm+9G3of8e9fOaszMSvTNbGga7eeHtSW9gYqcYeM/dkX0P9D2rvpVnTdnscs4cyuj6IorN0PXLPX9OW7tH46PGfvRt6H/PNaVeimmro5tj508YeK9Q8VaofMBis4XZYLcNwuDjcfVj/APqrb0b9/pFs+ATtwT9OK4W4ST7RN8rAb3JOO26u08LXtrHpq27yqJFYkg8ZzXlY+/JddzrwtuazLsqHkEEVEilTirF7qdnFcRwu6hXDZkB4UjsaWNYnjEiSqysMqa4oVGlqjrcU3oyPywTyMmomtfRTj2q2GVOgyaUvkZp80t0Fl1KCxqp5HPep12lcYGKWQLtzsGaQoFQMXGPStFPT3iHFvYQsA4XJUAY9B9am1FRcw2hjO0RhTiT6A8/571SNwG3KqKT0wTgH2qDUdckKqjKAyjHXgVioScvdN+ZJakN5dAyu2Iw/coBisK6lDS8cjPWnTXDXDnAwM/nSeV8vTIrup01BGMp8xLayI0KyKc7RyPerOlzxi/KyHbnBU+tUEiKqyjAVj+dEoaHy5V/hODz2puKd0ieZpJnau6W8e+Rgo9Sai33bWYvlhihtegknfG//AHR1Nc7qjXNxNaFsMjAcdicdDU0MVxqjPc6jK0iQrwp49goHQD6VzxglHmkzWzk7JGpaa5DMximCo38JGealvrfzYPkXJNc7Zx7tRUxxhUDAZLZA/OuxUgp0HFZ4ioqTSS3LjSb1MzT9GjZGllGGBwDngVU1Oe2tMRQsfmGWCtVTULq4tmu7VJGCGUNjPUY4/Cscz5GAMtWlOk5vnk9DFtRFuGYvwGy3QHtTwjK3zdccVGmHdCcls5/+vVuQ7Wx1rok7aGb11Kskz5O04A4pIfN3gRlt7HjFOfBkG4/L/WrGnqrXLSHnaPlyeKmTtElXcrGsrqTseIOigDB9T6Ustvb+WEMQXPXFEa3LvvSInHXsPwq1FYKyCS5kLk87F4xXBKSjrc6+W+ljNTT7SSYDyyQOwPWteDSrSRf3VlGATyzEt+nanSCFIVCxBI8EgD2FC6uixCKIKgUHLN0/Ss51Kkl7txxpwW5n6npVrZWbSRKS5cKSx6fQdqwWADfdPtity/E1xavLuZgcEKRyRmsxE3JgjHNddBtR953Zz1Iq+iNDw1r97ouom5tXGF4kjb7sq56H+h7V6qnxH8PtGpeW4RyAWQxE7T6Z714uB5dxKoPGR0qQhMn5j+ddMK04aR2MJU1LfcR4JYfOcOjDcxCnvzzRb24hmw6Nkjop5qhJITMU3naGY4+prQsL0C+jQqJNpCgHqPU1rUUlcIyjZGq+jR3FyspLIr/M6uen09a3A0EQCoOg4rClt50unmLFgT0GcY/xrUA781wTUna7OiDir6Ehbe+1acCqPg5I9aF0S1v4YPMvSkhXcyE8Fuf8Kr3cNxpOyOWJ3Zvuruzx25ocH0ZSaLDxM/3Tkemajlsbh4iEwr4wDnpVVNQCndMhTHXad1a1veQyqgjlBJGQpPP5VlVdSmrrU0p8knZnI/aZLOQxzoVkHDnuv4VUmxLIXLZB6V12paVb6jh5VYOvG9euPSsK90WWzXdGTIh4GRzmuijWhLyZM6clvqjKVAvA6559qsCMsgI/KmxxlSSfvYycmpJmaGMDI+boAetdDd3YhJJXZBdt9mChWBYjPTpUSCe+Xyyo2HqwGMVYt7TH76cbpD0U9FHv71rwaZLLEJpHKJjKgVMpxgtTeOHctZuyfQpvKkumQwKhNwp2vk8A+oq5Jsjt0h5AZtzc9aiiVU1L7Og+WcZLN2Yf/WpdTjaTzVTdlMAH146VhpdR6bmkWlG63WhQDLFeROqqAhyQelaY8QYKDylY5wcHpXKzl32qCRnhea2dLtkVEaT7iHe7HvjJP8q7Y4aNRpyPPxGK5ItJamnciNpzJOFaVlyB02r6n0FUJdOW5zJFbMR2kLFQfoP8asW8Ru7iGKXImusTzf7Kfwp+X6mtu7eO3jAQbQBwPSoxNeNFqnTSuZ4aE63vVJOxyFrbTNM6uqoyDkZq8ljAzZmlIz6VmyzGO9Eu7aAcZ9qbNfvNwv3R096ylGcnozpUoRWqNGa0sEkATJPuTVm0WOHJhREOfvY3GqsLRm3CTyKs3Vsc8f40SyKqtFESM8ZHasXFtct2aKUV7ySNGOeSeNneTjOBu4z+FWYsbWIyykYHYCqEcf7tExhVGMnqa0bcDZHnnPUe9ctRJbFRbbAMRZSRFcfu25A71lWZVYsmMys3AAFaV3OFDxggHYcZrFtXKQmfLkK2Ao4BJ4FVSjeLFN2kdC6BbL7TIr7WwCSuPpXP3L7JWKkFc8GrWu3E8dtb2e47VX5snqQAP0rEjBYke9a0Kfu8zZlUqa2JWYGYtnrj+VBxk9ab1lIxQzYY8d66TnbM/eqTMxOTuOPzrR0K0jv7x1abYwO7GMlhWJI2ZSDxyTV7TL021wZUZg4GBgAj8a7K0W4vl3OeEldXPRQiKAjDcAMZ9aGhT+E8e9c3Y6/LNIEmKMSMbVGDx3rXjuXZN6oWwOF/xNeTKjOL1PThUi1oZ1xqEml3TTI7tJ0C9v8AP+NXNN8QtPqSrCryRsuWbbk5x05zgD+tYsthqtzcPczBVdjlQsgCqPStnwtfPpd/O19Gkkvl/u2KgnIPr+ddnLFRv1MLu+xpatYu9qbkw7XJySI9oA/DvXD3UvmSsEbBH8Q4wfau11vxXdX2n3MexUUjauB0rhxGE0/zW+8TjHtmrppbkt9GddpGrm4tYULGVokzcPsOTzgY/D+Val5drDpkt3AVkCqSpHT61xGnanJbDNuTG5GCR3qxqd/cXtmE85jHJktjjODjt71jKh75op+6ZqX7NO80x3Ekn8f8K0I/KuJPPUAlRz9awBE7PsKgEHGa1tOXykdOmea2qQSV0VhZN1EpbGjEolmVScBmxWrf3QjiWJDtXGMDvWZp6iW6JIyIxkD1NW5ikEhurgqSBwvYVyVEnJJnpTd2QLYlbYysxEvVcdqqRGSa3lOD8revNKmoSahMQWMcWeo606ydII54ZD+9LZ3f3hV+8k+bcw5ovSOxj3Cqt5Ep9a3Y4sWFwP8ApgR+JNY0sBnkMzHo4GPQHofzrpNLRbm3ZHP/ACzOR9DXrUlaJ8/iZ81S62GXSm219mj++2yPHooUH/Gqut3rtOY14HTFXNULL4oicYMTp6d8GsrU2V9Qk284PWvOrxTxGq6Hfhm/ZIxrkFnw3PQ0+EY2vjgc4qO43G4I49hViOPykAPXHStpaRRm3eTFgDtIWbOAf1q9CuGVi2dxIIqhExDnHc5/Gr1qoeUBuOwwa56htTfQ0UkSNRvYAdakivlVNqKzH2WolgTHC/U+lSyRzQohHQ9CeK4nyvQ6UmtSrdPI4aR0KYHG/r+AFNjWWGwjQtgNKvAHU5qEmW6ulVvlHU88AVNdTbSMnJzjjsO1a2taJF73ZHrkhuLi4mU8IwQe2az7dcpnpitG5UPZ3B6Eyrn8qoxEA4FaU37ljOa9645RmTOOfWmMBuPHf0qcAb8VE27cee9WmYyRzswO9sZPzVc0tM3ID5Abiq4BDE8sxPGegp0Mjo/LbNp+96V6UtVY5Y6M0LbTrmC+4LABjiQjOB61Y1ua4a7WFJT5AHCqePrWcb663l2lLR7uFI4qeO7EsRM0aqA2Qw6fSsHGXNzPU2jKNrI0wf7P0uEW88pkcB5Ofl+mPalk1fdYhgB9oH3Wx3zWdLfRD92JCQBgYpI0WeBnBBwwFTyLeRtzX0iyw811cRneoUnrjpTG+VRu+YZ6Gk2sWyr4z1p/VgnUetGwNN6j7Boxewh1G3eDUifu3aFyokjYqQfXPWqoICKw++DVwnzrvzz0k+8fepluVArGIiTmRSSc8CrltEBGzhwznIyO1Rm2DT+Yz7V9AetWUkiiB2KAP9mplK60OzDUGpc8tEXrWRIrNBHxkZkbuap3L/aZvKLfKTk06ORYoGCbSv1qAMkYJX5mbqx6VjGPvNnQ6buubYiR/sU33QR/OnahKiNHdx5EbrtkApDaiQ73/IcVFdx7rN0QAJxgepraKTkmc1anL2cu3Qq3F/ArB42YHbhlxww/oa1tI1ZIIi7JJJ5mcMgzjnPIrlJ8AbChDd89q3NC0yCVUe5VnDfMFzhVHbPrn0rvjds8KcUlc2P7Uju7uBTFIkykn5xxjHXPrVe6iEscjoSZCM5rcfToEt9sSiFewVefrWOAysyv1HGK48XTlGamd2BnCdNx6nOR5iuNsmd2ck1dCBgT8+adf22X8xQQw6VPBte3V+M45+tRKd0pFRp8snEreVtjLjPXHNW7UAshBAI9agmwIyAMnJx7VHaNk7G9etZtXiVFpSNp5ZCeuVLDOOOajkmXziAmTkBBnpUIZlKpu6kDmpWjSGQOT8x9K5+VI3bbFjg+zxNPIQXfhQD0FUp2eW4UA5yckVNcSl8ckkDIBP5VBAQXLd+gzVRT+JkPsged8zRHIUsCQe5FMAAOMd+tJcLtkDAkkjcaWI9M9TzWiSSujO7bsyYKTJ25FI0Y3Hk9akUchu1LjPOf0qUTPTc5qDcpOMHjn2pp4QBsAE8c1agiMkxK52bcsPWpn077SHaExoMdCcfT+tek5pPU5lB20KsMfnoYgfmXnGOOfSk+yzSuYIVY47Ec4pqI9jI2D823nnpW94VsxcyyXU+9lVgOPXFTOp7OLl0HGHPJRI9P0OZERZYlxKN3zdQoPzH8qZLaJZOZgCiSEjavQc967O4u9MtLaQNFD9oVSgKcHFcPeZmAYKojA6D698965KNaVWTb0R1TpxgtNywoRrQFe4yp9vSo9rbckc1npctbytHISY88c9K0EmDAhegHHNbtOJKkpIiAGR7mr9rDDLuR1BbGRk9qoSDhvXFSWLs14jNwAhomm4mtBLnUX1ZqNAuMADioPsgZwTwAexp/nSO+EC/jUNzfGBtgwTj8qyXPsj1puilzS2HXSFFxGF6Y2kfrmqcEyGXy3+Rs9G/oaVrkkfKxJ75pquswZHjLE8kVfK0tTgrVIyleJoMG+VeTu44qV4kMRQgYIwRWbH9pt3Xy9zx5/wBW55H0NXjdx425KSHjaetZNS0sdmHqwcGp7mTfWDdFbcnbcMke1dDoFhFZ2sbu29n+YkHpVCQq0ZGfu81e0y5hhsN0rbVi6n+lduGnd+8eDmNJQ+A3bqUMhZ2CxqOnoK42/wBXAvMQENEuO3BqxNqbanNhkPkA5jgz9/3c+lY19Ivnkffk6EgYA9gK2rOM1Y5KClB36mulzFdxjacNjO00xInQFIxweQPSsJZJI3Uk4xyMdjXRaM/2tHZjl1689a86rH2cbrY9WlNVXaW5Wa2mXIZctnIGe1QqTHISQQc963n2GYFlzgFRz19vasSdT9pbcMc9PSs4T5tGFWnyO6J3lLBH77hirU042bH+8vftVCZSbbIHQg5qx9mZ3JLbv8KmSj1Gm+hDueVsLznqR6VOFAKoBincRYUDA60vAUlQQfepchpFec4VckDAxnFVg2XB/T2qeZWMbnd+FVkT+8cmrjaxjO/Nc0kxsBLU9EDIpweRmqC8kAtwK1bcA20XX7g/lTgrETlc46G6miD7CQWXbu7ge1Pha5AG1/l9zmnqPkICfMT1NNWbEeI0IbG0jGc16LS7GCvpqE7MzszArkYP1roNN1OW00lYbcAMRnPueprDEUrQ5liIDcDIqeBykag8AdM1lUgpxszWm3F3LKSKPOeTDO64XPOOe1QHBX5375xmnqokmVQw5PWr9hY2zXYN+D9nX5sJ/GfQ+gqW1DVl2ctjm7iXfcNn04qeC4CnryOtdB4mg0CSGO4sSsdyWAeKH7uPfPQ1zc1vhAyeuK0hNTjexk4yi2XDcZQn1FSW7Mijg5bge9Z6B1/iwK3LMxNb75Iw+zggnv2xSn7qNaUnJ76jWuWghLsnOOBWc07SMWcHnnNdhpEFlcPI0rZTy2YrIMlSPfvWS8EW+RRgJj5QR09v/r1jGrG7VjefPNJX0MUNhgynj3rQikEgD9O2Kpywct8wwvVR3FFs5VipJGO1ayjdXMac7SsapcGEjPIOaf5KTQgygMxH5VBbyea+zHBz/KryJ8rexxXNJ8p6uFipxd9UZLeZE3lhiVJyM9aralcHAQfKrtyPcVuzQo4Ax06GsW+tt8a5IDAkCtack3c5cXQcItdCvDPIkZjjHzseTVu6t4rFB5hEl3IM47Rg9/rTLdUtozKg3yAcOw4B9hVVd8sxeQmSRySe5Jrp6HkbshkzkZ/u1oaRP5M53jKYq3Z+H2nR7i6l8tByVHOAPU0JDb+X55Vo7MH5WPDyfT0+tRUp3jZlQrKMrroWZrwKQScg8f8A1xVHzS8m8cnPepBeRXD7VsIyM8EuwP55q0/2c2DNBC0bhhnJzx7GsFRSRvLEOT1RX8uWSPYOPelSO4VgomyPcU9JgeBwR15qykY25Bbd2wa55Sa3OhJPVEM0UhTeZRx26VTWZgSpxx/FWxcpHHZKxBd5M4QH071hlgFznn0pU3zImr7r0LvkSSxFzOu0LuwBnPtUH2Z3VmLqAOw71Np84+ZJB8p6duam8ofvE+6A2APalzOLsFlJXKkQBwK3rWMfY4P+ua/yrEETAkqCFzxmulsYgdPtj6xL/IVtBnNNNHCEJtyXJJ9BT0wqBRnGazJBNIxxuINWYZHgj2SrkZ4x1Fd9hU5q5o+Z5bBlJyOSSBVaS5UsQpjYepapOSM5IH0qtHppeTO793n0xU2XU3m5PRCrKQwPmhSPQ5qxuWUDfdN79TTJLONQV25/GqzWXz8Dj60rJmbjKO6LVzbQmEbJtzAg42mrOnzWqTFbsxeXsPEmcH8qzVsyRxIOe3NTxaNczhjCBJtHO1hUy5bWlISbvdI1be20OZmTzJt/YK4I/CnvbW9soaN3eJ+Mkf55rChtpI7lfMwArc81pNdq0jEJtQ8kZOCe1RKDvo2zSDXVamnbXKQRSKy72cqMBsAqOv64qpczTT7YlQJHngen496zLiaVZfkO1MAj1p4lkdCGlVRjvSVO2pTqX0HBGV5QSG3Lgc+lQxuxGMEAdP8ACmMxTbg5PbHSnoxbqTn61rrYycU2aOnZlmDcgICTWlb9JJW6E8VnaeGCz56ACrbSZGwcKK5Zq7aPbwtoUk35/wCQ6Wbcdqjk9KytQy+I0OWzjirzkxg4++ePpVf+zriR/OBVBtx83aqjyx1Zhi5SlHl6kkFtEwEbvgDnGeDWla2kMZD+XuUc88LWAVMTlc7vTApeZMhmYr6FjiupVUlseNLDyfU09Z1VZojZwSIdxw5BwAPSqotLl0SSWRZYUwoEbZC+1QRwxs6qIwfX6Vv2UULQyRbRGZAAQox0rP2qclF9SnQcIXXQbDYWFsiOd0jsAyqeo+tU9Rd5cRhQkZO4qg/nVq6mhsSURTJL3yf51R/tCX5vljO45PFVWmoq0dzOjTcneWw2KFYxkEksPSpPOeN8r096i82djkJx7CkMVxJ0Q1xS1d2d0dFZGlFqEZhKMMHGPasy7hwdyx4TP3j3+lPFpNwCUH1qbyAQBIY2IHHXiskowd0XK842ZnhmicP3ByKvrIxxJjO8ZOPWqksHlnGQVzSxzFAVwcZrRrmMYtxdmaBkJUKVP1rptPhzptqef9Sn8hXGNO/BHTuK7zS1J0iyOP8Algnf/ZFVShYitK9jlPFPg+48M6h5U3z2smfJnA4ceh9CPSuSKIrnOSB0NfU2r6TZ63pstjfReZDIPxU9iD2Ir578V+D7vwxqPk3G6W2kJME6jhx6H0I7ivSlC2pz3uYkVzsXaRz2JFXEwIssc5qgWESHIBycDFOMmQFyRn3rOx0Qq23LQ8sg4z+dMP3iVyfUCoLcMJeCcc5qy4J6cY5FI0UuaI5CFXC8565qTzAFOCQ31qLyw3s3Yiq8M7Kc5z9e1S4kN8rsyzIFij3MQM9u5qkZPMcg7gD+dOdnZyznNPTdG3AC/hk01oQ5X2CRB93bzxg+gpiwE/xH8amETSEnax+tTxW2/wBTzScrBuyoIkQHe7N9BUsaDP7sEGrSxsu/gBRxuxmoGbYeDkn2qea5SVi/FIsdqyscOxqaLiMP94ngD3rFlnKuO1aelT+YMPxtJOaylFqNz0KOJ+y+i0Nu3tYYbczzcvjr6fSsbUr95Dt+7GOFFWrq9MoC5+ROgrOCeawmfp0QevvWNKDvzTJlzTdolJmbftb5frUiKdvsKfcBWlGeualf5Yh2GK6WzncbNjrLG9ielaayAnHQY7Vk2hAyCevIqyCfMAzXPUjdlRdkR3RKS/ezkknNIiiRlAOGNS3Sqz9s4GKhiUq+c8imnoK1pWNNGEJ8u4XGDgOv3f8A61WYo1d2PDIT1FIrAjLc55qJVZXYwHZzyD90/UVxvU6FoF6EVAY02ndjgmsqXLtznrWtNcIYRFPHskznnofoaqSIvPOAK0pOy1IqRvsWLDR4r2HzGmcN02njP41TlW0SUxoGYKcFh/8AXrQs5nW3QA9D2qpYaddapqS2dpCZJZHOFH16n0HvTp88pu7M6iikrIl021lvL+K0s7UzyynCr/X2Hqa9ds/CT29jbwvdR7441RsISMgYq54Y8LWvh2zwoEl24xLNj/x0eg/nW/XqUcMoq8tziqVLuy2CqGsaPZa5psthfReZDIPxU9mB7EVforrMj5v8VeErnwvqJgmUyQvkw3AHDj+h9RWBlV5Iz2r6f1nRrLXtNksL6LfE/Qj7yHswPY14rrng8eG73ypkeYMSY5TgK4/xrmq+5qaQTk7I46OZEU7yBn1Pap45PtKlYCpYDPPfmtOfw+t3cC4A2oSMoSADWTcadJYNJOzrEwPyKDkgZ/SsY1IS0T1NZKrBeQjzZgdtyhhkEckrUEU1vFbF3jd5nPAHAAxwfzqOS5a4kDFVD9wOBUbyD5QMk+uMYrSxk5tu7JTcym0EHlrhiDk9SatxyNBDuljAcH+Lv9Ko78p8qj5R175q1FbExJMVfpyaUkuoRu9i2l80kA2cZ644qEXTLk7iWzVVzF9pHlu/l7csB6+lN8uVwDjFJQSLUmWZLyRl27uOpqu0jN3JFLHbEkl8nFWVj2pk4HpxRotitWVUhaRstn/GteJDaWqqfvvyfYVFbW5eQO/3B29aluZgz7j34rOb5nY2pxsrkb75cE5EWf8Avo1K7+UqA84GB7Vc8uNoVUHjaMYqhf8AngIilSp6cc1nGXM7Gz5oLmRUV2e4wSCCw/Crd8NhCA1WhtpftaBhzkHAp9y5kckcHPFaNXkjBP3XcnghLKoIwPWppbd1AMb5PvVAXO5eQ2fQU5Z5RjarfU1m4ybK542JjDOG3swb8aduMeBJGQR0Oaj8+c9f1FPMjPzI270BpNMV10NWO4t5EADYYDv3pkbhpGCkdu9ZIkAft+FTJKUfzEYA+tYOja9jT2t9zauYz5DF8MpFZcmUj2qO+eaG1GRk2uQUA6AYqTT7W51m+is7KJpJpDwo6D1JPYUU6UlowqVIs1dBsJdSuorWFC7sc4Hp3NeueGPC9r4dtW2gSXcvMs2OvsPQUeF/DFv4csAikS3Tj97Njr7D0Fb1elh8MqbcnuzjrVufRbBRRRXWYBRRRQAVS1TSrXWLJrW7jDKeVbujdiPertFJpPRjTad0eAeLbDVNA1BrOYFYm5jnQcSL7Ht7iuUZ2L7j84HQMe9fTGuaHZeINNksb2PKNyrj7yN2IPrXz34q8MX/AIc1R7a4XMZ5ikH3ZF9R/h2rmdFQ+EuU5T1kc/zHIec5yMUrzMyhQi+WrZxUZLFgpJGO2KQjCleSScZ7U7EF1mjlttyKse4ndt6VNY3TGMIcbMfSqi27bdgJx6YqysZSPDfKOnNZtK1jWF1qTzfZyceWPopAzUZbO0DAUdBTBDleGU4PODUiIoBLcY5x70rJIu43eM4JANOPUAj9aiMQWTcxyTT1yV3YAoBNs0IJlkjELfLzwaZeQhXLIcharKegzVgyYADghcYzWVrPQ3i7qzK8MkkLnDMR7VYEpeQFs8c81HJHbmNikzDvxxVAIxz+8bHvVWT1FKThoaZdItzsw+deDVJ5Ebb83PaowSn8Qx700orPyQfrTUbEOdy3CFwQZCM84xTicYIkGKhSJgvB4+lTLGcfeHr0qXYaDeCcGT9KVmXHVj9FppcqdqsSfao3eRupNKwN2Fzz91vxpQ/GAvH1qIZPfP41oaXpV5q9/FZWURkmkOAB0A7knsB607EXDTNMvNYvorO0hMk0hwAO3uT2HvXvHhPwpaeGNPEaYlu5B++nx94+g9FFL4U8KWnhiw2JiW7kH76cjlvYei10FdlKly6vcwnO4UUUVsQFFFFABRRRQAUUUUAFZmvaDZeIdMeyvUyDykg+9G3qP881p0UAfMXinw7feG9Xa1uk4PMUoHyyL6j/AA7VkKQ8mMY2mvp7xF4esvEmmPZXif7UcoHzRt6j/DvXz1r/AIYvvDuqPZ3igd0lA+WRfUf54rGcbFLVmcZzECyk56VWdpZlyecHk1P9lOcscimSF13Rx8JwWGO9ZK3Qp3Ik3Lk5wfSpkaRuQ2fSohE7FmGdvrT4pfLH3fm7U2JXLBWTYdxGAM01SR1xio0R5yZCcelWYodj5ByR69KjY0V2R5YsG6VZWRhFhzmicuDkjPue9UxPIko5+XPQ1NuYu/KSsVxnOfpTSSc7VqV03HcpUe1BIBHmMCTxwMUCsRLAJcB2I5/SleKNFZc854IFSP8Au23KahklaRc5x7UasNh6SCNTyfzpyy99tVQT1xzTgWyCT17U3ELlsTLgcYpjEMfSoQTV/R9Jvda1GOxsYjJLJ+SjuSewqVHXQHIXSdMvNZ1KKxsYTJM5wPQDuSewFe++FPClp4Y0/wAqPEt1IB505HLH0Hoo9KPCnhSz8L6cIYsSXLgGacjlj6D0A9K6CuunTUdXuYylcKKKK1ICiiigAooooAKKKKACiiigAooooAKyfEPh6y8R6a1pdrgjmKUD5o29R/Ud61qKAPm7W9DvtA1Z7K+TBHKOPuyL2IrGkgZCQDu38g96+mdWsbS8ij+1WsE+1vl82MNjjtmsg6JpPP8AxK7L/wAB0/wrndOz0NL3Wp8+xkgbDEMetMlRmcHaAMc19ANoek8/8Suy/wDAdP8ACopNE0nj/iWWX/gOn+FLk1A8E3MF27cAHNTpc7WBK/jXtkmi6V/0DLL/AL8L/hUTaLpX/QMsv+/C/wCFHImNSaPHjIr5BAwwyDVCVOSV9a9sOjaXj/kG2f8A34X/AApp0XSuP+JZZ/8Afhf8KFTSG5XPFVZ8Cp1KH7ykmvX20bSx/wAw2z/78L/hTDpGmDpp1p/34X/ChwQKR5Gqqu4gHJqIqee1evNpOm/9A+06/wDPFf8ACo20nTcf8g+1/wC/K/4UuQfMeRqCoJPU9KesZOM16m2ladj/AI8LX/vyv+FIdL0//nwtf+/K/wCFDgK559o+iXmtajFY2MJklfueAo7sT2Fe++FvCtl4X04QQAPcOB505HLn+g9BVLwVaW1vb3bQW8UTGRQSiBSRj2rq61pQS1Ik+gUUUVqQFFFFABRRRQAUUUUAf//Z'],
 'texts': ['16\n\nThe theme of Arcadian shepherds discovering a tomb originated in painting with Poussin in the',
  'Flemish, 1488-1541\n\n20\n\nWhen Italian artists of the Renaissance came into contact with paintings from the north, they']}

Display the images retrieved

for images in response['context']['images']:
  plt_img_base64(images)

Conclusion

We have successfully implemented RAG from unstructured data using multimodal LLM and Langchain and unstructured package. By using this we have not only utilized the information from the images embeded in the document but the textual information as well.

connect with me

0
Subscribe to my newsletter

Read articles from Plaban Nayak directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Plaban Nayak
Plaban Nayak