{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Copyright 2024 The mediapy Authors.\n", "#\n", "# Licensed under the Apache License, Version 2.0 (the \"License\");\n", "# you may not use this file except in compliance with the License.\n", "# You may obtain a copy of the License at\n", "#\n", "# http://www.apache.org/licenses/LICENSE-2.0\n", "#\n", "# Unless required by applicable law or agreed to in writing, software\n", "# distributed under the License is distributed on an \"AS IS\" BASIS,\n", "# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n", "# See the License for the specific language governing permissions and\n", "# limitations under the License." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "# mediapy: Read/write/show images and videos in a Python notebook\n", "\n", "[**[GitHub source]**](https://github.com/google/mediapy)  \n", "[**[API docs]**](https://google.github.io/mediapy/)  \n", "[**[PyPI package]**](https://pypi.org/project/mediapy/)  \n", "[**[Colab example]**](https://colab.research.google.com/github/google/mediapy/blob/main/mediapy_examples.ipynb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:06.659186Z", "iopub.status.busy": "2024-02-18T07:44:06.658892Z", "iopub.status.idle": "2024-02-18T07:44:08.172029Z", "shell.execute_reply": "2024-02-18T07:44:08.171454Z", "shell.execute_reply.started": "2024-02-18T07:44:06.659170Z" } }, "outputs": [], "source": [ "!command -v ffmpeg >/dev/null || (apt update && apt install -y ffmpeg)\n", "!pip install -q mediapy" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.173218Z", "iopub.status.busy": "2024-02-18T07:44:08.172732Z", "iopub.status.idle": "2024-02-18T07:44:08.429062Z", "shell.execute_reply": "2024-02-18T07:44:08.428465Z", "shell.execute_reply.started": "2024-02-18T07:44:08.173202Z" } }, "outputs": [], "source": [ "import itertools\n", "from typing import Any\n", "\n", "import matplotlib.pyplot as plt\n", "import mediapy as media\n", "import numpy as np\n", "\n", "# pylint: disable=missing-function-docstring, redefined-outer-name" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.430518Z", "iopub.status.busy": "2024-02-18T07:44:08.429826Z", "iopub.status.idle": "2024-02-18T07:44:08.433107Z", "shell.execute_reply": "2024-02-18T07:44:08.432591Z", "shell.execute_reply.started": "2024-02-18T07:44:08.430501Z" } }, "outputs": [], "source": [ "DATA_DIR = 'https://github.com/hhoppe/data/raw/main/' # Or any local path.\n", "IMAGE = DATA_DIR + 'image.png'\n", "VIDEO = DATA_DIR + 'video.mp4'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Image examples" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.434218Z", "iopub.status.busy": "2024-02-18T07:44:08.433973Z", "iopub.status.idle": "2024-02-18T07:44:08.448597Z", "shell.execute_reply": "2024-02-18T07:44:08.447997Z", "shell.execute_reply.started": "2024-02-18T07:44:08.434205Z" } }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Display an image (a 2D or 3D numpy array):\n", "image = np.random.default_rng(1).random((5, 5, 3))\n", "image1 = media.resize_image(image, (50, 50))\n", "media.show_image(image1, border=True)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.449475Z", "iopub.status.busy": "2024-02-18T07:44:08.449327Z", "iopub.status.idle": "2024-02-18T07:44:08.752609Z", "shell.execute_reply": "2024-02-18T07:44:08.752074Z", "shell.execute_reply.started": "2024-02-18T07:44:08.449463Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
\n", "
A title
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Read, resize, and display an image:\n", "image2a = media.read_image(IMAGE)\n", "image2 = media.resize_image(image2a, (64, 64))\n", "media.show_image(image2, title='A title')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.754380Z", "iopub.status.busy": "2024-02-18T07:44:08.754119Z", "iopub.status.idle": "2024-02-18T07:44:08.763400Z", "shell.execute_reply": "2024-02-18T07:44:08.762785Z", "shell.execute_reply.started": "2024-02-18T07:44:08.754367Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
\n", "
checkerboard
\n", "
\n", "
darker noise
\n", "
\n", "
as YCbCr
\n", "
\n", "
as YUV
\n", "
\n", "
rotated
\n", "
\n", "
thresholded
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show titled images side-by-side:\n", "images = {\n", " 'checkerboard': np.kron([[0, 1] * 8, [1, 0] * 8] * 8, np.ones((4, 4))),\n", " 'darker noise': image1 * 0.7,\n", " 'as YCbCr': media.ycbcr_from_rgb(image2),\n", " 'as YUV': media.yuv_from_rgb(image2),\n", " 'rotated': np.rot90(image2),\n", " 'thresholded': media.yuv_from_rgb(image2)[..., 0] > 0.5,\n", "}\n", "media.show_images(images, vmin=0.0, vmax=1.0, border=True, height=100)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.764556Z", "iopub.status.busy": "2024-02-18T07:44:08.764087Z", "iopub.status.idle": "2024-02-18T07:44:08.770942Z", "shell.execute_reply": "2024-02-18T07:44:08.770342Z", "shell.execute_reply.started": "2024-02-18T07:44:08.764542Z" } }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show a scalar image using a color map:\n", "image = np.random.default_rng(1).random((5, 5)) - 0.5\n", "image3 = media.resize_image(image, (60, 60))\n", "media.show_image(image3, cmap='bwr', border=True)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.771908Z", "iopub.status.busy": "2024-02-18T07:44:08.771765Z", "iopub.status.idle": "2024-02-18T07:44:08.784641Z", "shell.execute_reply": "2024-02-18T07:44:08.783964Z", "shell.execute_reply.started": "2024-02-18T07:44:08.771896Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
\n", "
gray
\n", "
\n", "
[0, 1]
\n", "
\n", "
bwr
\n", "
\n", "
jet
\n", "
\n", "
jet [0, 0.5]
\n", "
\n", "
radial
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# More examples of color maps and value bounds:\n", "images = {\n", " 'gray': image3,\n", " '[0, 1]': media.to_rgb(image3, vmin=0.0, vmax=1.0),\n", " 'bwr': media.to_rgb(image3, cmap='bwr'),\n", " 'jet': media.to_rgb(image3, cmap='jet'),\n", " 'jet [0, 0.5]': media.to_rgb(image3, vmin=0.0, vmax=0.5, cmap='jet'),\n", " 'radial': np.cos(((np.indices((60, 60)).T / 10) ** 2).sum(axis=-1)),\n", "}\n", "media.show_images(images, border=True, height=100)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.785552Z", "iopub.status.busy": "2024-02-18T07:44:08.785342Z", "iopub.status.idle": "2024-02-18T07:44:08.795418Z", "shell.execute_reply": "2024-02-18T07:44:08.794824Z", "shell.execute_reply.started": "2024-02-18T07:44:08.785538Z" } }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", " \n", " \n", "\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Compare two images using an interactive slider:\n", "media.compare_images([image2a, media.yuv_from_rgb(image2a)[..., 0] > 0.5])" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.796233Z", "iopub.status.busy": "2024-02-18T07:44:08.796088Z", "iopub.status.idle": "2024-02-18T07:44:08.799785Z", "shell.execute_reply": "2024-02-18T07:44:08.799251Z", "shell.execute_reply.started": "2024-02-18T07:44:08.796221Z" } }, "outputs": [], "source": [ "# Write an image to a file:\n", "media.write_image('/tmp/image3.png', image3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Video examples" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.800988Z", "iopub.status.busy": "2024-02-18T07:44:08.800658Z", "iopub.status.idle": "2024-02-18T07:44:08.882996Z", "shell.execute_reply": "2024-02-18T07:44:08.882408Z", "shell.execute_reply.started": "2024-02-18T07:44:08.800969Z" } }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Display a video (a 3D or 4D array, or an iterable of images):\n", "video1 = media.moving_circle((65, 65), num_images=10)\n", "media.show_video(video1, fps=2)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.883874Z", "iopub.status.busy": "2024-02-18T07:44:08.883670Z", "iopub.status.idle": "2024-02-18T07:44:08.955739Z", "shell.execute_reply": "2024-02-18T07:44:08.955198Z", "shell.execute_reply.started": "2024-02-18T07:44:08.883860Z" } }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show a video as a GIF, so that it is visible in the GitHub notebook preview:\n", "media.show_video(1.0 - video1, height=48, codec='gif', fps=4)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.956927Z", "iopub.status.busy": "2024-02-18T07:44:08.956522Z", "iopub.status.idle": "2024-02-18T07:44:08.966155Z", "shell.execute_reply": "2024-02-18T07:44:08.965523Z", "shell.execute_reply.started": "2024-02-18T07:44:08.956913Z" } }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show video frames side-by-side:\n", "media.show_images(video1, columns=6, border=True, height=50)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.967010Z", "iopub.status.busy": "2024-02-18T07:44:08.966865Z", "iopub.status.idle": "2024-02-18T07:44:08.976577Z", "shell.execute_reply": "2024-02-18T07:44:08.975888Z", "shell.execute_reply.started": "2024-02-18T07:44:08.966997Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
\n", "
0
\n", "
\n", "
1
\n", "
\n", "
2
\n", "
\n", "
3
\n", "
\n", "
4
\n", "
\n", "
5
\n", "
\n", "
6
\n", "
\n", "
7
\n", "
\n", "
8
\n", "
\n", "
9
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show the frames with their indices:\n", "media.show_images({f'{i}': image for i, image in enumerate(video1)}, width=50)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:08.977674Z", "iopub.status.busy": "2024-02-18T07:44:08.977245Z", "iopub.status.idle": "2024-02-18T07:44:09.353948Z", "shell.execute_reply": "2024-02-18T07:44:09.353315Z", "shell.execute_reply.started": "2024-02-18T07:44:08.977661Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape is (num_images, height, width, num_channels) = (10, 180, 320, 3).\n", "Framerate is 30.0 frames/s.\n" ] }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Read, resize, and display a video:\n", "video2 = media.read_video(VIDEO)\n", "print(f'Shape is (num_images, height, width, num_channels) = {video2.shape}.')\n", "if metadata := video2.metadata:\n", " print(f'Framerate is {metadata.fps} frames/s.')\n", "video3 = media.resize_video(video2, tuple(np.array(video2.shape[1:3]) // 2))\n", "media.show_video(video3, fps=5, codec='gif')" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:09.355090Z", "iopub.status.busy": "2024-02-18T07:44:09.354676Z", "iopub.status.idle": "2024-02-18T07:44:09.494200Z", "shell.execute_reply": "2024-02-18T07:44:09.493545Z", "shell.execute_reply.started": "2024-02-18T07:44:09.355076Z" } }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Display a two-frame flipping video as a GIF:\n", "media.show_video([image3 + 0.5, (image3 + 0.5) * 0.8], fps=2, codec='gif')" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:09.495263Z", "iopub.status.busy": "2024-02-18T07:44:09.494947Z", "iopub.status.idle": "2024-02-18T07:44:09.498176Z", "shell.execute_reply": "2024-02-18T07:44:09.497659Z", "shell.execute_reply.started": "2024-02-18T07:44:09.495247Z" } }, "outputs": [], "source": [ "def darken_image(image):\n", " return media.to_float01(image) * 0.5" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:09.498983Z", "iopub.status.busy": "2024-02-18T07:44:09.498838Z", "iopub.status.idle": "2024-02-18T07:44:09.960752Z", "shell.execute_reply": "2024-02-18T07:44:09.960142Z", "shell.execute_reply.started": "2024-02-18T07:44:09.498971Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "num_images=10 shape=(180, 320) fps=30.0\n" ] }, { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Darken a video frame-by-frame:\n", "new_file = '/tmp/out.mp4'\n", "with media.VideoReader(VIDEO) as reader:\n", " print(f'num_images={reader.num_images} shape={reader.shape} fps={reader.fps}')\n", " with media.VideoWriter(\n", " new_file, shape=reader.shape, fps=reader.fps / 5\n", " ) as writer:\n", " for image in reader:\n", " writer.add_image(darken_image(image))\n", "\n", "media.show_video(media.read_video(new_file), height=90)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:09.961626Z", "iopub.status.busy": "2024-02-18T07:44:09.961430Z", "iopub.status.idle": "2024-02-18T07:44:10.253197Z", "shell.execute_reply": "2024-02-18T07:44:10.252577Z", "shell.execute_reply.started": "2024-02-18T07:44:09.961614Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
\n", "
mirror loop
\n", "
\n", "
roll
\n", "
\n", "
fade
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Show multiple videos side-by-side.\n", "s = 90\n", "videos = {\n", " 'mirror loop': np.concatenate([video3, video3[::-1]], axis=0),\n", " 'roll': (np.roll(media.color_ramp((s, s)), i, axis=0) for i in range(s)),\n", " 'fade': (np.full((s, s), f) for f in np.linspace(0.0, 1.0, 50)),\n", "}\n", "media.show_videos(videos, fps=5)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.254141Z", "iopub.status.busy": "2024-02-18T07:44:10.253994Z", "iopub.status.idle": "2024-02-18T07:44:10.323193Z", "shell.execute_reply": "2024-02-18T07:44:10.322397Z", "shell.execute_reply.started": "2024-02-18T07:44:10.254128Z" }, "lines_to_next_cell": 2 }, "outputs": [], "source": [ "# Write a video to a file:\n", "media.write_video('/tmp/video1.mp4', video1, fps=10, qp=10)" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "## Conway's Game of Life\n", "\n", "Cellular automaton implemented on a periodic domain.\n", "See [Wikipedia](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life).\n", "\n", "Show the first 16 generations starting from a random configuration:" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.326222Z", "iopub.status.busy": "2024-02-18T07:44:10.325740Z", "iopub.status.idle": "2024-02-18T07:44:10.330018Z", "shell.execute_reply": "2024-02-18T07:44:10.329418Z", "shell.execute_reply.started": "2024-02-18T07:44:10.326208Z" } }, "outputs": [], "source": [ "def game_of_life(shape=(40, 60), seed=1):\n", " grid = (np.random.default_rng(seed).random(shape) < 0.2).astype(np.int32)\n", " neighbors = set(itertools.product((-1, 0, 1), repeat=2)) - {(0, 0)}\n", " while True:\n", " yield grid == 0\n", " num_neighbors = np.add.reduce(\n", " [np.roll(grid, yx, axis=(0, 1)) for yx in neighbors]\n", " )\n", " grid = (num_neighbors == 3) | (grid & (num_neighbors == 2))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.330987Z", "iopub.status.busy": "2024-02-18T07:44:10.330839Z", "iopub.status.idle": "2024-02-18T07:44:10.406231Z", "shell.execute_reply": "2024-02-18T07:44:10.405601Z", "shell.execute_reply.started": "2024-02-18T07:44:10.330975Z" } }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "video = list(itertools.islice(game_of_life(), 16))\n", "video = [video[0]] * 8 + video + [video[-1]] * 8 # Pause first and last frames.\n", "media.show_video(video, height=160, fps=8, codec='gif', border=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Show the 100th generation starting from different random seeds:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.407402Z", "iopub.status.busy": "2024-02-18T07:44:10.407060Z", "iopub.status.idle": "2024-02-18T07:44:10.492954Z", "shell.execute_reply": "2024-02-18T07:44:10.492424Z", "shell.execute_reply.started": "2024-02-18T07:44:10.407388Z" } }, "outputs": [ { "data": { "text/html": [ "
\n", "
\n", "
seed=0
\n", "
\n", "
seed=1
\n", "
\n", "
seed=2
\n", "
\n", "
seed=3
\n", "
\n", "
seed=4
\n", "
\n", "
seed=5
\n", "
\n", "
seed=6
\n", "
\n", "
seed=7
\n", "
\n", "
seed=8
\n", "
\n", "
seed=9
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "images = {\n", " f'seed={seed}': next(itertools.islice(game_of_life(seed=seed), 100, None))\n", " for seed in range(10)\n", "}\n", "media.show_images(images, border=True, columns=5, height=80)" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "## Mandelbrot Set\n", "\n", "Visualize divergence of $\\|z_i\\|$ in the sequence\n", "$z_0 = 0,~z_{i+1} = z_{i}^2 + c$ over complex numbers $c$.\n", "See [Wikipedia](https://en.wikipedia.org/wiki/Mandelbrot_set)." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.494205Z", "iopub.status.busy": "2024-02-18T07:44:10.493710Z", "iopub.status.idle": "2024-02-18T07:44:10.497883Z", "shell.execute_reply": "2024-02-18T07:44:10.497371Z", "shell.execute_reply.started": "2024-02-18T07:44:10.494189Z" } }, "outputs": [], "source": [ "def mandelbrot(shape, center_xy=(-0.75, -0.5), radius=1.25, max_iter=200):\n", " yx = np.moveaxis(np.indices(shape), 0, -1)\n", " yx = (yx + 0.5 - np.array(shape) / 2) / max(shape) * 2 # in [-1, 1]^2\n", " c = np.dot(yx * radius + center_xy[::-1], (1j, 1))\n", " count_iter = np.zeros(shape)\n", " z = np.zeros_like(c)\n", " for it in range(max_iter):\n", " active = abs(z) < 4\n", " count_iter[active] = it\n", " z[active] = z[active] ** 2 + c[active]\n", " return np.where(active, 0, count_iter)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.498576Z", "iopub.status.busy": "2024-02-18T07:44:10.498446Z", "iopub.status.idle": "2024-02-18T07:44:10.553496Z", "shell.execute_reply": "2024-02-18T07:44:10.552901Z", "shell.execute_reply.started": "2024-02-18T07:44:10.498565Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "data": { "text/html": [ "
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "media.show_image(mandelbrot((200, 300)) ** 0.23, cmap='gnuplot2')" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "## Format conversions" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.554374Z", "iopub.status.busy": "2024-02-18T07:44:10.554207Z", "iopub.status.idle": "2024-02-18T07:44:10.557994Z", "shell.execute_reply": "2024-02-18T07:44:10.557450Z", "shell.execute_reply.started": "2024-02-18T07:44:10.554349Z" } }, "outputs": [], "source": [ "def apply_conversions(image):\n", " assert image.dtype == np.uint8\n", " for dtype in ('uint8', 'uint16', 'uint32', 'uint64', 'float32', 'float64'):\n", " a = media.to_type(image, dtype)\n", " print(f'dtype={a.dtype!s:<8} mean={a.mean()}')\n", " assert np.all(media.to_uint8(a) == image)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.559257Z", "iopub.status.busy": "2024-02-18T07:44:10.558783Z", "iopub.status.idle": "2024-02-18T07:44:10.571508Z", "shell.execute_reply": "2024-02-18T07:44:10.570882Z", "shell.execute_reply.started": "2024-02-18T07:44:10.559237Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dtype=uint8 mean=121.61360677083333\n", "dtype=uint16 mean=31254.696940104168\n", "dtype=uint32 mean=2048339073.3636067\n", "dtype=uint64 mean=8.797549333263974e+18\n", "dtype=float32 mean=0.47691610455513\n", "dtype=float64 mean=0.4769161049836601\n" ] } ], "source": [ "apply_conversions(image2)" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "## Image rate-distortion" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.572321Z", "iopub.status.busy": "2024-02-18T07:44:10.572181Z", "iopub.status.idle": "2024-02-18T07:44:10.579823Z", "shell.execute_reply": "2024-02-18T07:44:10.579279Z", "shell.execute_reply.started": "2024-02-18T07:44:10.572308Z" } }, "outputs": [], "source": [ "def analyze_image_rate_distortion(image, fmt='jpeg'):\n", " params = [10, 20, 40, 75, 90, 95, 100]\n", " images = {}\n", " num_bytes, psnrs = [], []\n", "\n", " for param in params:\n", " data = media.compress_image(image, fmt=fmt, quality=param)\n", " num_bytes.append(len(data))\n", " image_new = media.decompress_image(data)\n", " images[f'quality={param}'] = image_new[30:60, 0:30]\n", " rms_error = np.sqrt(np.mean(np.square(image_new - image)))\n", " psnr = 20 * np.log10(255.0 / rms_error)\n", " psnrs.append(psnr)\n", "\n", " media.show_images(images, border=True, ylabel=fmt, height=120)\n", "\n", " _, ax = plt.subplots(figsize=(10, 3.5))\n", " ax.plot(num_bytes, psnrs, 'o-', label=f'{fmt} (by quality parameter)')\n", " for x, y, param in zip(num_bytes, psnrs, params):\n", " kwargs: Any = dict(textcoords='offset points', xytext=(0, 10), ha='center')\n", " ax.annotate(f'{param}', (x, y), **kwargs)\n", "\n", " ax.set_title('Image rate-distortion')\n", " ax.set_xlabel('Obtained size (bytes)')\n", " ax.set_ylabel('PSNR (dB)')\n", " ax.legend()\n", " ax.grid(True)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.580901Z", "iopub.status.busy": "2024-02-18T07:44:10.580446Z", "iopub.status.idle": "2024-02-18T07:44:10.748553Z", "shell.execute_reply": "2024-02-18T07:44:10.747934Z", "shell.execute_reply.started": "2024-02-18T07:44:10.580885Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "data": { "text/html": [ "
jpeg
\n", "
\n", "
quality=10
\n", "
\n", "
quality=20
\n", "
\n", "
quality=40
\n", "
\n", "
quality=75
\n", "
\n", "
quality=90
\n", "
\n", "
quality=95
\n", "
\n", "
quality=100
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nAHTo0AFjDMaYkvj8ea9KX1vx55SQkEDHjh29fk4AS5cuZfTo0Zx00knExcURHh5Op06dGDNmDAcO\nHCjX/u2338YYw9tvv82MGTNISUkhNjYWY478B1rde1n872Xz5s385z//oXv37oSHh9O+fXsef/xx\nrHV9M5g8eTJ9+/YlKiqKhIQEbr/9dnJzc73eizVr1jBq1Cjatm1LWFgYiYmJ/PGPf2Tt2rUe7Y72\n+RTbv38/9913H926dSMiIoLY2FiGDh3Kt99+W6N7BDBy5Eiys7M1JFtEREREyikocrLzYA5Ltx5g\n+i+7eGPeZh6f/ht3fricK//3I4P/bw5d/jWDU8Z/x/AJP/Dnt5dw/6e/MGHWej5esoO56/awNj2r\nWsm1+CahnNA6hrO6JfCnfu2455zOPHVFTybe0JeZfxvML+POYdUj5zJrTArv39ifZ648iXuHdeWa\n09pzdvdETmwTS0J0eI2Sa+Aa7vnvy07kaLs7DDxxWc96MaKtMVMPtkbghVnrq9w11Wlhwqz19fYf\n1t13383cuXO58sorufjii/nmm294/vnn+eGHH5g3bx7h4eElbZctW8Y555zD/v37GTZsGJdddhl7\n9+5l2rRpDBs2jE8//ZThw4eXtN+9ezcDBgxgy5YtDB48mAEDBpCWlsZtt93GOeecU604MzIyWLJk\nCX369CEyMrLCds899xzffvstI0aM4Nxzz2XevHm89dZbpKamsnDhQlq0aAHAbbfdxnXXXcdrr73G\nY489Vu44r7/+OmFhYVx33XVHjW3fvn0MGDCATZs2MWjQIAYNGsSuXbu45ZZbqn2dlRk7diwOh4N+\n/frRunVrMjIymD17NqNHj2bx4sVMnDixRsd96KGHmDZtGitWrGD06NE0bdoUoGTrz3tVrPTnNGTI\nEH788UevnxPAa6+9xqeffsoZZ5zBWWedRVFREcuWLePZZ5/l66+/ZuHChURHl+92PWXKFGbMmMF5\n553HLbfc4pEgrOm9vOeee0hNTeXCCy/knHPO4fPPP+ef//wn+fn5xMXFMXbsWC655BJOP/10vvvu\nO/773/9SVFTEyy+/7HGcGTNmcNlll1FQUMCFF15IcnIyO3bsYOrUqXz11VfMmTOHU045pUqfD8DW\nrVtJSUlhy5YtnH766Zx77rkcPnyYL7/8knPPPZdXXnmFm266qVr3CGDgwIEAfPfdd/zlL3+p8PMU\nERERkcblcF7hkeGZZRYIKJ7/bO+hPKyfhmyGBLmGbBbPd1ayLfV1QnQ4ocGB77M0ok872jSLZMKs\n9Sz0Mly0X4c47qwn00U1dkqwNXDr0rOqNeYaYOHm/axLz6qXY6/nz5/Pzz//zHHHHQfAv//9b/7w\nhz8wdepUnnrqKf71r38BUFhYyJVXXsmhQ4eYM2cOZ5xxRskx1q1bR0pKCjfccANbtmwhLCwMgPvu\nu48tW7bw97//nSeffLKk/V133UXfvn2rFeePP/5IUVERvXv3rrRdccLl5JNPLim7++67ef755xk7\ndixvvPEGACNGjOBvf/sbb775JuPGjSMkJKSkfWpqKmvXruWPf/wj8fFH/6Z43333sWnTJu666y6e\ne+65kvLbb7+d0047rVrXWZmvvvqK448/3qPM6XRy/fXX8+6773L77bfTr1+/ah933LhxbNmyhRUr\nVnDXXXeV6xnlz3tVrPTnlJWVBcCDDz5Y7nMC1/3973//S1CQ5/wHb7zxBjfeeCMvvfQS//jHP8qd\nY/r06UyfPp1zzz23XF1N7+XSpUtZuXIlrVu3Blz3Ljk5maeeeorIyEiWLl1Kt27dAMjLy+Pkk0/m\nzTff5OGHHyYhIQGAAwcOcNVVVxEZGcncuXPp3r17yfFXrVpFv379uPHGG1m2bFnJOSr7fACuu+46\ntm7dyocffsjIkSNLyg8ePEhKSgp33nknF110EYmJiVW+RwDJyck0bdqUuXPneq0XERERkYbF6bTs\nz873WCggvewqmxm5ZOX5b8hmdFhwSbKsZK6zUtuk2HDiIkNr3KssEAYmxzMwOV4LHgaYEmz1RPux\nX9Xp+c55rua/oG554nw/RuJp9OjRJck1AIfDwVNPPcW0adN48803SxJsX331FRs3buSee+7xSK4B\ntGzZktGjRzN27FhmzZrF8OHDyc/P58MPPyQ2NpYHHnjAo/1JJ53Etddey+uvv17lOLdt21Zyrspc\nc801Hsk1cCUo3nrrLT744ANeeuklwsLCCAsL4/rrr+fpp5/m888/5/LLLy9p/8orrwBUqcdOQUEB\n77//PtHR0eWGgfbu3Zs//elPJcP7fFU2IQSuz2v06NG8++67fPPNNzVKsB2Nv+5VaVX9nACP57O0\nP//5z/ztb3/jm2++8Zpgu/jiiytMHNX0Xv7rX/8qSa6BqxfZRRddxFtvvcWYMWNKkmvgum8jRoxg\n3Lhx/PbbbyUJtnfffZeDBw+WDDUtrUePHtx00008//zzrF69uly9NytWrOD777/niiuu8EiuFcf3\n8MMPc8kll/DJJ59w2223edRXdo+KJSUlsWbNGnJzcz16tIqIiIhI/ZJf6GR3VvlkWeneZ7sz88gv\n8s8qm8ZAfJOw8r3OyvQ+iwprvGmQzonRSqgFUON9sqRBKpssA+jYsSNt27Zly5YtHDx4kKZNm/Lj\njz8CrqFoZRNJeXl5bNy4EYDffvuN4cOHs3btWnJycujdu7fX4XuDBg2qVoJt3759ADRr1qza1xMb\nG0uvXr34/vvv+e233+jVqxcAt956K8888wyvvPJKSdJo7969fPrpp3Tr1o3BgwcfNa41a9aQnZ3N\n6aef7nUS+JSUFL8l2Pbt28dTTz3F9OnT2bRpE4cPH/ao37lzp1/O440/7lVp1fmcCgoKeOWVV5g0\naRKrV68mIyPDY560iq67sl6SNb2X3npQtmrVCsDryrbFybgdO3aUlBX/W1qxYoXXOQjXrVsHuP4t\nVSXBVny8jIwMr8fbs2dPyfHKqkpP0ri4OMD1ebdp0+ao7UVERETE/7JyC0pW1yxeabO499n6nTkc\nyHWSOeNrv50vNNjhSpSVSpaV7XWWEB1GSFDgh2zKsUsJNqlXyg4ZK5aUlMTWrVvJyMigadOmJQmu\nyZMnV3q8Q4cOAa5f9is7fkXlFYmIiACocML4ox03KSnJIy5wJRKHDRvGN998w8aNGzn++ON5++23\nycvLq3KPrKNdZ/F5fXXw4EH69OnD5s2b6du3L9deey1xcXEEBwdz8OBBXnjhBfLy8vxyLm/8ca9K\nq87nNGLECD799FM6duzIxRdfTFJSUknvtueff77C667o3vtyL70lUYODg49aV1BQUFJW/G/ptdde\n83qOYsX/lo6m+Hjfffcd3333XbWOV5XnMycnBzjyb1BERERE/MfptOw9nEe6x+qaue7VNnPcQznz\nOOTHIZsx4cG0jI0gMTacpJiwktU1XattRpAUG06zyJByC2CJ1DdKsNUTNR12uS49q0bDPb+9e3C9\n7Dqanp5Oly5dypUXr+ZYnDQo3n722WdcdNFFHm2L59Aq3VMtJiam5PgVnbc6iofXFScTKlLRccte\nT7Fbb72VGTNm8Nprr/HEE0/w+uuvEx4ezrXXXluluIqPd7TzluVwOMjPz/dad/DgwXJlr7/+Ops3\nb+ahhx4q10vpxx9/5IUXXqhSvL7w9V6VVtXPacmSJXz66aecddZZTJ8+3WP+N6fTyf/93/9VeI6K\nfiAI9L0svrYVK1bQs2dPvx3vhRde4M4776zWvlX5oWnfvn0EBweX9GQTERERkarJKyxid2Yeu4oX\nB8goNeeZe9jm7qxcCor8s1KAw0CLaM8hm4mxpXqducsjQ5WWkMZBT3ID1zkxmr4d4qq10EG/DnH1\nMrkG8P3335cb3rdp0ya2b99O+/btS1Yq7N+/PwA//PBDuQSbN127diUiIoKVK1eSlZVVbpjovHnz\nqhVncSJizZo1lbb7/vvvyyV8MjIy+PnnnwkPD/eYIwvgggsuoF27drz11lsMGTKEtWvXcu211x51\nKGqxrl27EhkZyc8//0xGRka5BF5qaqrX/Zo1a8bKlSspKCjwSBqBK6lU1oYNGwA85j8r9v3331cp\n1soULyBQVFRUYRtf71VpVf2ciq/7oosuKnefFi1aVNK7qjpq+14eTf/+/fnkk0/44Ycfqpxgq+zz\nKf1vs7oJtqM5fPgwO3fu5KSTTtJfMEVERETcrLVk5hYeWRygeJ6zMu/3H/b+B/WaCAt2eAzPLJnr\nLCac3zeuplm44aKzUwjWkE05huhpbwRGD+1EVRc4cRi4c2in2g3IBy+88AJbt24tee90Orn33ntL\nVlQsdvHFF3P88cfz3//+l+nTp3s91o8//kh2djYAoaGhjBgxgoyMDB599FGPditWrODdd9+tVpw9\nevSgRYsW/PTTT5W2mzhxIsuXL/coGzduHBkZGVx11VUlQwuLORwObr75Znbv3s2f//xnAG655ZYq\nxxUSEsKf/vQnsrKyyvWGWrJkCe+//77X/fr27UthYSFvvfWWR/nbb7/N/Pnzy7UvXjmybMJu+fLl\n/Pvf/65yvBVp3rw5cGQxCW98vVelVfVzqui6d+/ezV//+tcanbu27+XRXH/99SWLDyxatKhcvdPp\nLBdbZZ9P7969Of3005k6dSpvvvmm13P+8ssv7N69u9qxLlq0iKKiIs4888xq7ysiIiLSEBU5Lbsz\nc1mx/SDfrErj3R+38OSMNfzto5+56tWfGPJ0Kj0e+oaTHv6Wc56by7VvLuLvn6zk2e/W8cHCbcxe\ns5vVuzKrlVxrGhlC16RoUrq0YGSftowe2oknLjuRt67vw4y7TufnB89mzfhzSb33TD76y2m8MPJk\n7juvG9cP7MB5J7bk+KZBxIU7lFyTY456sDUCA5Pj+fdlJ3Lf1F9wVtKb12Hgict6MjA5vu6Cq6aB\nAwfSq1cvRowYQWxsLN988w0rVqzg1FNP5e9//3tJu5CQEKZOncqwYcM4//zzGTBgAL169SIyMpJN\nmzaxbNkytmzZwq5du4iMjATgiSeeYPbs2fzf//0fCxcuZMCAAezatYuPP/6Y4cOHM23aNByOqv0n\nYIzh0ksv5dVXX2XVqlX06NHDa7vzzjuPgQMHcuWVV9KyZUvmzZvHvHnzaN++PU888YTXfW688UYe\neeQRdu7cyYknnshpp51WrXv4+OOPM2vWLJ5//nmWLFnCoEGD2LVrFx999BHDhw/n888/L7fPHXfc\nwVtvvcWtt97KrFmzaNu2LStWrGDBggVccMEFfPnllx7tr732Wp566inuuusu5syZQ6dOnVi/fj1f\nfvkll112GR999FG1Yi5r6NChPPXUU9x0001cccUVNGnShKZNm3L77bd7tPP1XhUr/Tk1b96cH3/8\nkR9//LHc59SnTx8GDhzI1KlTGTBgAIMGDSI9PZ2vv/6aLl26lCwwUB21fS+Ppnnz5kyZMoVLL72U\n/v37M3ToUHr06IHD4WDbtm38+OOP7Nu3z2O+waN9Ph988AFDhgzhhhtuYMKECfTr14+mTZuyY8cO\nVq5cya+//sqPP/5YMtS6qr799lvAe28/ERERkYYmt6DoSK8z97b8kM08iir7Ja8aghyGhOgwj+GZ\nSV6GbIaHBPnlfCLHGiXYGokRfdrRplkkE2atZ6GX4aL9OsRx59BO9Tq5BvDcc8/x6aef8tprr7Fl\nyxaaN2/O6NGjeeSRRwgPD/do27NnT1asWMGzzz7Ll19+yVtvvYXD4SAxMZGTTjqJ8ePHEx9/5HoT\nExNZsGAB999/P9OnT2fhwoV06dKFl156iaioKKZNm1YyV1tV3Hbbbbz66qu8++67PPnkk17b3H33\n3Vx66aU8//zzfPTRRzRp0oRRo0bx+OOPV5hcSExMLEn41WTC/vj4eObPn8/999/PF198wZIlS+jS\npQsvv/wy7du395pg6969OzNnzizZJzg4mNNPP50ff/yRqVOnlkuwtWrVih9++IGxY8cyb948vvnm\nG7p27cpLL73EWWed5XNSaNiwYTzzzDO89tprPPfcc+Tn53PccceVS7D5eq+Klf6c1q5dS1RUlNfP\nKSgoiM8//5wHHniA6dOnM2HCBFq3bs2NN97IAw88UKVVNsuq7XtZFUOHDmXlypU8/fTTfPPNN/zw\nww+EhobSqlUrhgwZUi6hdbTPp02bNixdupQXX3yRTz75hPfff5+ioiKSkpLo3r07d9xxByeeeGK1\nYnQ6nbz33nucdNJJNU6kioiIiNQFay0ZOQXlhmgWr7SZ5k6iHcguOPrBqigiJOjIMM1SQzaLV9pM\nig0nvkkYQVUd+iQi1Was9U82/FhljFl6yimnnLJ06dJK2/32228A5ebcqg3r0rOYv2Evh3ILaRIe\nzMDk+Ho159qaNWvo1q0bN998M6+88goAo0aN4p133mHz5s0lQ+ZqytsiB0fzz3/+k8cff5wZM2Yw\nbNiwKu83bNgwVqxYwebNm/22qqHT6SQ5OZn09HR27dpVraTf0aSmpnLmmWd6nVC/IfL1Xo0bN46H\nH36YOXPmkJKSAtTs+ZHa98UXX3DRRRcxceJErr766irtU5ffd0srHlJb/EyJVJeeIfGFnh/xlZ6h\nyhUWOdl7KJ9dGTklvc92eVkwILfA6bdzxkWFliTKinuatYwNd6+66UqexYQH15s5avUMia+Kn6Ex\nY8awbNmyZdbaUwMbUdWoB1sj1Dkxul4l1Mpat24d4OrlUtd+//33csP4fvnlFyZMmEBcXBxnnHFG\ntY739NNPc/LJJ/PSSy8xZswYv8Q4ZcoUNm/ezC233OLX5FpjpHt1bLDW8tBDD9G7d2/+9Kc/BToc\nERERaaRy8ouO9DrLzCEtI4+0jBz3ggGur/dk5VU6LU91BDsMiTHhJMaEuXucRZAUG+ZOpkWQFBNO\nQkyYhmyKNBBKsEmdWblyJe+//z7vv/8+DoeDSy+9tM5j6N27N8nJyZxwwglERUWxfv16vvrqK5xO\nJ//73//KDUM9mhNPPJE333yzpNeTL5544gn279/Pq6++SlRUFGPHjvX5mI2V7tWxJS0tjYsuuohL\nLrmk3vxlVkRERBoOay0HswtKepjtKh6yWar3WVpmLhk5/huyGRUaRGKsl15n7uRZYmwY8VFhODRk\nU6TRUIJN6syyZct48cUX6dq1K//73/844YQT6jyGv/zlL0ybNo0PP/yQrKwsmjZtyrBhw7jnnntq\n3IX52muv9Uts9913HyEhIXTv3p2nnnqK4447zi/HbYx0r44tLVu2bBRDmkUaAmstb731VskiPkVF\nRXTp0oXrr7+ev/71rwQFHelFsWXLFjp06FDhsUaMGMGkSZPqImwROYYVFDnZk5V3ZHhmqQUDirfp\nmbnkFfpvyGZ8k1DPhQLKzHuWFBtOdHiI384nIg2DEmxSZ0aNGsWoUaO81r399tu8/fbbtR7DQw89\nxEMPPVTr56mJupgPMSUlpU7OU9v8dQ3jxo1T4kZEpJTrrruOiRMnkpCQwIgRI4iKimLmzJmMHj2a\nuXPnMnny5HI9SU866SQuueSScscKxB/SRKRxOZxXeKSnWZmFAoqTaXsO5eGvH29DggwJ0UfmN2vp\nTpaVnv8sISaMsGAN2RSR8pRgExERERGmTZvGxIkT6dChA4sWLSpZibugoIArr7ySTz75hHfeeafc\nH8t69eqlP1aISLVYa9l/ON9jUYDSq20Wb7NyC/12zuiw4HJDNsv2PouLDNWQTRGpMSXYRERERISp\nU6cCrhW7ipNrACEhIYwfP55p06bx4osvVtgbXUQEIL/Qye6sUnOdlUqcFZftzswjv8g/QzaNgfgm\nYSTFHOlpVrbXWVJsOE3C9KuviNQufZcREZFGpzEMhRapa2lpaQB07NixXF1x2bJlyzh48CBNmzYt\nqfv999955ZVX2LdvH82bN+e0006jZ8+edRKziNStQ3mFrlU1M/LYlZHj2fssM5e0jDz2Hsrz2/lC\ngxwkxobRMiaCxNhwkmLCSHKvrpkU6/o6ITqMkCCH384pIlJTSrDVEWMM1lqcTicOh/4DEBGpTcUJ\nNq06KlJ1xb3WNm/eXK5u06ZNJV+vWbOG/v37l7z/7rvv+O677zzap6Sk8M4779CuXbtailZE/Mnp\ntOw7nE9aRi7LdxdyINey+Js1pGXkuXud5ZCemcehPP8N2YwJD/boaZYUE+4xhLNlbATNIkP0f7mI\nNBhKsNWRsLAwcnNzOXz4MNHR0YEOR0SkUTt8+DDg+t4rIlVzwQUX8OGHH/Lss88ycuRI4uLiACgs\nLPRYIOjAgQMAREZG8q9//YtLLrmkpIfbypUrGTduHHPmzGHo0KH8/PPPREVF1f3FiEiJvMIidmfm\nkVa8OICXVTZ3Z+VSUFSm9/fqjTU6nzHQokmYx/BMj7nO3NvIUP0qKiKNi76r1ZHo6Ghyc3NLhl9E\nRUVhjNFfZERE/MRai7WWw4cPl3yv1R80RKpu5MiRvPfee3z99dd0796diy66iMjISGbOnMnGjRvp\n1KkT69evJyjItXpeQkICjzzyiMcxBg8ezLfffsugQYNYuHAhr7/+OqNHjw7E5Yg0etZasvIKvS4O\nULzqZnpmLvsO5/vtnGHBjnK9zpLK9D5r0SSMYA3ZFJFjkBJsdSQuLo7Dhw+TnZ3Njh07Ah1Oo1ZU\nVARQ8guASHXo+Wk8IiMjS3rgiMjRORwOPv/8c1544QUmTpzIxIkTCQkJYcCAAbzzzjvcfvvtrF+/\nnoSEhEqPExwczI033sjChQuZO3euEmwiNVDktOw7VKrXWQW9z7Lzi/x2ztiIEFrGhhNSmE2zcMPJ\nXTp49j6LCaephmyKiFRICbY64nA4aNu2Lfv37ycrK4u8vDxNwl1LsrOzAfVckZrR89OwGWMICwsj\nOjqauLg4zXkpUk3BwcGMGTOGMWPGeJTn5OTw888/ExERQY8ePY56nBYtWgBHhmuLyBG5BUWuxQG8\nDNUs7n2WnpVHkdM/vys4DCRElxmmWdzrrNRKmxGhrj8upqamApCS0tkv5xcROVYowVaHHA4H8fHx\nJZMIS+0o/qGgb9++gQ1EGiQ9PyIi5U2cOJHc3Fyuu+46QkJCjtr+p59+AryvSCrSWFlrycwpZFdm\nDmmle525k2fFXx/ILvDbOSNCgtxDNsNoGRvhmvOseKVNdxItvkmohmyKiNSBBpdgM8Y8CfQGOgPx\nQA6wFZgG/Mdau69U2/ZA+aWwjvjIWjuy1oIVERERaUAyMzOJiYnxKFu8eDFjx46lSZMmPPjggyXl\nCxcu5OSTTyY0NNSj/ezZs3nuuecAuPrqq2s/aJE6UOS07MnKc/c0y3H3NstzfZ2ZS3pmHrsycsgt\ncPrtnM0iQ1yJspgwd7IsgqRYd/LMPWQzJiJYQzZFROqJBpdgA+4GlgHfAbuBKKA/MA642RjT31q7\nvcw+K3Al4Mr6tfbCFBEREWlYzj77bCIiIjjhhBOIjo5m1apVTJ8+nbCwMKZOnerRI+0f//gHq1at\nIiUlhTZt2gCuVURnz54NwPjx4xkwYEBArkOkOnLyi0qGaJbrdeYesrk7Kxc/jdgk2GFIiA4rWRSg\n9DDNpJhwWsZGkBATRniI5oMVEWlIGmKCLcZam1u20BjzGHA/cB9wW5nqn6214+ogNhEREZEG64or\nrmDSpEm899575OTk0KpVK2688UbGjh1L+/btPdpec801fPrppyxevJivv/6agoICEhMTufLKK7n9\n9ts5/fTTA3MRIm7WWg5mF3jMb+ZtoYCMHP8N2YwMDfKc68zLtnmTMIIc6nUmItLYNLgEm7fkmtvH\nuBJsneowHBEREZFG49577+Xee++tUtsbbriBG264oZYjEvGusMjJ7pIhm569z1xDNl1leYX+G7LZ\nPCr0yOIAseG0dG+TinugxYYTHaYhmyIix6oGl2CrxIXu7Uovda2MMX8BmgP7gB+ttd7aiYiIiIhI\nAGXnF3r0NCs9ZLM4obb3UJ7fhmyGBJkjq2wW9zYrs9pmQkwYYcEasikiIhUz1vrpf6Y6Zoy5B2gC\nxOJa9GAQruTaWdbaPe427al4kYNU4Dpr7bYqnm9pBVVdO3XqFPnqq69WPXipVVlZWQBER0cHOBJp\niPT8iK/0DImv9AyJL+rz82OtJasADuQ6OZBrXa88W+prJ/tzLTmF/jtneBDEhRuahRuahjlKvm4W\nbmgWZmgW7iA6FBzqdVaiPj9D0jDoGRJfFT9DY8aMYf369custacGOKQqacg92O4BEku9nwGMKk6u\nuWUD43EtcLDJXdYT14IIZwKzjDG9rLWHaz1aEREREZFGqtBpOZhXNmnmLJdEK/TT3/YNEB3qSpTF\nuZNlTUu+dpQk0SKClTgTEZG60WATbNbaJABjTCIwAHgCWG6MucBau8zdZjfwYJld5xpjzgHmAf2A\nG4EXqnA+rxlTY8zS6OjoU1JSUmp6KeJnqampAOgzkZrQ8yO+0jMkvtIzJL6ojefnUF5hyTxnriGa\nOe5tHmmZOaRl5LHvcB7+GhgTGuQgMTbMNddZTOmVNiNIig0jMSachOhwQoMd/jmheND3IPGVniHx\nVfEz1NB6QTbYBFsxa2068KkxZhmwDngXOOEo+xQaY17HlWAbTBUSbCIiIiIijYnTadl3ON9zcYCM\nUnOeuec7O5TnvzGb0eHBHitqFi8OULosLipUCwWIiEiD0+ATbMWstVuNMauBXsaYeGvt3qPsUjyU\nNKqWQxMRERERqVN5hUXszvRcZTOtVNIsLSOX3Vm5FBT5p9uZMdCiSdiRRQJij/Q+Syq12mZUWKP5\n9UNERMRDY/sfrpV7W1SFtv3d202VthIRERERqSestWTlFZb0NCvpdebebvg9h/25TrJmzPDbOUOD\nHSXDNJNKDdksvcpmi+gwQoI0ZFNERI5dDSrBZozpChy01qaVKXfgWswgAVhgrT3gLu8HLLfW5pdp\nPwS42/32vVoPXERERETkKIqcln2HSvU6q2CbnV+VvyVXTWxEiMfwzMTYUr3O3Mm0ppEhGrIpIiJy\nFA0qwQacCzxljJkLbAT24VpJ9AygI5AG3FSq/ZNAD2NMKrDDXdYTGOL++l/W2gV1ELeIiIiIHMNy\nC1xDNne5FwgonvesZJuRy+6sPAqd/hmy6TCQEF08NDOMlrERHgsGFCfUIkKD/HI+ERGRY11DS7DN\nBF4FBgInAU2Bw7gWN5gITLDW7i/VfiJwKdAHOA8IAdKBj4H/WGt/qLPIRURERKTRsdaSmVNIWmYu\nuzJyXIsDlKyumUtaZh5pGTkcyC7w2znDQxwevc6SYiNIinHNf/b7htU0CzdceHYKwRqyKSIiUmca\nVILNWvsr8NdqtH8DeKP2IhIRERGRxqrIadmTVXqhgBzSMvPcvc5ySM/MIy0jl5wC/w3ZbBYZcmRx\ngFILBRT3OmsZE0FMRHCFQzZT964FUHJNRESkjjWoBJuIiIiIiD/kFhSRlnFkmGa51TYzctlzKI8i\nPw3ZDHIYEqPDSlbTTPKyTYwJJzxEQzZFREQaIiXYRERERKRK1qVnMX/DXg7lFtIkPJiByfF0TowO\ndFgerLUczC5wJclKJc3KznmWkeO/IZuRoUFeFwoovepm8yZhBDm0UICIiEhjpQSbiIiIiFRq/oa9\nvDBrPYs27y9X17dDHKOHdmJgcnytx1FY5GTPobySRQFKr65Z0hMtI5e8Qqffztk8KvTIogDFvc1K\nv48NJzqs4iGbIiIicmxQgk1EREREKvTR4m3cN/UXKhopuWjzfq55YyFPXNaTK/u0rfF5svMLPYdo\neul9tvdQXoVxVFeww3isplky15m791lSTDgJMWGEBWvIpoiIiBydEmwiIiIi4tX8DXsrTa4Vc1oY\nO3UlrZtFlOvJZq1l/+F80jJLDdMs0+tsV0YuWbmFfos7KjSoVI+zCJJiw9wrbR7pfdY8KhSHhmyK\niIiInyjBJiIiIiJevTBrfZV7jDkt3D/1F87pkUhaZp57xc1c0jPzyPfjkM34JqHlFghw9T5zJdIS\nY8KJDg/x2/lEREREqkIJNhEREREpZ116ltc51yqzdX82r/2wuUbnCw1ykBAT5rE4gMe8Z7HhJESH\nExrsqNHxRURERGqTEmwiIiIiUs78DXv9dqzo8GCPHmdJsaXmPHO/j4vUkE0RERFpuJRgExEREREP\nTqdl9e+ZNdp3UHI8l57cumTBgKSYcKLC9COniIiING76aUdEREREANiTlceUpTv4aPE2tuzLrtEx\nhnZL4PJT2/g5MhEREZH6TQk2ERERkWOY02mZt2EvHy7axner0yms6qoGFSi7iqiIiIjIsUAJNhER\nEZFjUHpmLpOXbGfS4u3sOJBTrj46LJjI0CDSs/KqfMx+HeLonBjtzzBFREREGgQl2ERERESOEUVO\ny9x1e/hg0TZmr9lNkZfeaqce14yr+rbj/BNbsmzbAa55YyFV6dTmMHDn0E61ELWIiIhI/acEm4iI\niEgj9/vBHD5esp2PF2/n94zccvWxESFcdkprrurbzqMH2sDkeP592YncN/WXSpNsDgNPXNZTw0NF\nRETkmKUEm4iIiEgjVFjkZM7aPXy4aBupa3d7TZD17RDHH/u249wTkggPCfJ6nBF92tGmWSQTZq1n\n4eb95er7dYjjzqGdlFwTERGRY5oSbCIiIiKNyPb92Xy0eDuTl24nPbP8/GlxUaFcfkprRvRpR3JC\nkyodc2ByPAOT41mXnsX8DXs5lFtIk/BgBibHa841EREREZRgExEREWnwCoqczFydzoeLt/PD+j1Y\nL73VBiY3Z2SfdpzTI5GwYO+91Y6mc2K0EmoiIiIiXijBJiIiItJAbdl7mEmLtzNl6Q72HirfWy2+\nSSh/6N2WEb3b0j4+KgARioiIiBwblGATERERaUDyCov4dlU6Hy7axoKN+8rVGwOnd2rBVX3aMrRb\nIqHBjgBEKSIiInJsUYJNREREpAHYuOcQkxZt45NlO9l/OL9cfUJ0GCP6tOXK3m1pGxcZgAhFRERE\njl1KsImIiIjUU7kFRcz4NY0PFm1jkZcVPB0GUrokcFXfdpzZpQXBQeqtJiIiIhIISrCJiIiI1DM7\ns5w8/MUqpi7bSUZOQbn6VrHhXOnurdaqaUQAIhQRERGR0pRgExEREakHcvKL+HLl77zyUw4bDjqB\nLR71QQ7D0K6u3mqDO7cgyGECEqeIiIiIlKcEm4iIiEgArf49k0mLt/Hp8p1k5RaWq2/TLIKr+rbj\nilPbkBgTHoAIRURERORolGATERERqWOH8wr5YsXvfLh4Oyu2HyxXH2Rg2AlJjOzTjkHJ8TjUW01E\nRESkXlOCTURERKSO/LIjgw8WbePzn3dyOL+oXH375pH0bV7AwNYhXDzs1ABEKCIiIiI1oQSbiIiI\nSC3Kyi3gs59/Z9Libfy6M7NcfWiQg2EnJHFV37b079CcuXO/D0CUIiIiIuILJdhERERE/Mxay8/b\nD/Lhom18sWIXOQXle6sd3yKKq/q247JT2hAXFRqAKEVERETEX5RgExEREfGTjJwCpi3fyYeLtrEm\nLatcfWiwgwtObMnIvu3o074ZxmhuNREREZHGQAk2ERERER9Ya1my9QAfLtrGVyt3kVfoLNemS2I0\nI/u25dKTW9M0Ur3VRERERBobJdhEREREauDA4Xw+WbaDSYu3s2H3oXL14SEOLuzZipF923FKu6bq\nrSYiIiLSiCnBJiIiIlJF1lp+2rSfSYu38fUvaeQXle+t1r1lDFf1a8fFvVoREx4SgChFREREpK4p\nwSYiIiJyFHsP5fHJ0h18tHg7m/YeLlcfFRrERb1acVXfdpzYOla91URERESOMUqwiYiIiHjhdFoW\nbNzHh4u28e3qNAqKbLk2PdvEclXfdlx4UiuahOnHKhEREZFjlX4SFBERESlld1Yuk5e4eqtt259d\nrj46LJiLT27FyD7tOKF1bAAiFBEREZH6Rgk2EREROeYVOS1z1+9h0qJtzPptN4XO8r3VTmnXlJF9\n23FBz5ZEhupHKBERERE5Qj8dioiIyDErLSOXj5ds56PF29l5MKdcfUx4MJed0oar+rajS1J0ACIU\nERERkYZACTYRERE5phQWOUldu4dJi7cxe81uvHRWo2/7OEb2bcvwE1sSHhJU90GKiIiISIOiBJuI\niIgcE3YcyObjxdv5eMkO0jJzy9U3iwzh8lPaMLJvW5IT1FtNRERERKpOCTYRERFptAqKnMz6bTeT\nFm/j+3V7sF56q53WsTlX9WvHsB6JhAWrt5qIiIiIVJ8SbCIiItLobNuXzaTF25i8dAd7svLK1cc3\nCeXyU9swsk87OsRHBSBCEREREWlMHIEOQERE5FhhreXNN9+kf//+REdHExkZycknn8yECRMoKiry\nus+CBQsYPnw4cXFxREZG0rNnT55//vkK2x/L8gudfLVyF1e/vpDBT83hpdSN5ZJrp3eK56U/ncKC\nsUO577xuSq6JiIiIiF80uB5sxpgngd5AZyAeyAG2AtOA/1hr9x1l/zeAP7vfdrLWbqi9aEVERI64\n7rrrmDhxIgkJCYwYMYKoqChmzpzJ6NGjmTt3LpMnT8YYU9L+s88+4/LLLyc8PJwRI0YQFxfHF198\nwd133838+fOZPHlyAK+m/ti05xAfLd7OlKU72Hc4v1x9QnQYf+jdhhG929GueWQAIhQRERGRxq7B\nJdiAu4FlwHfAbiAK6A+MA242xvS31m73tqMx5kJcybVDQJM6iVZERASYNm0aEydOpEOHDixatIj4\n+HgACgoKuPLKK/nkk0945513GDVqFACZmZncdNNNBAUFkZqaSu/evQEYP348Q4YMYcqUKUyaNImR\nI0cG6pICKregiG9WpfHhom38tGl/uXpjIKVzC67q244hXRMIDlKnfRERERGpPQ0xwRZjrS239Jcx\n5jHgfuA+4DYv9S2A14CPgCTgjFqOU0REpMTUqVMBGDNmTElyDSAkJITx48czbdo0XnzxxZIE25Qp\nU9izZw/XXnttSXINIDw8nEcffZShQ4fy8ssvH3MJtg27s/hw0XY+WbaDg9kF5epbxoZzZe+2XNmn\nLa2bRgQgQhERERE5FjW4BJu35Jrbx7gSbJ0qqH/Vvf0r8Im/4xIREalMWloaAB07dixXV1y2bNky\nDh48SNOmTZk9ezYA5557brn2gwcPJjIykgULFpCXl0dYWFgtRh54uQVFfLVyF5MWb2PxlgPl6oMc\nhjO7JPDHfm05o3MCQQ7j5SgiIiIiIrWnwSXYKnGhe7uybIUxZhRwCXCptXZf6fltRERE6kJxr7XN\nmzeXq9u0aVPJ12vWrKF///6sXbsWgM6dO5drHxwcTIcOHVi1ahWbNm2iW7dutRR1YK1Jy+TDhdv4\ndPlOMnMLy9W3bhrByD5t+UPvtiTFhgcgQhERERERlwabYDPG3INrHrVYXIseDMKVXHuiTLvjgBeA\n96y103w439IKqrpmZWWRmppa00OLn2VlZQHoM5Ea0fMjvqroGSrupfbYY4/Rpk0bYmJiACgqKuLh\nhx8uaff999+Tm5tb0uNtzZo1Jcf0Zvbs2aSnp/vzEgIqr9CyMK2Q1O2FbMpwlqsPMnByQhBntAmm\nR7zBYXayZvlO1gQg1tqi70PiCz0/4is9Q+IrPUPiq+JnqLKfgeujBptgA+4BEku9nwGMstbuKS4w\nxjiAd3AtanBn3YYnIiJyxJAhQ5g5cyYLFy5k1KhRDBgwgPDwcJYuXcrvv/9OmzZt2LFjBw5H9Sbj\nbyy9srdmFpG6vZAffy8kt6h8fUKkYXCbYAa1DqZpmBYsEBEREZH6pcEm2Ky1SQDGmERgAK6ea8uN\nMRdYa5e5m92NazGD86215Sdtqd75TvVWboxZGh0dfUpKSoovhxc/Kv5LiT4TqQk9P+Kryp6hefPm\n8cILLzBx4kRmzZpFSEgIAwYMYMqUKdx+++3s2LGDs88+m169epGUlMSOHTvo2rUrp57q9b8gAM48\n88wGO0T0UF4hn//8Ox8u2sYvOw+Xqw8JMgzrkcRVfdtxWsfmOI6RudX0fUh8oedHfKVnSHylZ0h8\nVfwMRUdHBzaQamqwCbZi1tp04FNjzDJgHfAucIIxphPwGPCWtXZ6IGMUEREB19xpY8aMYcyYMR7l\nOTk5/Pzzz0RERNCjRw8AunTpwpIlS1i3bl25BFthYSGbN28mODjY66IJ9Zm1lpU7Mvhw0TY+X/E7\n2fnlu6t1jI/iqr7tuOyU1jRv0rgXcBARERGRxqHBJ9iKWWu3GmNWA72MMfFADyAMuN4Yc30Fu613\nD6251Jf52URERHwxceJEcnNzue666wgJCQFcQ0rff/99ZsyYwVVXXeXRfu7cuWRnZzN48OAGs4Jo\nZm4Bny3fyQeLtvPbrsxy9aHBDoaf4Oqt1rdDXKMZ+ioiIiIix4ZGk2Bza+XeFgFbgDcqaHc+kARM\nBjLdbUVERGpVZmZmyeIGxRYvXszYsWNp0qQJDz74YEn5FVdcwT/+8Q8mTZrEHXfcQe/evQHIzc3l\ngQceAODWW2+tu+BrwFrLsm0H+HDRdr5c+Tu5BeUXLeiU0KSkt1rTyNAARCkiIiIi4rsGlWAzxnQF\nDlpr08qUO4DxQAKwwD3f2gHgxgqOk4orwXa/tXZDrQYtIiLidvbZZxMREcEJJ5xAdHQ0q1atYvr0\n6YSFhTF16lSP4Z4xMTG89tprXHHFFaSkpDBy5Eji4uL4/PPPWbt2LVdccQUjRowI4NVU7GB2PlOX\n7WTS4m2sSz9Urj48xMH5J7bij/3ackq7ZuqtJiIiIiINXoNKsAHnAk8ZY+YCG4F9uFYSPQPoCKQB\nNwUuPBERkYpdccUVTJo0iffee4+cnBxatWrFjTfeyNixY2nfvn259pdccgnff/89jz32GJ988gm5\nubkkJyfz7LPPcuedd9arxJS1lkWb9zNp8Xa++mUX+YXle6t1TYrmj/3acXGv1sRGhAQgShERERGR\n2tHQEmwzgVeBgcBJQFPgMK7FDSYCE6y1+wMWnYiISCXuvfde7r333mrtM3DgQKZPr79r9ew/nM8n\nS3fw4eJtbNpTfiXQyNAgLjqpFSP7tuOkNrH1KikoIiIiIuIvDSrBZq39FfirH46T4ns0IiIixyan\n0/LTpn18sGgb365KJ7+ofG+1E1vHclXfdlx4Ukuiw9VbTUREREQatwaVYBMREZHA2ZOVx5SlO5i0\neBtb92WXq28SFszFvVpxVd92nNA6NgARioiIiIgEhhJsIiIiUiGn0/LDhr1MWrSN71anU+i05dr0\natuUP/Ztx/k9WxIVph8tREREROTYo5+CRUREpJz0zFwmL9nOpMXb2XEgp1x9dHgwl53cmpF929Gt\nZUwAIhQRERERqT+UYBMREREAipyW79ft5sNF25m9ZjdFXnqr9WnfjJF92jH8xJZEhAYFIEoRERER\nkfpHCTYREZFj3O8Hc/ho8XYmL9nO7xm55eqbRoZw+SltGNmnLZ0SowMQoYiIiIhI/aYEm4iIyDGo\nsMjJ7DW7mbR4O6lrd+Olsxr9O8ZxVd92DOuRRHiIequJiIiIiFRECTYREZFjyPb92a7eaku3k56Z\nV66+eVQoV5zahhF92tKxRZMARCgiIiIi0vAowSYiItLIFRQ5mbk6nQ8WbWPehr1YL73VBiXHc1Xf\ndpzdPZHQYEfdBykiIiIi0oApwSYiItJIbdl7mEmLtzNl6Xb2HsovV98iOow/uHurHdc8KgARioiI\niIg0DkqwiYiINCJ5hUV8syqdSYu2sWDjvnL1xsAZnVswsk87hnZLICRIvdVERERERHylBJuIiEgj\nsHHPISYt2saUpTs4kF1Qrj4pJpwr+7Tlyt5taNMsMgARioiIiIg0XkqwiYiI1BPr0rOYv2Evh3IL\naRIezMDkeDonRlfYPregiK9/3cWHi7azaPP+cvUOA0O6JjCyTztSurQgWL3VRERERERqhRJsIiIi\nATZ/w15emLXea5Ksb4c4Rg/txMDk+JKytWlZfLhoG58u30lGTvneaq2bRjCiT1v+0LsNLWMjajV2\nERERERFRgk1ERCSgPlq8jfum/oLTy8qeAIs27+eaNxbyyMUnEBbs4MNF21i27WC5dkEOw1ndEriq\nbztO79SCIIep3cBFRERERKSEEmwiIiIBMn/D3kqTa8WcFh6Y9qvXunZxka7eaqe2ISEmvBaiFBER\nERGRo1GCTUREJEBemLX+qMk1b0KCDOd0T+Kqvu0YcHxzHOqtJiIiIiISUEqwiYiIBMC69Cyvc64d\nzY2DOnBLyvHENwmrhahERERERKQmtJyYiIhIAMzfsLdG+7VuFqHkmoiIiIhIPaMEm4iISAAcyi2s\n0/1ERERERKT2KMEmIiISALmFRTXar0m4ZncQEREREalv9FO6iIhIHcrKLeDF2Rt4c96mGu0/MDne\nzxGJiIiIiIivlGATERGpA06nZcqyHfzfjLXsPZRXo2P06xBH58RoP0cmIiIiIiK+UoJNRESkli3b\ndoCHP1/Fih0ZHuVdEpuwbvchrD36MRwG7hzaqZYiFBERERERX/g9wWaM6Qq0A+KBHGA38Iu1NtPf\n5xIREanP0jNzefLrNUxdvtOjPCkmnPvP78aFPVvy8ZLt3Df1F5yVJNkcBp64rKeGh4qIiIiI1FN+\nSbAZY4YANwBn4UqsleU0xiwHpgBvWmv3+uO8IiIi9VGB0/JS6gb+O3sDh/OPLGYQGuzgL4M7cmvK\n8USGuv4LHtGnHW2aRTJh1noWbt5f7lj9OsRx59BOSq6JiIiIiNRjPiXYjDGXAY8BnQED7AQ+A9KA\n/UAE0BzoCvQCegMPG2PeBR601qb7cn4REZH6xFrL8t2FfLgmn93Zaz3qzu2RxD/P70bbuMhy+w1M\njmdgcjzr0rOYv2Evh3ILaRIezMDkeM25JiIiIiLSANQ4wWaMmQsMAn4D7gMmWWu3VdI+FDgTuA64\nGhhpjLnGWvt5TWMQERGpLzbsPsQjX65m7jrPBQw6JzbhoQt7VKkHWufEaCXUREREREQaIF96sEUD\nl1Q1QWatzQe+Ab4xxiQA9wNdfDi/iIhIwGXmFvDCzPW8s2ALhaUmUosJD2bMOV34U792BAc5Ahih\niIiIiIjUthon2Ky1J/uw727grpruLyIiEmhFTsvkJdt56pu17DucX1JugJS2wTwz6kziokIDF6CI\niIiIiNQZv68iKiIi0tgt2bKfcV+s4tedngtk9+0QxwUts2kXE6TkmoiIiIjIMUQJNhERkSpKy8jl\nia9/Y9rPv3uUt4oN5/7zu3H+iS35/vvvAxSdiIiIiIgEis8JNmOMAU4HWgDLrbWb3OW9gH8DfQEH\nMAf4h7V2va/nFBERqUu5BUW8MW8z/52zgez8opLysGAHt5xxPLeccTwRoUEBjFBERERERALJpwSb\nMSYC+BpXgg3AaYy5A0gFvse1EEKxS4ABxphe1to0X84rIiJSF6y1fLs6nce++o1t+7M96s4/sSX3\nDe9Km2aRAYpORERERETqC197sN0FDAa2A4uBPsD/AZ8D+cBNwEKgmbvtpcC9wBgfzysiIlKr1qdn\n8fAXq5m3Ya9HedekaB66sAenHd88QJGJiIiIiEh942uC7QpgF3CitTbTGBMLrAKuAq621n5Y3NAY\nM99ddy5KsImISD2VkV3AczPXMfGnrRQ5bUl508gQxpzdmav6tiM4yBHACEVEREREpL7xNcHWCfjA\nWpsJYK3NMMZ8iavn2szSDa21TmPMbGCUj+cUERHxuyKn5aPF23n627XsP5xfUu4wcHX/4/jb2Z1p\nGqmVQUVEREREpDxfE2xNgLLzqaUDWGv3eGm/Gwj38ZwiIiJ+tWjzfh7+YhWrfs/0KD+tY3Meuqg7\nXZNiAhSZiIiIiIg0BD6vIgo4j/JeRESkXvr9YA7//noNX6z43aO8ddMIHji/G+eekIRrsWwRERER\nEZGK+SPBJiIi0qDkFhTx6txNvJy6kZyCopLy8BAHt56RzF/O6Eh4SFAAIxQRERERkYbEHwm2S4wx\n7Uu97wVgjHnTS9uT/XA+ERGRGrHW8s2qNB796jd2HMjxqLugZ0vuG96N1k0jAhSdiIiIiIg0VP5I\nsPVyv8oaVUF7W0G5iIhIrVmTlskjX6xmwcZ9HuXdWsYw7sLu9OvYPECRiYiIiIhIQ+drgu16v0RR\nDcaYJ4HeQGcgHsgBtgLTgP9Ya/eVatsWuA84FTgOaAbsAzYCbwLvWWsL6jJ+ERGpWwez83nuu3VM\n/GkrzlJ/4mkWGcI9w7owsk87ghyaZ01ERERERGrOpwSbtfYdfwVSDXcDy4DvcK1KGgX0B8YBNxtj\n+ltrt7vbHg/8CViIKwG3H2gOnIcrwXatMeZsa21hXV6AiIjUviKn5YNF23j227UcyD7yt5Qgh+Ga\n/sdx91mdiY0MCWCEIiIiIiLSWDTERQ5irLW5ZQuNMY8B9+PqsXabu3gB0Mxa6yzTNgT4FkgBLgM+\nrs2ARUSkbv20aR/jPl/FmrQsj/KByc158IIedEmKDlBkIiIiIiLSGDW4BJu35Jrbx7gSbJ1Ktc2v\n4BgFxphpuBJsnby1ERGRhmfHgWz+PX0NX/2yy6O8TbMIHji/O8N6JGKMhoOKiIiIiIh/1TjBZoyZ\nXcNdrbV2aE3PW4kL3duVR2tojAkChle1vYiI1G85+UW8MncjL6duJK/wSKfliJAg/nrm8dx4ekfC\nQ4ICGKGIiIiIiDRmxtqaLeppjHFWUGUBb90Disuttdbn33KMMfcATYBYXIseDMKVLDvLWrunTNt4\n4Hb3+VsAZwPJwAfA1bYKN8EYs7SCqq6dOnWKfPXVV2t6KeJnWVmuIWHR0RoCJtWn56dhsdayOL2I\nj9bksy/X81t5/5ZBXNkllLhwR53GpGdIfKVnSHyh50d8pWdIfKVnSHxV/AyNGTOG9evXL7PWnhrg\nkKqkxj3YrLUev7EYY0JxDdM8ARgPpAJpQBJwJvBP4Ffgypqes4x7gMRS72cAo8om19zigYdKhw88\nDdxfleSaiIjUP9uznLy3Oo+1Bzz/3nNcjIM/dQulczP1WBMRERERkbrhzznY/oWrJ9kJ1tqDpcq3\nAm8bYz4HfnG3e9DXk1lrkwCMMYnAAOAJYLkx5gJr7bIybde4mpogoDVwKfAIMMgYc761dn8Vzuc1\nY2qMWRodHX1KSkqKT9cj/pOamgqAPhOpCT0/9d+Bw/k8891aPli4DWepP5HERYVy77AuXNm7LUGO\nwM2zpmdIfKVnSHyh50d8pWdIfKVnSHxV/Aw1tF6Q/kyw/Qn4pExyrYS1dr8xZgpwNX5IsJU6bjrw\nqTFmGbAOeBdXLzpvbYuAbcALxph04ENcibbb/RWPiIjUjsIiJx8s2sYz364jI6egpDzYYbj2tPaM\nPqsTsREhAYxQRERERESOVf5MsLUCvK7aWUoB0NKP5yxhrd1qjFkN9DLGxFtr9x5ll6/d25TaiEdE\nRPxnwca9PPz5atamZ3mUn94pnocu7E5yQsP665aIiIiIiDQu/kyw7QAuNsb801pbLtFmjAkDLgZ2\n+vGcZbVyb4uq0La1e1tYS7GIiIiPtu/P5vHpv/H1r2ke5e3iInng/G6c3T0RYwI3HFRERERERAT8\nm2B7B3gYmG2MuR+Yb60tcs97Ngh4DOiI52ID1WKM6QoctNamlSl34FpYIQFYYK094C7vB/xirc0u\n074J8IL77Vc1jUdERGpHTn4RL6du4JW5m8grPLKIQWRoEH89M5kbBnUgPESLGIiIiIiISP3gzwTb\nE8CpwEXAHMBpjNkPxAEOwACfu9vV1LnAU8aYucBGYB+ulUTPwJW8SwNuKtX+PiDFGPM9rrnXsoG2\nwHlAU2AB8G8f4hERET+y1vLFyl38e/pv7MrI9ai79OTW/OPcriTFhgcoOhEREREREe/8lmCz1hYA\nlxhj/ghcD5yMK7mWASwD3rLWfujjaWYCrwIDgZNwJckO41rcYCIwocyKoK+56/vgmmstEjgALAU+\nBt601mqIqIhIPbDq9wwe/nw1i7Z4Lux8YutYxl3Ug1OPaxagyERERERERCrnzx5sAFhrPwA+8Pdx\n3cf+FfhrNdp/hYaAiojUa/sP5/P0t2uZtGgbTnukPL5JKH8f1pUrTm2Dw6F51kREREREpP7ye4JN\nRESkKgqKnLz301ae+24dmblHOhMHOwzXD2zPHUM7ERMeEsAIRUREREREqqbGCTZjTIS1NseXk/vj\nGCIi0vDMW7+Xh79YxfrdhzzKz+jcgn9d0J3khCYBikxERERERKT6fOnBttkY82/gf9bavOrsaIw5\nCXgEWIJr9U8RETkGbNuXzaNfrebb1eke5e2bR/KvC7ozpGsCxmg4qIiIiIiINCy+JNi+BZ4FHjLG\nfIRr0YCfKuqRZozpCAwDrgX6AtuBp3w4v4iINBCH8wp5OXUjr/6wifxCZ0l5VGgQdwztxPUD2xMW\nHBTACEVERERERGquxgk2a+21xpgJwOPAze5XkTHmN2AXrtU6w4HmQBcgHjBAOvBP4Lnq9nwTEZGG\nxVrL5yt+59/T15CWmetRd/kpbfjHuV1IiAkPUHQiIiIiIiL+4dMiB9baJcA5xphOwA3AUKAXcGKZ\npnuAqcAnwCfW2gJfzisiIvXfrzszGPf5KpZsPeBRflLbpoy7sDsnt2sWoMhERERERET8yy+riFpr\n1wNjAYwxkUBrXD3XcoDd1tpd/jiPiIjUf3sP5fH0N2v5aMl2rD1SHt8kjLHndeWyk1vjcGieNRER\nERERaTz8kmArzVqbDax3v0RE5BhRUOTknQVbeGHWerJyC0vKQ4IMfx7YgduHJBMdHhLACEVERERE\nRGqH3xNsIiJy7Jm7bg8Pf7GKjXsOe5QP6ZrAA+d3o2OLJgGKTEREREREpPYpwSYiIjW2dd9hxn/5\nGzN/S/co7xgfxb8u7M6ZXRICFJmIiIiIiEjdUYJNRESq7XBeIf+Zs4E3fthMfpGzpLxJWDCjh3bi\nugHtCQ12BDBCERERERGRuqMEm4iIVJnTaZn2806e+HoNu7PyPOr+cGob7j23CwnR4QGKTkRERERE\nJDCUYBMRkSpZsf0g475YxfJtBz3KT27XlHEX9uCktk0DEpeIiIiIiEigKcEmIiKV2pOVx1PfrGHy\n0h1Ye6Q8ITqMsed15ZJerXE4TOACFBERERERCTAl2ERExKv8QifvLNjChFnrycorLCkPDXJww+kd\n+OuZyTQJ038jIiIiIiIidfqbkTHmbOBRa22/ujyviIhUz5y1uxn/5Wo27TnsUX5Wt0QeOL8b7eOj\nAhSZiIiIiIhI/eO3BJsxJg4otNZmeqk7DXgcGOyv84mIiP9t3nuY8V+uZvaa3R7lx7eI4sELe3BG\n5xYBikxERERERKT+8jnBZoy5HPg/oL37/S/AX6y1C40xCcBLwKWAAX4GHvT1nCIi4l9ZuQX8Z/YG\n3py/mYKiIxOtRYcFM/qsTlw3oD0hQY4ARigiIiIiIlJ/+ZRgM8acDnyMK3lWrCfwtTEmBfgCaAus\nAh6y1k715XwiIuJfTqdl6vKdPDljDXuy8krKjYERvdtyz7AuxDcJC2CEIiIiIiIi9Z+vPdjuwpVc\nuw94w112C/AIMBtoAtwO/M9a6/TxXCIi4kfLtx1g3BerWbH9oEf5qcc1Y9yFPTixTWxgAhMRERER\nEWlgfE2w9QdmWWufLFX2qDHmTCAFuNla+4bXPUVEJCB2Z+by5Iy1fLJsh0d5YkwY9w/vxkUntcIY\nU8HeIiIiIiIiUpavCbYWwFIv5UtwJdg+8fH4IiLiJ3mFRbw1fwsvzlrP4fyikvLQIAc3De7AbSnJ\nRIXV6eLSIiIiIiIijYKvv0kFA9leyrMBrLUHfTy+iIj4wew16TzyxWq27PP8ln1O90QeOL877ZpH\nBigyERERERGRhk9dFUREGrGNew4x/svVpK7d41HeKaEJD13Yg0Gd4gMUmYiIiIiISOPhjwTbKPeK\noaW1BzDGzPbS3lprh/rhvCIilXr77be5/vrrK23jcDgoKnINl9yyZQtnnnlmhW1HjBjBpEmT/Bpj\nbcnMLeDFWet5a/4WCp22pDw6PJi7z+rMNacdR0iQI4ARioiIiIiINB7+SLC1d7+8SfFSZr2UiYj4\nXa9evXjooYe81v3www/Mnj2b8847r1zd8ccfz9VXX12u/IQTTvB7jP7mdFqmLN3B/32zhr2H8kvK\njYGRfdpxzzmdad4kLIARioiIiIiIND6+Jtgq7uohIhJgvXr1olevXl7rTjvtNABuvvnmcnXJycmM\nGzeuFiOrHUu3HuDhL1axckeGR3mf9s146MIenNA6NkCRiYiIiIiING4+Jdistd/7KxARkbry66+/\n8tNPP9G6dWvOP//8QIfjs/TMXJ74eg2fLt/pUd4yNpz7hnfjwp4tMcYEKDoREREREZHGT4sciMgx\n55VXXgHghhtuICgoqFz9vn37eOWVV9i3bx/NmzfntNNOo2fPnnUd5lHlFRbxxrzN/Gf2BrLzi0rK\nQ4Md3DK4I7ekHE9kqL7Ni4iIiIiI1Db95iUix5ScnBzee+89HA4HN954o9c2S5YsYcmSJR5lKSkp\nvPPOO7Rr164uwqyUtZaZv+3m0a9Ws3VftkfdeSckcf/wbrSNiwxQdCIiIiIiIscenxJsxpi5NdjN\nWmvP8OW8IiI19fHHH3Pw4EHOP/982rZt61EXGRnJNddcw6BBg7jyyisBWLlyJePGjWPOnDkMHTqU\nn3/+maioqECEDsCG3Vk8/MVqfli/16O8S2I0D13YnQHJ8QGKTERERERE5Njlaw+2QTXYR6uIikjA\nvPrqqwD85S9/KVeXkJDAn//8ZwCaNm0KwODBg/n2228ZNGgQCxcu5PXXX2f06NF1Fm+xjJwCXpi5\nnnd/3EKh88i30diIEP52dmf+1K8dwUGOOo9LREREREREfE+wdahiu97Av4FkoOgobUVEasXq1atZ\nsGABbdq0Yfjw4VXeLzg4mBtvvJGFCxcyd+7cOk2wFTktHy/ZztPfrGXf4fyScoeBP/Zrx9/O7kJc\nVGidxSMiIiIiIiLl+bqK6NbK6o0xbYHHgasABzAduNeXc4qI1NTRFjeoTIsWLQA4fPiw3+OqyJIt\n+xn3xSp+3ZnpUd6vQxwPXdiD7q1i6iwWERERERERqVitLHJgjIkG/gncCYQDy4F7rLVzauN8IiJH\nk5uby8SJE3E4HNxwww3V3v+nn34CoGPHjv4OrZxdGTk88fUaPvv5d4/yVrHh3H9+N84/sSXGmFqP\nQ0RERERERKrGrwk2Y0wQcCvwIBAPbAcesNZO9Od5RESqa/LkyRw4cIALLrig3OIGxRYuXEhBQQEh\nISEe5bNnz+a5554D4Oqrr661GHMLinj9h038d85GcgqOjKYPC3ZwyxnHc8sZxxMRWr2edyIiIiIi\nIlL7/JZgM8ZcCjyBa561LOB+4DlrbZ6/ziEiUlPFixvcfPPNFbb5xz/+wc8//0yvXr04+eSTAdcq\norNnzwZg/PjxDBgwwO+xWWv5ZlU6j01fzfb9OR5155/YkvuGd6VNs0i/n1dERERERET8w+cEmzGm\nH/A0MADXAgYvAQ9ba/f6emwREX/47bffmDdv3lEXN7jmmmvIy8tjzZo1LFmyhIKCAhITE7nyyiu5\n/fbbOf300/0e27r0LB7+YhXzN+zzKO+aFM1DF/bgtOOb+/2cIiIiIiIi4l8+JdiMMZOAP7jffgb8\n3Vq7weeoRET8qFu3blhrj9ruhhtu4PjjjwcgJSWlVmPKyC7guZnrmPjTVoqcR2JrGhnCmHO6cFWf\ntgQHOWo1BhEREREREfEPX3uwXQlYYANwCHiwChNvW2vtdT6eV0SkQSpyWiYt3sbT36zlQHZBSbnD\nwDX9j+PuszvTNDI0gBGKiIiIiIhIdfljDjYDdHK/qsICSrCJyDFn0eb9jPt8Fat3ZXqUn9axOQ9d\n1J2uSTEBikxERERERER84WuC7Uy/RFENxpgngd5AZ1wrleYAW4FpwH+stftKte0EXAYMw5UATAQO\nAD8Bz1tr59Rp8CJyTPr9YA6PT/+NL1fu8ihv3TSCB87vxrknJFGF3r8iIiIiIiJST/mUYLPWfu+v\nQKrhbmAZ8B2wG4gC+gPjgJuNMf2ttdvdbccDI4DVwHRgP9AFuAi4yBgz2lo7oW7DF5FjRW5BEa/O\n3cRLqRvILXCWlIeHOLgtJZmbB3ckPCQogBGKiIiIiIiIP/hjiGhdi7HW5pYtNMY8BtwP3Afc5i6e\nATxprV1epu0ZuBJ0TxljJltrPbuViIj4wFrLjF/TePSr39h5MMej7sKTWnHfeV1p1TQiQNGJiIiI\niIiIv9Vqgs0YcxEwBNc8bXOttZ/4ekxvyTW3j3El2DqVavt2Bcf43hiTCpwNDAB8jktEBGBNWiYP\nf76aHzft8yjv3jKGcRf1oG+HuABFJiIiIiIiIrXFpwSbMeZC4F7gX2WHixpj3gKuxZVcA7jdGDPN\nWnu5L+esxIXu7coqti9evq+wFmIRkWPMwex8nv1uHe/9tBWnPVLeLDKEe4d1ZUSftgQ5NM+aiIiI\niIhIY+RrD7aLgFOAhaULjTEX4Fop9DDwHJAF3AxcYoy5ylr7oY/nxRhzD9AEiMW16MEgXMm1J6qw\n73HAUCAbmOtrLCJy7CoscvLhom088906DmYXlJQHOQzX9D+Ou8/qTGxkSAAjFBERERERkdpmrLVH\nb1XRzsasAHZba88uUz4VuBgYYa2d4i5LAjYCc6y1F9Q85JJzpOFaFbTYDGCUtTb9KPuFAbOAgcDf\nrbVPVfF8Syuo6tqpU6fIV199tSqHkTqQlZUFQHR0dIAjkYaoOs/Pb/uK+GBNPtuznB7lPZo7+GPX\nMFpHO2olRqnf9D1IfKVnSHyh50d8pWdIfKVnSHxV/AyNGTOG9evXL7PWnhrgkKrE1x5sScCPXsoH\nAwcpNbeZtTbNGPMVrsSWz6y1SQDGmERc86g9ASw3xlxgrV3mbR9jTBAw0R3DR8DT/ohFRI4te3Oc\nfLQ2n8VpRR7lLSIMI7uGckpCEMZoOKiIiIiIiMixwtcEWzNgf+kCY0w7IA74wpbvHrcZ17BSv3H3\nWPvUGLMMWAe8C5xQtp07ufYe8AdcCyJc7SW+ys7jNWNqjFkaHR19SkpKSg2il9qQmpoKgD4TqYnK\nnp+c/CL+9/1G/jd/I3mFR3qtRYQEcfuQZG4Y1IHwkKA6ilTqK30PEl/pGRJf6PkRX+kZEl/pGRJf\nFT9DDa0XpK8JtiygTZmy4kTU8gr2qWgVUJ9Ya7caY1YDvYwx8dbavcV1xphg4ANcybUPgGuttUUV\nHEpEjiHr0rOYv2Evh3ILaRIeTGiWs9zQTmstX/2yi39PX8POgzkedRf3asXY87rSMjaiLsMWERER\nERGResTXBNsvwPnGmCbW2kPusksBC8zz0r4DsMvHc1amlXtbkjwzxoTi6rF2Ma7ebddba51e9hWR\nY8j8DXt5YdZ6Fm3eX66uSzMHIW32MjA5ntW/Z/LwF6tYWKbdCa1jGHdhD3q3j6urkEVERERERKSe\n8jXB9j7wCvC9MeYdoDPwJyANmFO6oXFNSDQI73O2VYkxpitw0FqbVqbcAYwHEoAF1toD7vIwYCow\nHHgDuFnJNRH5aPE27pv6C84KBomvPeDkmjcW0rdDHIs27/do1zwqlHuHdeEPvdsS5NA8ayIiIiIi\nIuJ7gu0N4DJgGNALMEABMNrLEMyhuBZFmOnD+c4FnjLGzMW1Iuk+XCuJngF0xJXYu6lU+//hSq7t\nBXYCD3qZeDzVWpvqQ0wi0oDM37C30uRaMaeFnzYd6bUW7DBcN6A9dw7tRGxESC1HKSIiIiIiIg2J\nTwk2a63TGHM+8EfgNFwJr6nW2p+9NI8HXgA+9+GUM4FXca0CehLQFDiMa3GDicAEa23pcVwdSp37\nwUqOm+pDTCLSgLwwa/1Rk2tlnd4pnocu7E5yQsOaZFNERERERETqhq892HAPuXzP/aqs3SRgko/n\n+hX4azXap/hyPhFpXNalZ3mdc+1oHji/m5JrIiIiIiIiUiHH0ZscnTGmnTHmcmPMZcaYtv44poiI\nv83fsPfojbxYsHGfnyMRERERERGRxsTnHmzGmKeBu3DNvwZgjTHPWWvv9fXYIiL+dCi3sE73ExER\nERERkWODTz3YjDF/BP6GK7m2Bljr/vpvxpirfA9PRMR/QoJqtupnk3Cf/xYhIiIiIiIijZivQ0Rv\nAAqBs6y1Pay13XGtKOp014mIBFx2fiEvp27kv6kba7T/wOR4P0ckIiIiIiIijYmv3TJ6AtOstXOK\nC6y1M40xnwEpPh5bRMQnuQVFfLhoG/+ds5G9h/JqdIx+HeLonKgFDkRERERERKRivibYmuEaFlrW\nGuASH48tIlIjBUVOJi/ZwYuz17MrI9ejLiE6jD1ZedgqHMdh4M6hnWonSBEREREREWk0fE2wOYAC\nL+UFHFn0QESkThQ5LZ/9vJPnZ65n2/5sj7qWseHcMaQTf+jdhqnLdnDf1F9wVpJlcxh44rKeGh4q\nIiIiIiIiR+WPmbur0hFERKTWOJ2WGavSePa7dWzYfcijLr5JKH89M5mr+rYjPCQIgBF92tGmWSQT\nZq1n4eb95Y7XpZmDBy/vo+SaiIiIiIiIVIk/EmzjjDHjvFUYY4q8FFtrrZbkExGfWWuZvWY3z3y7\njtW7Mj3qYiNCuOWM47luwHFEhpb/ljMwOZ6ByfGsS89i/oa9HMotpEl4MKH7N9M62qHkmoiIiIiI\niFSZPxJd1R0KqqGjIuKz+Rv28vS3a1m+7aBHeZOwYG48vQN/HtSBmPCQox6nc2K0xyIGqalb/R2q\niIiIiIiINHI+JdistQ5/BSIiUhVLtuznmW/X8eOmfR7l4SEORg3owF8Gd6RZVGiAohMREREREZFj\nkYZqikiD8MuODJ75bi2pa/d4lIcGOfhjv3bcdubxJESHByg6EREREREROZYpwSYi9dratCye+24d\nM1aleZQHOwx/6N2WO4Yk06ppRICiExEREREREVGCTUTqqc17D/P8zHV8vuJ3bKm1io2BS3u1ZvRZ\nnTiueVTgAhQRERERERFxU4JNROqVHQeyeXHWBqYs20GR03rUnX9iS+46qxOdSi1KICIiIiIiIhJo\nSrCJSL2QnpnLf+ds4MNF2ygo8kysDe2awN1nd+aE1rEBik5ERERERESkYkqwiUhA7T+cz/++38g7\nC7aQV+j0qBuUHM/fzunMKe2aBSg6ERERERERkaNTgk1EAiIjp4DXf9jEm/M2czi/yKPu1OOacc85\nXTjt+OYBik5ERERERESk6pRgE5E6dTivkLcXbOGV7zeSmVvoUXdC6xjGnNOFlM4tMMYEKEIRERER\nERGR6lGCTUTqRG5BEe/9tJWXUzey73C+R13nxCb87ewuDOuRqMSaiIiIiIiINDhKsIlIrcovdPLR\nku38Z/Z60jPzPOraN4/k7rM7c0HPVgQ5lFgTERERERGRhkkJNhGpFYVFTj5dvpMXZq1nx4Ecj7rW\nTSMYPbQTl53SmuAgR4AiFBEREREREfEP/WYr4kcTJ07EGIMxhtdff91rmwULFjB8+HDi4uKIjIyk\nZ8+ePP/88xQVFXlt39A4nZbPV/zOOc/N5d4pKz2Say2iw3jk4h7MvucMruzTVsk1ERERERERaRTU\ng03ET7Zv384dd9xBkyZNOHTokNc2n332GZdffjnh4eGMGDGCuLg4vvjiC+6++27mz5/P5MmT6zhq\n/7HW8t3qdJ79bh1r0rI86ppFhnBryvFc0789EaFBAYpQREREREREpHYowSbiB9Zarr/+epo3b85l\nl13G008/Xa5NZmYmN910E0FBQaSmptK7d28Axo8fz5AhQ5gyZQqTJk1i5MiRdR2+T6y1zF2/l2e+\nXcvKHRkeddHhwdx8ekeuH9SBJmH6diMiIiIiIiKNk8ZnifjBhAkTmD17Nm+99RZRUVFe20yZMoU9\ne/YwcuTIkuQaQHh4OI8++igAL7/8cp3E6y8LN+1jxCs/cd2bizySa5GhQfz1zOOZ9/ch3DG0k5Jr\nIiIiIiIi0qjpt14RH/3222+MHTuW0aNHM3jwYGbPnu21XXH5ueeeW65u8ODBREZGsmDBAvLy8ggL\nC6vVmH318/aDPPPtWn5Yv9ejPDTYwbX9j+OWlOOJb1K/r0FERERERETEX5RgE/FBYWEh11xzDe3a\ntePxxx+vtO3atWsB6Ny5c7m64OBgOnTowKpVq9i0aRPdunWrlXh9tfr3TJ79bh0zf0v3KA8JMozo\n05bbz+xEUmx4gKITERERERERCQwl2ER88Mgjj7B8+XLmzZtHREREpW0zMlxDKGNjY73WF5cfPHjQ\nrzH6w4bdh3h+5jq+XLnLo9xh4PJT2nDn0E60jYsMUHQiIiIiIiIigaUEm0gNLVq0iMcff5wxY8Zw\n2mmn+Xw8ay0Axhifj+Uv2/dn8/zM9Xy6fAdO61l34UmtuOusThzfoklgghMRERERERGpJ5RgE6mB\n4qGhnTt3Zvz48VXap7iHWnFPtrIyMzM92gXSrowc/jN7Ax8t3k5hmcza2d0T+dvZnenWMiZA0YmI\niIiIiIjUL0qwidTAoUOHWLduHeBaBdSbm266iZtuuonRo0fz/PPP06VLF5YsWcK6des49dRTPdoW\nFhayefNmgoOD6dixY63HX5G9h/J4OXUjE3/aSn6h06NucOcWjDm7Mye1bRqY4ERERERERETqKSXY\nRGogLCyMG264wWvdsmXLWL58OYMGDaJLly4lw0eHDBnC+++/z4wZM7jqqqs89pk7dy7Z2dkMHjw4\nICuIHszO59W5m3hr/hZyCoo86vp2iOOec7rQt0NcncclIiIiIiIi0hAowSZSAxEREbz++ute68aN\nG8fy5cu57rrruPHGG0vKr7jiCv7xj38wadIk7rjjDnr37g1Abm4uDzzwAAC33npr7QdfSlZuAW/N\n38JrczeRlVfoUXdS26bcc05nBiXH16t54URERERERETqGyXYROpITEwMr732GldccQUpKSmMHDmS\nuLg4Pv/8c9auXcsVV1zBiBEj6iSWnPwi3v1xC//7fiMHsgs86romRTPmnC6c1S1BiTURERERERGR\nKlCCTaQOXXLJJXz//fc89thjfPLJJ+Tm5pKcnMyzzz7LnXfeWesJrbzCIiYt2s5/5mxgT1aeR13H\nFlH87ezODD+hJQ6HEmsiIiIiIiIiVaUEm4ifjRs3jnHjxlVYP3DgQKZPn153AQEFRU6mLtvBhFkb\n2Hkwx6OuTbMI7jqrM5f0akVwkKNO4xIRERERERFpDJRgE2nEipyWL1b8zvMz17FlX7ZHXWJMGHcM\n6cSVvdsSGqzEmoiIiIiIiEhNKcEm0ghZa/lmVRrPfreOdemHPOqaR4Vy25nJ/KlfO8JDggIUoYiI\niIiIiEjjoQSbSCNirSV17R6e+W4tv+7M9KiLCQ/mL2ccz6gB7YkK0z99EREREREREX/Rb9kijcSC\njXt55tt1LN16wKM8KjSIG07vyA2DOhAbERKg6EREREREREQaLyXYRBq4pVsP8My3a1mwcZ9HeXiI\ng+tOa89fzjieuKjQAEUnIiIiIiIi0vg1uASbMeZJoDfQGYgHcoCtwDTgP9bafaXahgC3Ab2Ak4Hu\nQAhwk7X29ToNXMTPft2ZwbPfrWP2mt0e5SFBhj/2bcdfz0wmISY8QNGJiIiIiIiIHDsaXIINuBtY\nBnwH7AaigP7AOOBmY0x/a+12d9so4Hn31+lAGtC2LoMV8bf16Vk8+906vv41zaM8yGH4w6ltuH1I\nMm2aRQYoOhEREREREZFjT0NMsMVYa3PLFhpjHgPuB+7D1WsNIBsYDvxsrd1ljBkHPFRXgYr405a9\nh3lh1nqm/bwTa4+UGwMXn9SKu87qTPv4qMAFKCIiIiIiInKManAJNm/JNbePcSXYOpVqmw98XRdx\nidSWnQdz+M/s9Xy8ZAdFTutRd94JSdx9dmc6J0YHKDoRERERERERaXAJtkpc6N6uDGgUIn6yOyuX\nl+Zs5IOF28gvcnrUndmlBX87uwsntokNUHQiIiIiIiIiUsxYa4/eqh4yxtwDNAFicS16MAhXcu0s\na+2eCvYZh2uIaLUXOTDGLK2gqmunTp0iX3311eocTmpRVlYWANHRDbNX16F8y/TNBczcWkC+Z16N\nbnEOLusUSqdmQYEJ7hjQ0J8fCTw9Q+IrPUPiCz0/4is9Q+IrPUPiq+JnaMyYMaxfv36ZtfbUAIdU\nJQ25B9s9QGKp9zOAURUl10Tqu+wCyzdbCvhmSwG5RZ51yU1dibXuzZVYExEREREREalvGmyCzVqb\nBGCMSQQGAE8Ay40xF1hrl9XC+bxmTI0xS6Ojo09JSUnx9ymlhlJTUwGoD5/JuvQs5m/Yy6HcQpqE\nBzMwOb7cfGnZ+YW8vWALryzYREZOgUddj1Yx3HNOF1K6tMAYU5ehH7Pq0/MjDZOeIfGVniHxhZ4f\n8ZWeIfGVniHxVfEz1NB6QTbYBFsxa2068KkxZhmwDngXOCGwUcmxbv6Gvbwwaz2LNu8vV9e3Qxyj\nh3bi1OOa8f7CbbycuoG9h/I92nRKaMLfzu7MsB5JOBxKrImIiIiIiIjUZw0+wVbMWrvVGLMa6GWM\nibfW7g10THJs+mjxNu6b+gvOCqY3XLR5P1e/vpDo8GAycws96o5rHsndZ3XmwpNaEaTEmoiIiIiI\niEiD0GgSbG6t3NuiSluJ1JL5G/ZWmlwrZsEjudYqNpw7h3bi8lPbEBLkqN0gRURERERERMSvGlSC\nzRjTFThorU0rU+4AxgMJwAJr7YFAxCfywqz1R02ulRbsMDxwfjeu6teOsGAtYCAiIiIiIiLSEDWo\nBBtwLvCUMWYusBHYh2sl0TOAjkAacFPpHYwxY4Gu7re93NvrjTGD3F/Ps9a+XstxyzFgXXqW1znX\nKlPotAxIjldyTURERERERKQBa2gJtpnAq8BA4CSgKXAY1+IGE4EJ1tqyGY5zcSXgShvgfhVTgk18\nNn9Dzab9m79hb7mVRUVERERERESk4WhQCTZr7a/AX6u5T0rtRCPi6VCZBQtqez8RERERERERqR80\nm7rUmX379vH6669z6aWXkpycTEREBLGxsQwaNIg33ngDp9Ppdb8FCxYwfPhw4uLiiIyMpGfPnjz/\n/PMUFdWvtSzCQmr2z6lJeIPKc4uIiIiIiIhIGfrNXurM5MmTufXWW2nZsiVnnnkm7dq1Iz09nalT\np3LjjTfy9ddfM3nyZIwxJft89tlnXH755YSHhzNixAji4uL44osvuPvuu5k/fz6TJ08O4BUdsWzb\nAd5dsLVG+w5MjvdzNCIiIiIiIiJSl5RgkzrTuXNnPv/8c84//3wcjiO9vR5//HH69u3LJ598wtSp\nU7n88ssByMzM5KabbiIoKIjU1FR69+4NwPjx4xkyZAhTpkxh0qRJjBw5MiDXA5BbUMTzM9fz6tyN\n1Vo9tFi/DnGaf01ERERERESkgdMQUakzQ4YM4cILL/RIrgEkJSVxyy23AJCamlpSPmXKFPbs2cPI\nkSNLkmsA4eHhPProowC8/PLLtR94BVbuOMiFL87jf98fSa6Fhzgwle9WwmHgzqGdai0+ERERERER\nEakbSrBJvRASEgJAcPCRTpWzZ88G4Nxzzy3XfvDgwURGRrJgwQLy8vLqJki3/EInz3y7lktfWsD6\n3YdKygcc35yZfzuDJy4/EcdRsmwOA09c1lPDQ0VEREREREQaAQ0RlYArLCzk3XffBTyTaWvXrgVc\nQ0vLCg4OpkOHDqxatYpNmzbRrVu3Ool19e+ZjJm8gt92ZZaURYQEcf/wrvyp33E4HIYRfdrRplkk\nE2atZ+Hm/eWO0a9DHHcO7aTkmoiIiIiIiEgjoQSbBNzYsWP59ddfGT58OMOGDSspz8jIACA2Ntbr\nfsXlBw8erPUYC4qcvJy6kQmz1lNYarK1vh3iePqKk2jXPNKj/cDkeAYmx7MuPYv5G/ZyKLeQJuHB\nDEyO15xrIiIiIiIiIo2MEmwSUBMmTOCZZ56ha9euTJw4sVr7WutKdJVedbQ2rEvPYszHK/hlZ0ZJ\nWViwg7+f25XrB7THUcl40M6J0UqoiYiIiIiIiDRySrBJwPz3v/9l9OjRdO/enVmzZhEXF+dRX9xD\nrbgnW1mZmZke7fytyGl5de4mnvtuHflFzpLyU9o15ek/nETHFk1q5bwiIiIiIiIi0rBokQMJiOef\nf57bb7+dE044gTlz5pCUlFSuTZcuXQBYt25dubrCwkI2b95McHAwHTt29Ht8G/cc4or/LeDJGWtK\nkmuhQQ7uO68rk28ZoOSaiIiIiIiIiJRQgk3q3JNPPsndd99Nr169mDNnDgkJCV7bDRkyBIAZM2aU\nq5s7dy7Z2dkMGDCAsLAwv8VW5LS8/sMmhr/wA8u3HSwp79kmlq/uHMRfzjieoKMtESoiIiIiIiIi\nxxQl2KROjR8/nrFjx3Lqqacya9Ys4uMrXknziiuuID4+nkmTJrFkyZKS8tzcXB544AEAbr31Vr/F\ntnXfYUa++iOPfvUbeYWuXmshQYZ7zunM1FsH0ElzqYmIiIiIiIiIF5qDTerMO++8w4MPPkhQUND/\nt3fn8VZVdePHP19ABmVQRHEgBUWch9IyIRW1shwSFYN6rLDyMfNRM5ss66HSX4PmlGVJlqk9auJs\nphWGFDZpoeYAkqA4oYAyepFh/f7Y++LxcO6953AunHPu/bxfr/3anLXX2nudsxf77PO9a6/FgQce\nyGWXXbZWnsGDBzNu3DgA+vbty4QJExg9ejQjR45k7Nix9O/fnzvuuIPp06czevRoxowZU3W9Vq9O\nXPe3Z/jO3U/y+opVa9J33bovPzhhb3bbpm/Vx5AkSZIkSR2XATZtMLNmzQJg1apVXHLJJSXzHHzw\nwWsCbACjRo3i/vvv5/zzz+fmm2+mqamJoUOHctFFF3HGGWdUPYPonAXL+PLNj/DAf+avSevaJTjt\nkKH8zyFD6d7NTp6SJEmSJKl1Bti0wYwfP57x48dXXG7EiBHcfffd7VqXlBLX/30O5//mcZa+8Wav\ntWEDe/ODE/Zhz0HrZ2ZSSZIkSZLU8RhgU6fz4sLX+fLNjzJlxitr0roEnHLwjnzuvTvRo1vXGtZO\nkiRJkiQ1GgNs6jRSSkx86Dm+ddfjLG5auSZ9hy024cIT9uYd221Ww9pJkiRJkqRGZYBNncLLi5o4\n55ZHmfTky2vSIuBTI4bwhcN3pudG9lqTJEmSJEnrxgCbOrSUEnc8/ALfuP0xFr6+Yk369ptvzIUn\n7M07B/evYe0kSZIkSVJHYIBNHda8Jcs599Z/c89jL70l/RMHbM+XP7gLG3e3+UuSJEmSpOoZYVCH\n9I+XVvL5i6ewYOkba9IGbdaL74/ei+E7DqhhzSRJkiRJUkdjgE0dyqtL3+CKaU387aVVb0n/yLu2\n42tH7krvHjZ5SZIkSZLUvow2qMP4/eNzOeeWR5m35M3g2tb9evK94/fioGFb1LBmkiRJkiSpIzPA\npoa3cNkKvnnnY9zyr+ffkn7CvoM496jd6NdroxrVTJIkSZIkdQYG2NTQ/jj9Zb5y8yPMXbR8TVq/\nHsFJu3fncyfsXcOaSZIkSZKkzsIAmxrS4qYVnHfXE9z44Jy3pI/aZxve2/81enePGtVMkiRJkiR1\nNgbY1HCmzpzHlyY+wvOvvb4mbfNNunP+sXvygT22YvLkybWrnCRJkiRJ6nQMsKmuzJi7mKkz57Gk\naSW9e3ZjxNABDBvYB4Cly1fynd8+wXV/ffYtZY7cc2u+dczubN67Ry2qLEmSJEmSOjkDbKoLU2fO\n49JJT/H3WQvW2vauIf15324DueYvs5mz4M1ea5tuvBHfPmYPjt57mw1ZVUmSJEmSpLcwwKaau/Ef\nz3LOLY+yOpXe/vdZC9YKvL1vt4Gcf+webNmn5waooSRJkiRJUssMsKmmps6c12pwrdjGG3Xh/OP2\nZNQ+2xLhRAaSJEmSJKn2DLCppi6d9FTZwTWAnbfuy7FvH7T+KiRJkiRJklShLrWugDqvGXMXlxxz\nrTX/evY1ZsxdvJ5qJEmSJEmSVDkDbKqZqTPnbdBykiRJkiRJ64MBNtXMkqaVG7ScJEmSJEnS+mCA\nTTXTu+e6DQG4ruUkSZIkSZLWBwNsqpkRQwds0HKSJEmSJEnrgwE21cywgX3YY9u+FZXZf0h/hg3s\ns55qJEmSJEmSVDkDbKqZ+UuW8+JrTWXn7xJwxmE7rccaSZIkSZIkVc4Am2rijZWrOfW6fzJ/6Rtl\n5e8S8N3j9vLxUEmSJEmSVHcMsGmDSynxjdv/zd9nLwAgAs5+/zD2H9K/ZP79h/Tn2k/tz4ff+bYN\nWU1JkiRJkqSyNNx0jBHxPWA/YBgwAHgdeAa4Dbg8pTS/RJnhwLnAu4GewEzg58APU0qrNkzN1ezq\nB2Zzwz/mrHn9pcN34dSRO3L6oTsxY+5ips6cx5KmlfTu2Y0RQwc45pokSZIkSaprjdiD7SxgE+D3\nwKXAr4CVwHjgkYh4SzeniDgGmAIcBNwK/AjoDlwM3LDBal1DEydO5PTTT+fAAw+kb9++RAQnnnhi\nq2UeeOABjjjiCPr378/GG2/MXnvtxSWXXMKqVdXFI//01Ct8+67H17w+9u3b8pmDd1jzetjAPpw0\nYginH7YTJ40YYnBNkiRJkiTVvYbrwQb0TSmtNTJ+RJwPfBU4B/hsntYXmACsAkamlB7M078O3AeM\njoixKaUOHWg777zzePjhh+nduzeDBg3iySefbDX/7bffzvHHH0/Pnj0ZM2YM/fv358477+Sss85i\n6tSp3HTTTetUj6dfWcJpv/onq1P2ep+3bcp3jtuTiFin/UmSJEmSJNWDhuvBViq4lvt1vi6cZnI0\nsAVwQ3NwrWAf5+YvT233StaZiy++mBkzZrBo0SKuuOKKVvMuWrSIk08+ma5duzJ58mSuuuoqLrjg\nAqZNm8YBBxzAxIkTueGGyuORC19fwaeveZBFTSsB2KpvT6782L703KjrOr0nSZIkSZKketFwAbZW\nHJ2vHylIOzRf31Mi/xRgGTA8Inqsz4rV2iGHHMJOO+1UVk+xiRMn8sorrzB27Fj222+/Nek9e/bk\nvPPOA2gzSFds5arVnH79v3j6laUA9OjWhSs/vi9b9u1Z0X4kSZIkSZLqUSM+IgpARHwB6A30I5v0\n4D1kwbXvFmTbOV/PKC6fUloZEbOA3YEdgCfaON5DLWzaZfHixUyePLmi+tfKtGnTAJg7d27JOl9/\n/fUAbLfddmttTynRs2dPpk6dyu9+9zu6d+9e1jGvf2I5U55Zueb1J3ffiAUzpzF55jq9hTYtXrwY\noGHOieqL7UfVsg2pWrYhVcP2o2rZhlQt25Cq1dyGmteNomEDbMAXgIEFr+8BxqWUXilI65evF7aw\nj+b0Tdu3ao1rzpxsds9Bgwatta1r165stdVWzJ49mxdffJHtt9++zf1NeW4F9xYE147ecSP237qR\nm50kSZIkSdJbNWykI6W0FUBEDASGk/Vc+1dEHJVS+meZu2l+ZjKVcbx9S+4g4qE+ffq8Y+TIkWUe\nsj4MHDiQUnVevXo1AIcddhhDhw5da/s222zD7NmzGTZsGAcccECrx3hw9gKu/f1f17w+fPeBXPpf\n+9Kly/qd1KD5LyWNdk5UH2w/qpZtSNWyDakath9VyzakatmGVK3mNtSnT5/aVqRCDT8GW0ppbkrp\nVuD9wObANQWbm3uo9VurYKZvUT61IaUsFtnWeG7PvbqMU659iBWrsvy7bNWHiz68z3oPrkmSJEmS\nJG1oDR9ga5ZSegZ4HNg9IgbkydPz9bDi/BHRDRgCrASe3iCVbAD9+mWxyIULS8ccFy1a9JZ8pSxd\nvpKTr3mI+UvfAGDzTbrzs0/sxyY9GrbDpCRJkiRJUos6TIAtt02+XpWv78vXHyiR9yBgY+CBlNLy\n9V2xRrHzztm8EDNmrDUvBCtXrmTWrFl069aNHXbYoWT51asTZ//6YZ54MQvEbdQ1+MnH9mXQZhuv\nv0pLkiRJkiTVUEMF2CJil4jYqkR6l4g4H9iSLGD2ar5pIjAPGBsR+xXk7wmcl7+8Yj1Xu6Eceuih\nANxzzz1rbZsyZQrLli1j+PDh9OjRo2T5SyY9xT2PvbTm9Xmj9uCdg/uvn8pKkiRJkiTVgYYKsJH1\nRJsTEZMi4sqI+E5E/Bx4Cvgq8BJwcnPmlNKi/HVXYHJE/Cwivg9MAw4gC8DduIHfQ10bPXo0AwYM\n4IYbbuDBBx9ck97U1MS5554LwKmnnlqy7F2PvMBlk55a8/qkEYMZ887t1m+FJUmSJEmSaqzRBsX6\nA3AlMALYG9gUWArMAK4FLkspLSgskFK6LSIOBr4GHA/0BGYCn8/ztzmDaKO77bbbuO222wB46aWs\nd9lf/vIXxo0bB8CAAQO48MILAejbty8TJkxg9OjRjBw5krFjx9K/f3/uuOMOpk+fzujRoxkzZsxa\nx/j38wv5wk0Pr3l94E4D+NoRu67fNyZJkiRJklQHGirAllL6N3DaOpSbChzR/jVqDNOmTeOXv/zl\nW9Kefvppnn46m9th++23XxNgAxg1ahT3338/559/PjfffDNNTU0MHTqUiy66iDPOOGOtGURfXtzE\nydc8SNOK1QDsMGATLv/oO+jWtdE6SEqSJEmSJFWuoQJsWjfjx49n/PjxFZUZMWIEd999d5v5mlas\n4pRrH+LFhU0A9OnZjQmf2I9+vTZal6pKkiRJkiQ1HLsYaZ2llPjqrY/yr2dfA6BLwI8++g523KJ3\nbSsmSZIkSZK0ARlg0zq7csrT3PLP59e8PvfI3Tho2BY1rJEkSZIkSdKGZ4BN6+S+J+fy3XueXPN6\nzH5v46QRg2tXIUmSJEmSpBoxwKaKPTV3MWdcP43m+VffOXgzvj1qj7UmP5AkSZIkSeoMDLCpIq8u\nfYNPX/MgS5avBGDbTXtxxYn70r2bTUmSJEmSJHVORkVUthWrVnPa//2TZ+YvA2Dj7l2Z8PH9GNC7\nR41rJkmSJEmSVDsG2FS2b935OA/8Z/6a1xd9eB9226ZvDWskSZIkSZJUewbYVJbr/voM1/71mTWv\nz37fMD6wx1Y1rJEkSZIkSVJ9MMCmNv3lP/MZf8dja14ftdfW/M+hQ2tYI0mSJEmSpPphgE2tenb+\nMk791UOsXJ1NGbrntv24YPTezhgqSZIkSZKUM8CmFi1uWsGnr/kHry1bAcAWfXow4eP70at71xrX\nTJIkSZIkqX50q3UFVB9mzF3M1JnzWNK0kt49u/HuHTbnwnunM2PuEgC6d+vClR/bl6369axxTSVJ\nkiRJkuqLAbZOburMeVw66Sn+PmtBq/m+d/yevH27zTZQrSRJkiRJkhqHAbZO7MZ/PMs5tzxKPrxa\ni0YO24Jj3z5ow1RKkiRJkiSpwTgGWyc1dea8soJrAFOeeoWpM+et/0pJkiRJkiQ1IANsndSlk54q\nK7gGsDrBZZOeWr8VkiRJkiRJalAG2DqhGXMXtznmWrG/zVrAjLmL11ONJEmSJEmSGpcBtk5oXR/3\n9DFRSZIkSZKktRlg64SWNK3coOUkSZIkSZI6MgNsnVDvnus2eey6lpMkSZIkSerIDLB1QiOGDtig\n5SRJkiRJkjoyA2yd0LCBfXjXkP4Vldl/SH+GDeyznmokSZIkSZLUuAywdVJnHrYTXaK8vF0Czjhs\np/VbIUmSJEmSpAZlgK2TGjF0AN85bs82g2xdAr573F4+HipJkiRJktQCR63vxMa8czsGbbYxl016\nir/NWrDW9v2H9OeMw3YyuCZJkiRJktQKA2yd3IihAxgxdAAz5i5m6sx5LGlaSe+e3RgxdIBjrkmS\nJEmSJJXBAJuAbOIDA2qSJEmSJEmVcww2SZIkSZIkqQoG2CRJkiRJkqQqGGCTJEmSJEmSqmCATZIk\nSZIkSaqCATZJkiRJkiSpCgbYJEmSJEmSpCoYYJMkSZIkSZKqYIBNkiRJkiRJqkKklGpdh4YWEfN7\n9erVf9ddd611VZRbvHgxAH369KlxTdSIbD+qlm1I1bINqRq2H1XLNqRq2YZUreY29Nxzz/H6668v\nSCltXuMqlcUAW5UiYhbQF5hd46roTbvk6ydrWgs1KtuPqmUbUrVsQ6qG7UfVsg2pWrYhVau5DTUB\ni1JKQ2pZmXIZYFOHExEPAaSU9q11XdR4bD+qlm1I1bINqRq2H1XLNqRq2YZUrUZtQ47BJkmSJEmS\nJFXBAJskSZIkSZJUBQNskiRJkiRJUhUMsEmSJEmSJElVMMAmSZIkSZIkVcFZRCVJkiRJkqQq2INN\nkiRJkiRJqoIBNkmSJEmSJKkKBtgkSZIkSZKkKhhgkyRJkiRJkqpggE2SJEmSJEmqggE2SZIkSZIk\nqQoG2CRJkiRJkqQqGGBTTUTE5hHx6Yi4NSJmRsTrEbEwIv4cEZ+KiC5F+QdHRGpluaGVY30iIv4e\nEUvyY0yOiKNayd8rIr4ZEdMjoikiXo6IX0fEru35Gag6ETG7lfbwUgtlhkfE3RGxICKWRcQjEfG5\niOjaynFsPx1QRIxr45qSImJVQX6vQZ1URIyOiB9GxJ8iYlF+vq9ro0xdXmsiYlBE/DwiXoiI5fl1\n9JKI2Ky8T0PropI2FBE7RcSXI+K+iJgTEW9ExNyIuD0iDmmhTFvXs8+0UM421AAqbD91/V1l+6mN\nCtvQ1W20oRQRk4rKeA3qwKLC3+0F5TrlvVCklNpjP1JF8gvtFcCLwB+BZ4GBwHFAP+Bm4ISUN9CI\nGAzMAh4Gbiuxy3+nlCaWOM6FwNnAc8BEoDswFugPnJ5Surwofw9gEjACeBC4D3gbcALwBnBoSulv\n6/7O1V4iYjawKXBJic1LUkoXFuU/hqxdNQE3AguAo4GdgYkppRNKHMP200FFxD7AqBY2HwgcCvwm\npXRUnn8wXoM6pYiYBuwNLCE7j7sAv0opndhC/rq81kTEjsADwJbA7cCTwLuAQ4DpwIiU0vzyPxmV\nq5I2lAdAxgCPA38maz87Ax8CugJnppQuKyozDvgF2XmdVqIKd6WUHiwqYxtqEBW2n8HU6XeV7ad2\nKmxDo4B9WtjVx4AdgC8W3md7DerYKv3dnpfpvPdCKSUXlw2+kP14PRroUpS+Fdl/2gQcX5A+OE+7\nuoJjDM/LzAQ2K9rXfLL/8IOLypyTl7mpsG7AMXn6Y8V1dqlZG5oNzC4zb1/gZWA5sF9Bes/8IpuA\nsbYfl/x8/SU/Xx8qOu9egzrhQnbTtRMQwMj8PFzXQt66vdYA9+bbTi9KvyhP/0mtP+uOulTYhsYB\nby+RfjDZD4blwNYlyiRgXAV1sg01yFJh+6nb7yrbT2O0oVb2sSmwLL8GDSja5jWoAy9U/ru9U98L\n1fyEubgUL8BX8wb+w4K0dblhuCYvc1KJbd/Kt32zIC2AZ/L0ISXKTMm3HVLrz8il4gDbJ/Nz98sS\n2w7Nt91v+3EB9sjP03NA14J0r0Eu0PaP27q81pD1OEhkPVuKbzb7kPVqWApsUuvPuKMvbbWhNsr+\njqIfMnn6OCr4cWsbatyljGtQXX5X2X7qZ1nXaxBwel7u+hLbvAZ10oXSv9s79b2QY7CpHq3I1ytL\nbNsmIk6JiK/m671a2c+h+fqeEtt+W5QHYEdgO2BGSmlWmWVUWz0i4sS8PZwZEYe08Fx/a21hCtlf\n5IbnXY3LKWP76bhOyddXpZRWldjuNUitqddrTfO/f5dSWl2YOaW0GJgKbAy8u8T+VD9auz8C2Ccf\n3+YrEfGxiBjUQj7bUMdXb99Vtp/Gd3K+vrKVPF6DOp9S30ud+l6oWzWFpfYWEd2Aj+cvS/0He1++\nFJaZDHwipfRsQdomwLZkY3G9WGI/T+XrYQVpO+frGS1Ur1QZ1dZWwLVFabMi4qSU0v0FaS2e25TS\nyoiYBexO9peNJ2w/nVNE9AJOBFYDP2shm9cgtaZerzXllHl/XmZSC3lUQxGxPXAY2Q+TKS1kO7Po\n9aqI+BnwuZRSU0G6bajjq7fvKttPA4uIA4A9yYIZf2wlq9egTqSV3+2d+l7IHmyqN98le0Tr7pTS\nvQXpy4BvA/sCm+XLwWQDLY4EJuX/OZv1y9cLWzhOc/qmVZZR7fyC7MfGVsAmZF/8PyV7POK3EbF3\nQd5Kz63tp3P6MNn5+W1KaU7RNq9BKke9XmtsWw0s/yv/r4AewPiU0qtFWWaRPb61M9n34TZk17PZ\nZL1yf16U3zbUcdXrd5Xtp7H9d76e0MJ2r0GdU0u/2zv1vZABNtWNiDiDbOaQJ8lmqVkjpfRySukb\nKaV/ppRey5cpZFHmvwFDgU+vw2FTJVVchzJaT1JK30wp3ZdSmptSWpZS+ndK6TNkg1T2AsZXsLt1\nPbe2n46l+Qbyp8UbvAapndTrtca2VafyYQ+uJZsl7UbgwuI8KaX7U0qXp5Rm5N+HL6aUbiIb2PxV\n4CNFf3Rq87DNu17PZdTOGvi7yvZTpyKiH1mw7A3g6lJ5vAZ1Pq39bi+neL7ukPdCBthUFyLiNOBS\nsmnpD0kpLSinXEppJW8+ynVQwabmCHQ/SisVwW6rTN8SZVR/fpKvK2kPxefW9tPJRMRuZDMYPQfc\nXW45r0EqUq/XGttWA8qDa9cBJwC/Bk5M+WjM5ch74jZfz6r5TlzXMqoTdfBdZftpXCeSjUt1S0pp\nXiUFvQZ1TGX8bu/U90IG2FRzEfE54HLg32T/SV+qcBev5Os1Xd5TSkuB54HeEbF1iTI75evCZ7Cn\n5+uWxjcqVUb15+V8XfgIRIvnNh8/YAjZ4JxPg+2nk2prcoPWeA1Ss3q91ti2GkzeXq4HxgL/B3w0\nD5JUaq3rE7ahzqqW31W2n8bVPLnBWr37y+Q1qAMp83d7p74XMsCmmoqILwMXA9PI/pO+3HqJkppn\n+ni6KP2+fP2BEmU+WJQH4D/As8CwiBhSZhnVnwPydWF7aK0tHET2l7kHUkrLyyxj++lAIqInWff2\n1cBV67ALr0FqVq/XmuZBqd8fEW+594uIPmSPH74O/LXE/rSBRUR3YCJZz7VrgI+tQ+C/2f75uvD6\nZBvqnGr5XWX7aUARsT+wN9nkBpPXcTdegzqICn63d+57oZSSi0tNFuDrZM84Pwj0byPv/kD3EumH\nAk35foYXbRuep88ENitIHwzMz8sNLipzTl7mJqBLQfoxefpjhekuNWs7u5dqM8D2ZDPAJOCrBel9\nyf6CthzYryC9J/BAnn+s7adzLmTBtQTc2Uoer0EukA0SnoDrWthet9ca4N582+lF6Rfl6T+p9efb\nGZYy2lAP4Dd5np+V8/8dOLBEWhS0k1eAvrahxl/KaD91+11l+6mPpa02VJT3qjzv2W3k8xrUwRcq\n+93eqe+FIt+htEFFxCfIBspcBfyQ0s86z04pXZ3nn0wWVJlMNkYSwF5kNwwAX08pnVfiOD8APp+X\nmQh0B8YAm5P9x7q8KH8Pskj3cLILyCRgO7K/Ir8BHJpS+lvl71jtKSLGA18h+0vELGAxsCNwJNnF\n+27g2JTSGwVlRpG1gSbgBmAB8CGyGY8mAh9ORRdE20/nEBF/At4DfCildGcLeSbjNahTyq8do/KX\nWwGHk/0l/k952ryU0heK8tfdtSYidiS7sd0SuB14guzH+CFkj0MMTynNr+zTUTkqaUMR8QtgHDAP\n+DGlB1uenAp6k0REIjuH/yB7zKYf2V/i9yCbVfLYlNLviupkG2oQFbafydTpd5Xtp3Yq/R7Ly/QF\nXgA2ArZNrYy/5jWoY6v0d3teZhSd9V6o1tFQl865kM3wmNpYJhfk/xRwF9l0z0vIIuLPks2otdZf\nTYqO9QmyC/5SskDM/cBRreTvBXyTrCfUcrII/E3AbrX+3FzWnKODycameRJ4DViRn6ffAx+H7I8H\nJcqNIAu+vUrWBfhR4Cygq+2ncy7Arvn1Zk4b7cBrUCddyvi+ml2iTF1ea4C3Ab8AXiS7+XyGbKDi\nVv8a7bLh2hBZYKSt+6PxRfu/IG8vL5D9mFlG9v14ObCDbaixlwrbT11/V9l+6r8NFZQ5Nd92fRn7\n9xrUgZcy2s9bfrcXlOuU90L2YJMkSZIkSZKq4CQHkiRJkiRJUhUMsEmSJEmSJElVMMAmSZIkSZIk\nVcEAmyRJkiRJklQFA2ySJEmSJElSFQywSZIkSZIkSVUwwCZJkiRJkiRVwQCbJEmSJEmSVAUDbJIk\nSZIkSVIVDLBJkiRJkiRJVTDAJkmSJEmSJFXBAJskSaoLETEuIlJEjOvMdSglIsbn9RrZzvsdme93\nfHvutxoR0T8iFkTEj4rSr87rOrhGVVtvIuLsiFgREbvUui6SJGndGGCTJEntLiL2i4hfRMTTEfF6\nRCyKiEcj4oKI2LYdj9Nhgy6d2LeAXsD/29AHztvS5A19XODHwMvAhTU4tiRJagcG2CRJUruJzPeA\nfwAnAk8ClwFXAcuALwAzImJ07WrZqluBXfN1Z/B3svd7ea0rAhAR2wGnANemlJ6vdX02lJTS68Cl\nwJERMbzW9ZEkSZXrVusKSJKkDuXrwJeA2cBRKaXHCjdGxPHAdcANEfG+lNIfN3wVW5ZSWggsrHU9\nNpSU0jKyIGi9OIXs/vTqGtejFq4j67X3WeCBGtdFkiRVyB5skiSpXeSPaX4dWAF8qDi4BpBSuhk4\nC+gKXBERJe9FIuLIiHggIpZGxKsRMTEidirKk4BP5C9n5Y/3pYiYXZBn34i4NCIezsf1aoqIpyLi\nBxGxWYnjlhyDLSJm58vG+WOuz0bE8oiYGRFfjoho4X3sn9f9pYh4IyLmRMRPI2KbFvLvGxH3RMTi\n/LHaP0TEAaXytiYiBkbEhRExPf8MX8v/fXVE7FCQb60x2ArGe2txKXG8wyPi7oiYl38u/8k/p00r\nqHMAJwFzUkqtBZi6RMTnI+LJ/Hw+FxEXR0Tfgn11zT/rRRHRu4XjXZ6/n+Obz3u+6eCi9zu+qFzZ\n5zQidoiIK/N28nreBh+NiJ9ExOaFeVNKLwB/AkYXvhdJktQY7MEmSZLay0lk9xa/Tik92kq+n5EF\n4nYGDgaKe7EdB3yQ7DHNycA+wPHAIRExPKU0Pc/3TWAUsDfZ43Wv5emv8aaTgWOB+4E/kAX23gF8\nHvhgROyfUlpc5vvbCPgdsA3wW2BlfvzvAj3z+qwREScBE4DlwB3AHGAn4NPA0RHx7pTSswX5h+d1\n7A7cAszM3/tk4L4y60hEbAxMBXYEfg/cCQSwPXAMMBF4upVdTG4h/W3AJ4HXi473DbL3vgC4i2ws\nsb3IHgc+IiIOSCktKqPquwNbAze0ke9i4CDg18DtwOHA54ADI+I9KaWmlNKqiJiQ1+sjZOehsM69\ngP8CXiI7N7vnef8XeIa39qCbXFCu7HMaEVuTPSrdF7gbuJmsnQwBPkb2WO78ovc2FRiZv7+72vgc\nJElSPUkpubi4uLi4uLhUvQCTgAScXEbeX+V5zy1IG5enJbLHSwvzn5mnTypKvzpPH9zCcbYHupZI\n/1Re7stF6c11GFeUPjtPvxvoVZC+JVlA7zVgo4L0YcAbZEGybYv2dSiwCri1IC3IHtVMwDEtvPcE\njCzjsz06z3txiW3dgT4Fr0fmece3sc++wCN5vY8rSD8kL/8AsGkLn+Va9WjhGJ/J85/dwvbmcz0P\n2L4gvQtZ8CoBXy9I35qsN+WDJfbVXLfzi9ITMLmF41d6Tk/P93dmiX1tUtiOCtKPyct8v5zPzMXF\nxcXFxaV+Fh8RlSRJ7WXrfD2njLzNeUo9KnlfSqm4987lwH+AQyNi+3IrlFJ6JqW0qsSmnwOLyHo/\nVeKMlA1I37z/l8l6UfUj65HX7FSyHm9npqLB+lNK95H1fjo6IvrkycPz8lNSSrcXHbP5vVfq9eKE\nlNIbqfweewBERDfgJmBP4IsppVsKNp+Rr09OKb1WdKyrgWlkPcXKsV2+frGNfJemlJ4pOM5q4IvA\narIeds3pLwK3AftGxL5F+zglzz+B8lV6TpuVOg9LC9tRgZfy9XYltkmSpDrmI6KSJKm9NI9DttYY\nXRXmvb84IWWP/P2Z7LHHt5M9xtf2QSI2IgumjAV2IwuEFf6Bcdty9pNbmFKaWSK9OVhYOKZb87hp\nB0fEO0uU2ZLscdVhwENkj61C2++9HPcDzwNfiYh3kPW6mwpMayHY2JYrgPcDP04pXVS07QCyXmIn\nRMQJJcp2B7aIiM1TSsWPQxZrHpPs1TbylfqMno6IOcDgiNi0INj3Y2A0WRv4b4CI2BN4N/DblNLs\nNo5VqNJzegfZpAU/iojDgXvJzsPjKaWW/o8syNcDKqiXJEmqAwbYJElSe3kR2IXyet8MKihTbG4L\nZZp79/SroE43ko3B9jRZT7OXyMbPgmzcrh4V7Ou1FtJX5uuuBWnNwaIvtrHP5gH4m99TW++9TSml\nRRHxbrIxxT7Em7305kXEj4HzUkorytlXRJxDNr7Yb3izt1qhzcnuJ/+3jV31Zu3xxoo19+jq2Ua+\n1j6j7ck+y9cAUkp/jIgngI9ExNl5771T8vw/beM4xSo6pymlZyLiXcB44ANkYwsCzImIC1NKl5Uo\n2ytfl+rdJkmS6pgBNkmS1F7+TDYm13tp5dG7iOhKNvYXZD16ig1soehW+XphOZWJiP3Igmt/AI4o\nDCpFNnvpl8rZzzpqrmO/VN4A/83523rvZUkpPQd8Kp+ZczeyMcJOA75B1oPv623tIyLGAOcD/wLG\nttD7bSHQJaXUv5L6teDlfL15q7myz2h6ifSW2sdPyCbB+K+I+CXZI6vPU/kkApWeU1JKTwBj8sds\n9yb7v3E6cGlELE0pXVVUpPm9v4wkSWoojsEmSZLay9VkA70fGxG7t5Lvk2Rjr02nxON+ZDOLvkUe\nlHtP/vJfBZuagz5dWdvQfH1HiR5b7+LN3kLrw1/z9YFl5v9nvm7rvVckZR5LKf0QeF+ePKqtcvmM\npleTBaKOSiktaSHrX4HN2jjf5XokX+/SRr5Sn9EOZLOczi4eCw74JbCUrOfaGGBT4KoWAoarKd2W\noPJzukZKaWVK6aGU0vfIZjWF0ueh+b1Pq/QYkiSptgywSZKkdpFSeppszKmNgDsiYrfiPBExiqw3\n0Srgs/kA9cUOjYijitL+h2wMsj8WDnDPm48dlnosdXa+HllUhy2BH7X2XtrB5WRjk10cEcOKN0ZE\n94goDNQ8QBZwPCgijinK3vzeyxIRe0TE4BKbmnvHLWuj/FCyx2lXAEemlF5oJfvF+XpCRKw1YUVE\nbJI/rlqOP5G1i7byn1k40UXeG/ECsvvaXxRnTiktBK4H9gHOy4/xsxb2PZ8sUFdKRec0It4VEaV6\nJLZ2Hprf+x9bqIMkSapTPiIqSZLa03hgE+DzwMMRcS/wGFnQbTiwP9n4Uh/JZ14s5U7g1oi4FZhJ\n9mjdEWQDwH+2KO8ksjGxJkTERGAJ8FpK6XLgH2SPoB4XEQ+QPcI6EPggWTCrtcBRVVJKT0bEJ8lm\nK30sIu4BZpB9DtuR9YJ6hbzHUkopRcSngN8DN0fELQXv/b3APWTjeJXjvcBF+Xt+kuxxw0HAMWQ9\ntC5oo/xlZIPs30f22R1XnCGlND5fT4qIrwDfAZ6KiLuBWWTjkG1P1tvsz+XUPaW0MCImASMjYrOU\nUkuTHUwFpkXEjWSPbR5O9jk9BHy/hTI/JhtLblvgzpRSSzPdTgLGRsSd+f5Wks3sOqXScwp8FDgt\nIu4nO5evkgVKjyYbB/CSwgPngcLDgOkppX+3UD9JklSnDLBJkqR2k/dIOzsPfpwGHEQWNFhF1qPs\nB8Al+RhhLbkFuBL4GnAkWa+hW4BzUkozio53b0ScDZwMnEU2a+UzwOX57JsfIuu1dATZIP3Pk/Ve\nOg94vD3ec0tSStdFxMPA2WRj072f7FHFF4CJZBMwFOafmveAOp8sCAjwN7IeeIdTfoDtXrLgzUFk\nQbW+ZJNJ/B64KKX0QBvlN87Xh+ZLKeML6v29iJhK9vm+Jz/mQrLP+krg/8qsN2SBsPeTzfp6RQt5\nziIbW+9kYDBZr7NLgW+klJpKFUgp/SsippH1YmttcoMzyWa2PYyszXQhmyxiSr6fSs7p9WSTaAwn\nmyW2F9lncgPwgxJBtPeSBQDPaqV+kiSpTkXLs4RLkiRJG04+3tyjwBvA21M73ahGRB+yINgCYEgL\njybXVETcTNbjb8f8sVZJktRAHINNkiRJdSGfeOALZI98rvVoahVOJXts9cd1Glzbh6xX3niDa5Ik\nNSZ7sEmSJKmuRMQZwPyU0q+q2Ec/ssDatmSPky4Adk4pLW6fWrafiPgg2WOk30sprax1fSRJUuUM\nsEmSJKnDyWdSnUU2ocBDwOkppX/WtFKSJKnDMsAmSZIkSZIkVcEx2CRJkiRJkqQqGGCTJEmSJEmS\nqmCATZIkSZIkSaqCATZJkiRJkiSpCgbYJEmSJEmSpCoYYJMkSZIkSZKqYIBNkiRJkiRJqoIBNkmS\nJEmSJKkKBtgkSZIkSZKkKhhgkyRJkiRJkqpggE2SJEmSJEmqggE2SZIkSZIkqQoG2CRJkiRJkqQq\n/H/qEkp3KYpJPgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 250, "width": 620 } }, "output_type": "display_data" } ], "source": [ "analyze_image_rate_distortion(media.read_image(IMAGE)) # or try fmt='webp'" ] }, { "cell_type": "markdown", "metadata": { "lines_to_next_cell": 2 }, "source": [ "## Video rate-distortion\n", "\n", "Note that the metadata in the video container may be a significant overhead\n", "for small videos; see https://superuser.com/questions/1617422/." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.749763Z", "iopub.status.busy": "2024-02-18T07:44:10.749408Z", "iopub.status.idle": "2024-02-18T07:44:10.754212Z", "shell.execute_reply": "2024-02-18T07:44:10.753687Z", "shell.execute_reply.started": "2024-02-18T07:44:10.749748Z" } }, "outputs": [], "source": [ "def analyze_video_rate_distortion(video, fps=30, codec='h264'):\n", " _, ax = plt.subplots(figsize=(10, 3.5))\n", "\n", " for encoded_format in ['yuv444p', 'yuv420p']:\n", " bitrates, psnrs = [], []\n", " for requested_mbps in [0.03, 0.1, 0.3, 1, 3, 10]:\n", " bps = int(requested_mbps * 1.0e6)\n", " data = media.compress_video(\n", " video, encoded_format=encoded_format, codec=codec, bps=bps, fps=fps\n", " )\n", " video_new = media.decompress_video(data)\n", " rms_error = np.sqrt(np.mean(np.square(video_new - video)))\n", " psnr = 20 * np.log10(255.0 / rms_error)\n", " obtained_bps = len(data) * 8 / (len(video) / fps)\n", " bitrates.append(obtained_bps)\n", " psnrs.append(psnr)\n", " ax.semilogx(bitrates, psnrs, 'o-', label=f'{codec}_{encoded_format}')\n", "\n", " ax.set_title('Video rate-distortion')\n", " ax.set_xlabel('Obtained bitrate (bits/s)')\n", " ax.set_ylabel('PSNR (dB)')\n", " ax.legend()\n", " ax.grid(True)\n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2024-02-18T07:44:10.755298Z", "iopub.status.busy": "2024-02-18T07:44:10.754833Z", "iopub.status.idle": "2024-02-18T07:44:13.209126Z", "shell.execute_reply": "2024-02-18T07:44:13.208601Z", "shell.execute_reply.started": "2024-02-18T07:44:10.755283Z" } }, "outputs": [ { "data": { "image/png": "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\n8po8eTILFixg1qxZPP3008evr169mj/++INx48bRrFmz49fT09OZNGkSvXr14sEHHyzTPf744w/u\nv/9+/vrXvzJmzJgytXnrrbeYP38+H374YZn3TwPo0qULN998s9u1iy66iBEjRrB48WKWLl3KiBEj\nytyfiIiIiIhITbYvOYNnv4vl4zU73VaUBfj5cO3QDtwc3YWwYM+H2+Xr1jK03gZlhWmahdQJ/fr1\nw9fXt8j1iIgIjhw5Umy73NxcJk2axLJly7jyyiu56667ipTnv1566aU89dRTREZG0rRpU6699lr+\n/e9/Y63lySefPN4mKSmJa6+9lqioKO68804vPeEJN998Mzk5Obz11lvHr3311Vfs2rWLq6++mpCQ\nkEr1P27cOMLCwnjvvfeOPz9wfPnmlClT3Orfc889xMXFHZ+NVprs7GwmTZpE69aty3wgwI4dO7jt\nttu4/PLLueKKK8r+MMDw4cM9zijLP0573bp15epPRERERESkJjqakc3T324i+j+L+HD1idDMGLhk\nQFsW3RXNfX/qWWpoJu4UnEmd0LhxY4/X/fz8yMvL81iWm5vL1Vdfzccff8wVV1zBe++9V2ST/+Dg\nYAICAgAnUCos/1rBWW133HEHhw4d4u233/YY5lXW+PHjadKkCa+//vrxZ3v11VcBKrVMM1+DBg24\n4oor2LdvHwsWLACcsOv999+nefPmbpv4L168mJdeeol//vOf9OvXr0z9P/7446xbt46ZM2eWOeS7\n7rrraNCgAS+//HK5n6e42Wn5s/WSk5PL3aeIiIiIiEhNkZWTx8xl2xnx1CJeWrSNjOwT/wY+s1tz\nvrx1OM9c0Y+2jRtU4yhrr1q1VFPKpqLLH2P3p1Ro2eWC28+sdVM4c3JymDBhAh9//DETJkzgnXfe\nKTbk6t69O+vXr/cYzuUv60xPTz9+be3ataSnp9OjRw+P/c2ePZvZs2fTt29ffvnll3KPvUGDBkyZ\nMoVnn32WBQsW0Lt3b7755huioqLo27evW938mVYF92UrKDk5mbCwsCLXJ0+ezOuvv86sWbM499xz\n+eKLLzh8+DDTpk1zm1W2bt06rLU89NBDbvvLFZRff926dfTr14+1a9dirT0+46uwZcuWYYwhLCyM\npKQkwHlPk5OTad68ucc2jz32GI899hgXXXQRn376qVvZ/v37PbbZt28fgMfnFxERERERqemstXzx\n216e/nYzCYlpbmWntGnEfef25Iyu9ef0y6qi4EyO69YylCEdm5brgICojk1rXWiWlZXFFVdcwfz5\n87nmmmuYOXNmiZvDjx49mvXr17NhwwbOO889lNywYQMAHTp0OH7tkksu8bhB/t69e/nqq6/o3Lkz\n0dHRREZGVvgZbrrpJp577jleffVV+vbtW+yhAPnB3s6dO4uUbd26laSkJI/B0bBhw+jatSvz588n\nOTn5+DLNwqdp9u7dmz//+c8ex/jhhx+SmprKddddhzHm+L5oY8eOJTy86B/eqampx/cvO//88wkO\nDj5eds0115CWllakzZYtW1iyZAn9+vVj4MCB9O/fv0idH3/8kby8vCJf45iYGACPbURERERERGqy\n5dsO88TXG/l1l/sKmnZNGnD32d25oE8bfHxMMa2lPBSciZtpo7sy6c0VbhsIFsfHwNTRXat+UF6U\nmZnJJZdcwldffcWf//xnXnvttVJPVLzxxht58cUXefbZZ5k4cSLt2rUDICMjg3/84x+As3wyX3Eb\n5MfExPDVV19x2mmn8cYbb1TqObp27cro0aP54osvWL58OY0bN+bKK68sUq9Hjx40atSI+fPnc+DA\nAVq0aAE4M+SmTp1a4j0mT57MP//5T15++WW++uor+vTpUyRkGjNmTLGb+3///fekpqby6quvup0q\n+re//c1j/R07dvDhhx/SpUuXIu/PjBkzPLZ5++23WbJkCeeddx6PPvqoxzpbtmzh5ZdfLnKq5uLF\ni+nSpQvDhw/32E5ERERERKSm2bwvhSe+3siizQfdrjcOPnFSZqCf97cMqs8UnImbYV3CefySU7lv\n3voSwzMfA09c0odhXWrXtM+//vWvfPXVV4SHh9O2bVv+9a9/FakTHR3ttoywR48ePPnkk9x55530\n7duXiy++mIYNG/Ltt98SGxtLVFQUf//730/iUzhuvvlmvv/+e/bv38+tt97qNkMrn7+/P9OmTeOR\nRx6hf//+jBs3jpycHL777jvatGlDmzZtiu3/mmuu4cEHH+Shhx4iOzu7yGyz2uKcc87hzjvv5Ouv\nv6Zv375s3bqVefPmERQUxJtvvllqcCoiIiIiIlLd9ian88yCWD5Zu8vt3+qBfj5cO6wjN0V3JqyB\nNv2vCgrOpIgrB0fSrkkwMxZuYYWHZZtRHZsydXTXWheaAWzfvh2AQ4cOeQzN8hXef+uOO+6ge/fu\n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\nAKuA38/bV/1EzYHsa8SYsxDInqdZzfywlLLlmvcXLz62r2FU4dhyyWndC+3nAdnEMRbZlyRJkiRJ\np9ewCs5SSsuAd5/EefcDr66y7e3A7QPR11lh8oUw62qiygcERMDPixfydJoBwAdeeQHvXPQci+xL\nkiRJkqQzjuvadOoWfoAU1f0odabgto6bjn39soumGJpJkiRJkqQzksGZTt2cRcT1n6SYL9bsvmC1\n9HVnCv644+0syZdpXnHeBOZNObkaaZIkSZIkSYNtWC3V1Bnseb/F8v0t7PvBR7iysKLLodLyzNs6\nbjoWmhUC3vPS84dipJIkSZIkSVUxONOAufhFN3Jnw6/w4W/8Jy+MZYzlIPto5P7ixcdqmkEWmn30\n5ku5eu6kIRytJEmSJElS3wzONKDe8PxWZox/HbfdcykPrNnZ4/gV503gPS8939BMkiRJkiSd8QzO\nNOCunjuJq+dO4qkt7dy/ajv7DnUwtqGWq+dOsqaZJEmSJEkaNgzONGjmTWkyKJMkSZIkScOWT9WU\nJEmSJEmSKjA4kyRJkiRJkiowOJMkSZIkSZIqMDiTJEmSJEmSKjA4kyRJkiRJkiowOJMkSZIkSZIq\nMDiTJEmSJEmSKjA4kyRJkiRJkiqIlNJQj0G5iNjR2Ng44cILLxzqoUjSadfe3g5AU1PTEI9EkiRJ\nJX5G00iwYsUKDh48uDOlNLG/5xqcnUEiYg3QDKwd4qEMBwVgCrAFKA7xWE6HkXC/w+EezrQxDvV4\nTvf15+fbJ0/DtaShMtR/r9U/fr9Oztn2vg33+x0u4z/TxjmU4/EzmtR/s4G9KaXz+nuiwZmGpYiY\nDmwEzk0pbRrq8Qy2kXC/w+EezrQxDvV4Tvf1I+IhgJTS5YN9LWmoDPXfa/WP36+Tc7a9b8P9fofL\n+M+0cQ7lePyMJp1e1jiTJEmSJEmSKjA4kyRJkiRJkiowONNw1Q78Rb49G4yE+x0O93CmjXGoxzPU\n15dGIv9eDS9+v07O2fa+Dff7HS7jP9PGOZTjOdPeC2lEs8aZJOmMYP0MSZKkM4+f0XS2c8aZJEmS\nJEmSVIEzziRJkiRJkqQKnHEmSZIkSZIkVWBwJkmSJEmSJFVgcCZJkiRJkiRVYHAmSZIkSZIkVWBw\nJkmSJEmSJFVgcCZJkiRJkiRVYHAmSRpWIuLWiEjdXm1DPS5JkiRBREyLiC9ExLaIOBQRyyNi4VCP\nSzpZtUM9AEmSTsJKYFHZ151DNA5JkiTlImIccD/wU+DXgG3AHGDrEA5LOiUGZ5Kk4agjpeQsM0mS\npDPLB4DNKaXfKtu3ZqgGIw0El2pKkgZURNwSEZ+KiJ9ExN58KeW/nuCcGRHxLxGxKSIOR8TaiPg/\nETG+l1PmRMTGiFgTEV+JiDmDcCuSJEkjymn4nPZa4IGIuDMitkbEoxHxexERg3JD0mkQKaWhHoMk\naQSJiEeBy4B9wAZgPvDllNKbemn/HGAJMBn4FvAk8ALgJWRLMq9OKe0oa/8qoClvNxn4s/waC8rb\nSZIkqavT8DntUP7HTwBfBZ4LfAr445TSpwf+jqTB51JNSdJAex/ZB7FVwELgxydo/49kH8bek1L6\nVGlnRPzvvK+/Af57aX9K6T/LT46InwOrgTcD/3sAxi9JkjRSDernNLJVbb9MKX0w//qRiDgfeDdg\ncKZhyaWakqQBlVL6cUrp6VTFlOZ8ieUrgLXAP3Q7/GFgP/CbETGmj+vtA54Azj/pQUuSJJ0FTsPn\ntM3A8m5tVwCtJz1oaYgZnEmShtK1+fa/UkrF8gMppXaypzKNBq7srYOIaCBbZrB5sAYpSZJ0FjqZ\nz2n3Axd062cesG6wBikNNoMzSdJQKn2weqqX40/n23mlHRHxvyJiYUScFxFXAF8DxgBfGLxhSpIk\nnXX6/TmNrLbZlRHxpxExNyJeD7yHnjPWpGHDGmeSpKHUkm/39HK8tH9c2b4ZwL8Bk4BtwM+BK1NK\n/iZTkiRp4PT7c1pK6RcR8Vrgb4EPAc/m238cnCFKg8/gTJJ0Jis9uvxYHY6U0huHaCySJEk6rsfn\nNICU0neB757+4UiDw6WakqShVPpNZUsvx5u7tZMkSdLp4ec0CYMzSdLQWplv5/VyvPSkzN5qa0iS\nJGlw+DlNwuBMkjS0fpxvXxERXf6bFBFNwNXAQbI6ZpIkSTp9/JwmYXAmSRpCKaVngP8CZgPv7nb4\nL8ielvnFlNL+0zw0SZKks5qf06RMpJRO3EqSpCrlT1J6bf7lVOCVwGrgJ/m+7Sml95e1fw6wBJgM\nfAtYAVwBvIRs6v9VKaUdp2PskiRJI5mf06T+MziTJA2oiLgV+HAfTdallGZ3O2cm8JfAdcBEYDPw\nTeAvUko7B2WgkiRJZxk/p0n9Z3AmSZIkSZIkVWCNM0mSJEmSJKkCgzNJkiRJkiSpAoMzSZIkSZIk\nqQKDM0mSJEmSJKkCgzNJkiRJkiSpAoMzSZIkSZIkqQKDM0mSJEmSJKkCgzNJkiRJkiSpAoMzSZIk\nSZIkqQKDM0mSJEmSJKkCgzNJkiRJkiSpAoMzSZIkSZIkqQKDM0mSdMaKiLdERIqIt5zNY6gkIm7N\nx7Woyva35+1n9+MaayNi7cmNcHiLiC9GxNaIGFO2b1H+Ht7aj3769X0aChHxnYh4JiLqhnoskiSd\naQzOJEnSaRERvxoRn4+I1RFxMCL2RsTSiPh4RJw7gNfpd0Ck6g1FkBgRiyMincbr/SrwJuCjKaX9\ng3SNFBGLB7jP70bEzoio7eepHwLOA94zkOORJGkkMDiTJEmDKjIfA35BFkY8CdwGfA44ALwfeCoi\nbhm6UfbpG8CF+fZs89L8dbb5W2Av8JkB6OvTZD8/Dw5AX72KiCay79V3Ukod/Tk3pfQocDfwp+Uz\n7CRJEvT3t1GSJEn99SHgA8Ba4DUppSfKD0bE64B/Bb4SES9PKf349A+xdymlPcCeoR7HUEgpPTPU\nYzjdImIe8DLgsymlg6faX0ppO7D9lAd2Yq8G6jn5gPcLwKuAXwc+O1CDkiRpuHPGmSRJGjT5cskP\nAUeBG7qHZgAppbuA9wE1wGciouLnk4j4tYhYEhH7I2JXRHwtIs7v1iYBb86/XJMvh0vldboi4vKI\n+GREPJYvazsUEU9HxN9HxPgK1624NLFU/ysiRufLTZ+NiMMRsSoi/igiopf7uCIfe1tEHImI9RHx\n/yJiei/tL4+IuyOiPV/e+sOIeGGltlUqRMTvR8ST+b1viIhPRERzhWt3qXGWLy38fP7l58ve32NL\nY8trekXEf4uIByJiX7d+3hIRd3Vbtnt/RLyp2/Vn59/ThfnX5ddb3K3tjIj4dN7n4YjYERHfjojn\n9/P9+W0ggDv7ahQRL8y/F3vy78338yWe3dt1qXFW+nnKDy/sdk+3lp13Q0TcExGb8/vZFBH3RsS7\nehnSzWQzOL9f1seLIqtftiHvoy0ifh4RH65w/reAQ8Db+rpvSZLONs44kyRJg+mtZJ83vppSWtpH\nu8+SBWwXkIUk3Wed3Uw2G+YbwGLgucDrgJdExFUppZV5u78AXgtcBnwS2J3v381xbwduAu4FfkgW\n2D0P+H3gVRFxRUqpvcr7GwX8FzAd+E+gI7/+R4GGfDzHRMRbgX8GDgPfBtYD5wO/A1wfEVemlJ4t\n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\nsxLYNBA3XElK6cmI+G2yp3c+ERF3A0+RvQ+tZLOItpHP+kkppYh4G/AD4K6I+HrZvb8MuBu47iSG\ncj/waF4wfg/ZU0QvI3sgwd9Vcf7PyEKX/xkREzhe7+tTKaVqlij+I/BW4N8j4i5gI3Ax2b18FXhD\nhXPuIath9vWI+B7Zz8u6lNKXUkpHI+Jm4PtkyxKXkM2YOkAWTD0fmEP2hNdKYVF3dwGvI3tfKj34\nAbL3/u8j4lXAY2Sz6G4GDgFv6yX8rXRPb4yI75C99x1kT1C9D/gKcCh/AMRasgdnvCi/l4fIlhpD\ntkwTKgRnZA8XmB0Ri/M+jgCXA9eSPUjjK+WNI+ICsp/Df8oDREmShDPOJEnSIEspFVNKf0AWkN0B\nLCAreP4OsoLtfw/MSyn9ex/dfJ0sJJgJvBe4Ot/3wpTSk92u932yguhHgfcBfwW8Pz/WSfYEws+Q\nLQ19D9mSx8+SBSXdl28OqJTSv5KFF18GLiWbOfYmsuDla3QLAVNK95MFJj8kC/f+B1nh/EXAAyc5\njPcBf5338V6ywvKfBK5NKR2q4h52kQVLy8kCsL/KX+P7Oq/s/MfJ6t4tIQs/3wk0kwVP/7eX0z4L\nfISs6P4H8uu9rVuflwEfy9u8Ne/3crJlk79JNpOqGneRhYG/1UebB8jev3qy7+GrgB8BL86Dr2q8\nF/g3siXCH8rv6dr82B+TBZTPI/uZeCtZwPpHwEvKlhnfBCzt5cmufwv8J9nft98B/jtZSPy3wPPz\n72O5Um25z1Q5fkmSzgrhL5QkSZKk4yLig2QB0/NSStXUKzvt8uW+K4G/TCl9+BT7qid7yuyKlNLL\nBmJ8kiSNFM44kyRJkrr6BPAs8JdDPZA+9LVMs7/eSfZE0D8YgL4kSRpRnHEmSZIkdRMRLyZbUvq/\nUkr7h3o8gyki3gkcTCndPtRjkSTpTGNwJkmSJEmSJFXgUk1JkiRJkiSpAoMzSZIkSZIkqQKDM0mS\nJEmSJKkCgzNJkiRJkiSpAoMzSZIkSZIkqQKDM0mSJEmSJKkCgzNJkiRJkiSpAoMzSZIkSZIkqQKD\nM0mSJEmSJKkCgzNJkiRJkiSpAoMzSZIkSZIkqQKDM0mSJEmSJKkCgzNJkiRJkiSpAoMzSZIkSZIk\nqYL/HxU2F9mXopeaAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "image/png": { "height": 251, "width": 615 } }, "output_type": "display_data" } ], "source": [ "analyze_video_rate_distortion(video3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## End\n", "" ] } ], "metadata": { "colab": { "last_runtime": { "build_target": "//learning/grp/tools/ml_python:ml_notebook", "kind": "private" }, "name": "mediapy_examples.ipynb", "provenance": [ { "file_id": "1qeDaZtcpaUuJI1QyCEUAAk5zj8tZ7G1H", "timestamp": 1615056117619 } ], "toc_visible": true }, "jupytext": { "formats": "ipynb,py:percent", "notebook_metadata_filter": "-all" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }