Material de apoyo

———————————————————————————–

Actividad 1.1 Encuadre del curso


Duración: una sesión

1

Objetivo:

Presentar el encuadre del curso utilizando tecnología para que los alumnos conozca la plataforma que se utilizará para compartir documentos, las reglas de la clase y criterios de evaluación.

Concepto: estadística


  1. Orden de la clase:

    a) Presentación del curso (programa del curso, ponderaciones y criterios de evaluación por unidad.

    b) Presentación de la plataforma y software.

    c) Reglas del curso.

    d) Presentación por parte de los estudiantes.

  2. Discutir de manera grupal lo siguiente:

    a) ¿Qué es la Estadística?

    b) ¿Qué utilidad piensas que tiene la estadística en tu formación profesional? Mencionar ejemplos.

Sugerencia para el desarrollo de la actividad:Mentimeter

  1. Asignación 1.1.

    a) Qué estudia la Estadística?

    b) Preguntar a un maestro de carrera, ¿Cuál es la utilidad de la probabilidad y la estadística en tu carrera? Qué herramientas utiliza actualmente?

    c) Formato de entrega.

———————————————————————————–

Actividad 1.2. Descripción de los datos.


Duración: una sesión

2

Objetivo:

Describir un conjunto de datos utilizando los conocimientos previos del alumno con la finalidad de reflexionar acerca de los procedimientos aplicados.

Conceptos: tipos de variables, medidas de localización.


  1. Revisión de la Asignación 1.1.

  2. Responde lo que se solicita a continuación.

    a) ¿Cómo se puede describir un objeto o una persona?

    b) Describir al compañero más cercano y tu casa.

  3. Realiza una descripción de los datos con la información que se presenta a continuación:

    a) Una cadena de tiendas deportivas planea llevar a cabo un estudio sobre la cantidad de dinero que un esquiador principiante gasta en su compra inicial de equipo. A continuación se presenta una muestra del mes de diciembre del año pasado, la cual representa sus compras iniciales (dólares).

    82, 125, 149, 135,127, 90, 171, 162, 229, 121, 114, 149, 140, 126, 129,118, 140, 86, 139, 161, 175, 168, 212,105, 220, 126, 265, 235, 132, 172, 149


    b)Discutir de manera grupal las descripciones realizadas.

  4. Asignación 1.2.

    a) Realizar un cuadro cronológico de la lectura “Orígenes de la Estadística” que se encuentra en el material “Estadística Descriptiva” p.2. Formato de entrega.

    b) Investiga cuales son las medidas de localización y los tipos de distribución de los datos. Formato de entrega

———————————————————————————–

Actividad 1.3. Descripción de los datos utilizando medidas de localización.


Duración: una sesión

3

Objetivo:

Describir un conjunto de datos utilizando las medidas de localización con la finalidad de tener una idea de la posible distribución de los datos.

Conceptos: tipos de variables, medidas de localización, rango, datos.


  1. Realizar una descripción de los datos que se presentan a continuación:

    El conjunto de datos adjuntos consiste en observaciones de ventas diarias ($) realizadas en una pequeña empresa.

    5434, 4948, 4521, 4570, 4990, 5702, 5241,5112, 5015, 4659, 4806, 4637, 5670, 4381, 4820, 5043, 4886, 4599, 5288, 5299, 4848, 5378, 5260, 5055, 5828, 5218, 4859, 4780, 5027, 5008, 4609, 4772, 5133, 5095, 4618, 4848, 5089, 5518, 5333, 5164, 5342, 5069, 4755, 4925, 5001, 5621, 4918, 4974, 4592, 5207, 5173, 4568, 5245, 4723, 5555, 5388, 5049, 4493, 5309, 5640, 5069, 4803, 4951, 4740, 5138, 4786, 4173, 5296, 5653, 5078, 5248, 5275, 5419, 5498, 4681, 5582, 4308, 5227, 5188, 5764, 5679, 5256, 4500, 5461, 4931, 4965, 5170, 4900, 4968, 5205, 4452, 5364, 5076, 4774, 4823, 4417, 5273, 5042, 5189, 4986

    a) Introducción al uso del software.

    b) Hacer los cálculos para realizar la descripción (calcular mínimo, máximo, media, mediana, moda y rango).

    c) Con la información anterior realizar un bosquejo de la posible distribución de los datos.

  2. Asignación 1.3.

    Investigar los siguiente:

    • Características de un histograma.

    • Pasos para su construcción.

    • Ventajas y desventajas.

    • Realizar un ejemplo resuelto a mano.

    • Formato de entrega

———————————————————————————–

Actividad 1.4. Descripción de los datos utilizando un gráfico.


Duración: Una sesión

4

Objetivo:

Describir un conjunto de datos utilizando un gráfico con la finalidad de tener una idea de la posible distribución de los datos.

Conceptos: tipos de variables, medidas de localización, rango, datos, histograma.


  1. Revisión de la Asignación 1.3.

    a)Realizar una descripción de la gráfica realizada.

    b)Discutir de forma grupal sobre las características, pasos para su elaboración, ventajas y desventajas del histograma.

  2. Elaborar un ejemplo en clase con el uso de software y explicar una manera de describir la gráfica.

    Datos sobre compra inicia de equipo de esquiar (dólares):

    82, 125, 149, 135,127, 90, 171, 162, 229, 121, 114, 149, 140, 126, 129,118, 140, 86, 139, 161, 175, 168, 212,105, 220, 126, 265, 235, 132, 172, 149


    Sugerencia: “Notebook Estadística Descriptiva”.

    Instrucciones para trabajar desde la notebook:

    a) Crear una copia siguiendo la ruta < Archivo - Guardar una copia en drive>

    b) Una vez creada la copia se trabajará siempre con ella, por lo cual se debe guardar en un espacio de fácil acceso para no tener inconvenientes a la hora de utilizarla.



  3. Asignación 1.4.

    Investigar cuales son las medidas de dispersión y como se calculan.

    Formato de entrega.

———————————————————————————–

Actividad 1.5. Descripción de los datos utilizando un gráfico.


Duración: Una sesión

5

Objetivo:

Describir un conjunto de datos utilizando un gráfico con la finalidad de tener una idea de la posible distribución de los datos y obtener información porcentual.

Conceptos: tipos de variables, medidas de localización, rango, datos, histograma, porcentaje.


  1. A continuación se presenta un histograma de el conjunto de datos que consiste en observaciones de las ventas diarias de una pequeña empresa ($).



  1. Responde lo que se pide a continuación:

    a) Describir el histograma.

    b) Debatir sobre las descripciones de los estudiantes.

    c) Qué porcentaje de observaciones tienen una medida mayor que $5400?

    d) Qué porcentaje de observaciones tienen una medida menor o igual $4600?

    e) Qué porcentaje de observaciones son mayores que $4800 y menores o iguales que $5600?

  2. Asignación 1.5.

    • Carácteristicas del diagrama de caja y bigotes (Boxplot).

    • Pasos para su construcción.

    • Ventajas y desventajas.

    • Ejemplo resuelto.

    • Formato de entrega.

———————————————————————————–

Actividad 1.6. Descripción de los datos utilizando un gráfico y algunas medidas numéricas.


Duración: Una sesión

6

Objetivo:

Describir un conjunto de datos utilizando un gráfico con la finalidad de tener una idea de la posible distribución de los datos y variabilidad.

Conceptos: tipos de variables, medidas de dispersión, rango intercuartil, cuartiles, valores atípicos.


  1. Revisión de la Asignación 1.5.

    a) Describir el diagrama de caja y bigotes (boxplot).

    b) Debatir de manera grupal sobre las descripciones realizadas.

  2. Construir un diagrama de caja y bigotes utilizando software con los datos siguientes:

    El uso de tecnología a través de sus diferentes dispositivos se convertido en una herramienta indispensable en nuestros días, la utilidad es muy variada pues se puede mencionar su uso y necesidad en el sector empresarial, así como las necesidades personales mediante el empleo de teléfonos celulares. Los datos que se muestran a continuación indican el tiempo (horas) que pasan los jóvenes de 18 - 24 años de edad en redes sociales.

    4, 5, 8, 5, 4, 4, 10, 5, 2, 5, 3, 3, 4, 3, 5, 1, 5, 8, 7, 4, 4, 12, 4 , 2, 5, 2, 4, 3, 5, 12, 7, 1, 4, 5, 5, 1, 2, 4, 5, 1, 5, 4, 8, 3, 4, 3, 2, 2, 8, 6, 6, 3, 10, 8, 4, 10, 10, 10, 10, 5, 3, 5, 5, 7 6, 4, 6, 7, 3, 5, 7, 5, 8, 4, 6, 8, 8, 1, 5, 7, 5, 8, 8, 7, 7, 10, 4, 4, 3, 5, 4, 7, 3, 5, 7, 6, 7, 5, 7, 5, 5, 3, 2



    a) Existen datos atípicos? Qué porcentaje representa?

    b) En que rango de datos existe menos variación?

    c) En que rango de datos existe más variación?

    d) Cuál es la forma o distribución de los datos?

    e) Qué porcentaje de datos son menores que el valor mínimo?

    f) Qué porcentaje de datos son mayores que el cuartil 3?

    g) Dado la forma de los datos, ¿cómo es la media con respecto a la mediana?


———————————————————————————–

Actividad 1.7.Comparar la variación de los datos a través de un gráfico y las medidas de dispersión.


Duración: Una sesión

7

Objetivo:

Comparar un conjunto de datos utilizando un gráfico con la finalidad de tener una idea de la posible distribución de los datos y su variabilidad.

Conceptos: boxplot, datos atípicos, variación, cuartil.


  1. Gráfica los datos que se presentan a continuación:

    Un experimento informal fue realizado por la secundaría McNair Academic de Jersey City, Nueva Jersey, para investigar el uso de computadoras portátiles como herramienta de aprendizaje en el estudio del álgebra. Un grupo de 20 estudiantes de primer año recibió computadoras para usar en la escuela y en casa, al mismo tiempo a otro grupo de 27 no se les dieron laptops; no obstante muchos de éstos podían usarlas en casa. Las calificaciones del examen final para los dos grupos se muestran a continuación:

Laptop 98 88 100 68 90 84 57 81 84 57 97 100 78 47 94 93 84 83 93 83
No Laptop 63 86 78 83 81 29 97 84 64 93 99 74 52 91 72 74 49 89 83 80 67 63 81 89 88 89 70


  1. Responde lo siguiente:

    a) Qué conjunto de datos tiene más variación? justifica tu respuesta.

    b) Si observas la medida de tendencia central que se muestra en las graficas, ¿qué puedes decir, son iguales, diferentes? justfica tu respuesta.

    c) En qué intervalo hay menor variabilidad?

  2. Asignación 1.6.

    Investigar lo siguiente:

    • Características del diagrama de tallo y hojas.

    • Pasos para su construcción.

    • Ventajas y desventajas.

    • Realizar un ejemplo resuelto a mano.

    • Formato de entrega.

———————————————————————————–

Actividad 1.8. Descripción de los datos utilizando un gráfico.


Duración: Una sesión

8

Objetivo:

Describir un conjunto de datos utilizando un gráfico con la finalidad de tener una idea de su posible distribución además de obtener cierta información.

Conceptos: diagrama de tallo y hojas, media, mediana.


  1. Revisar la Asignación 1.7.

    a) Describir el diagrama de tallo y hojas.

    b) Debatir de manera grupal sobre las descripciones de los estudiantes.


  1. Construir un diagrama de tallo y hojas utilizando software con los siguientes datos:

    Una cadena de tiendas de ropa que tiene sucursales en todo Estados Unidos, hace poco la tienda realizó una promoción en la que envío cupones de descuento a todos sus clientes. Los datos que muestran a continuación representan los pagos (dólares) realizados por los clientes en un día de promoción.


    122.2, 124.2, 124.3, 125.6, 126.3, 126.5, 126.5, 127.2, 127.3, 127.5, 127.9, 128.6, 128.8, 129.0, 129.2, 129.4, 129.6, 130.2, 130.4, 130.8, 131.3, 131.4, 131.4, 131.5, 131.6, 131.6, 131.8, 131.8, 132.3, 132.4, 132.4, 132.5, 132.5, 132.5, 132.5, 132.6, 132.7, 132.9, 133.0, 133.1, 133.1, 133.1, 133.1, 133.2, 133.2, 133.2, 133.3, 133.3, 133.5, 133.5, 133.5, 133.8, 133.9, 134.0, 134.0, 134.0, 134.0, 134.1, 134.2, 134.3, 134.4, 134.4, 134.6, 134.7, 134.7, 134.7, 134.8, 134.8, 134.8, 134.9, 134.9, 135.2, 135.2, 135.2, 135.3, 135.3, 135.4, 135.5, 135.5, 135.6, 135.6, 135.7, 135.8, 135.8, 135.8, 135.8, 135.8, 135.9, 135.9, 135.9, 135.9, 136.0, 136.0, 136.1, 136.2, 136.2, 136.3, 136.4, 136.4, 136.6, 136.8, 136.9, 136.9, 137.0, 137.1, 137.2, 137.6, 137.6, 137.8, 137.8, 137.8, 137.9, 137.9, 138.2, 138.2, 138.3, 138.3, 138.4, 138.4, 138.4, 138.5, 138.5, 138.6, 138.7, 138.7, 139.0, 139.1, 139.5, 139.6, 139.8, 139.8, 140.0, 140.0, 140.7, 140.7, 140.9, 140.9, 141.2, 141.4, 141.5, 141.6, 142.9, 143.4, 143.5, 143.6, 143.8, 143.8, 143.9, 144.1, 144.5, 144.5, 147.7, 147.7


    a) Cuál es el valor de la venta realizada de acuerdo a los datos anteriores?

    b) Qué porcentaje de observaciones son mayores o iguales a 135.6 dólares?

    c) Cómo es la distribución de los datos?

    d) Dado la forma de los datos, ¿cómo es la media con respecto a la mediana?

    e) Qué porcentaje de observaciones está, entre 132.4 dólares y 138.6 dólares?

    f) Cuál es valor que es mayor o igual al 35% de las observaciones?

    g) Cuál es el valor que es menor que el 10% de las observaciones?

  2. Asignación 1.7

    Investigar lo siguiente:

    • ¿Cómo se calcula la media, la mediana y la moda para datos agrupados?

    • ¿Cómo se calcula la desviación estándar y la varianza para datos agrupados?

    • Realizar un ejemplo de cada medida.

    • Formato de entrega.

———————————————————————————–

Actividad 1.9. Estimación de medidas para datos agrupados.


Duración: Una sesión

9

Objetivo:

Estimar las medidas de tendencia central y medidas de dispersión para datos agrupados mediante una tabla de distribución de frecuencias con la intención de describirla.

Conceptos: tabla de distribución de frecuencias, medidas de tendencia central para datos agrupados, medidas de variación para datos agrupados.


  1. La siguiente tabla se realizó con \(n= 153\) observaciones de las compras realizadas en una pequeña empresa en un periodo de 30 minutos.
Intervalos LI LS fa fr
1 120 125 3 0.02
2 125 14 0.09
3 130 135 0.35
4 140 62 0.41
5 140 145 18
6 145 2 0.01


a) Completar la tabla anterior.

b) Calcular la media, mediana y moda para datos agrupados.

c) Calcular la desviación estándar y la varianza para datos agrupados.

d) Describir la tabla de datos.

e) Qué porcentaje de observaciones son mayores que 135?

f) Cuál es el valor mínimo? Cuál es el valor máximo?

g) Qué tanto crees que se acercan las medidas antes calculadas a las medidas reales, en el caso de tener los datos? justifica la respuesta.

———————————————————————————–

LS0tDQp0aXRsZTogIkVzdGFkw61zdGljYSBEZXNjcmlwdGl2YSINCmF1dGhvcjogIk1heXJhIERlbW9zcyINCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCINCm91dHB1dDoNCiAgaHRtbF9ub3RlYm9vazoNCiAgICB0b2M6IHllcw0KICAgIHRvY19mbG9hdDogeWVzDQogICAgaGlnaGxpZ2h0OiB6ZW5idXJuDQogICAgdGhlbWU6IGNlcnVsZWFuDQogIHBkZl9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KICBodG1sX2RvY3VtZW50Og0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgICBoaWdobGlnaHQ6IHplbmJ1cm4NCiAgICB0aGVtZTogY2VydWxlYW4NCiAgICBkZl9wcmludDogcGFnZWQNCiAgd29yZF9kb2N1bWVudDoNCiAgICB0b2M6IHllcw0KLS0tDQoNCjo6OiB7c3R5bGU9InRleHQtYWxpZ246IHJpZ2h0In0NCjxmb250IHN0eWxlPSJmb250LXNpemU6MTRwdCI+DQoNClsqKk1hdGVyaWFsIGRlIGFwb3lvKipdKGh0dHA6Ly9ycHVicy5jb20vTWF5cmFEZW1vc3MvOTM0MDg4KQ0KOjo6DQoNCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiMgQWN0aXZpZGFkIDEuMSBFbmN1YWRyZSBkZWwgY3Vyc28NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCjo6OiB7c3R5bGU9InRleHQtYWxpZ246IHJpZ2h0In0NCjxmb250IHN0eWxlPSJmb250LXNpemU6MTRwdCI+DQoNCioqRHVyYWNpw7NuOioqIHVuYSBzZXNpw7NuDQoNCjENCjo6Og0KDQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE4cHQiPg0KDQoqKk9iamV0aXZvOioqDQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MTZwdCI+DQoNCjxkaXYgY2xhc3M9dGV4dC1qdXN0aWZ5Pg0KDQo+ICpQcmVzZW50YXIgZWwgZW5jdWFkcmUgZGVsIGN1cnNvIHV0aWxpemFuZG8gdGVjbm9sb2fDrWEgcGFyYSBxdWUgbG9zIGFsdW1ub3MgY29ub3pjYSBsYSBwbGF0YWZvcm1hIHF1ZSBzZSB1dGlsaXphcsOhIHBhcmEgY29tcGFydGlyIGRvY3VtZW50b3MsIGxhcyByZWdsYXMgZGUgbGEgY2xhc2UgeSBjcml0ZXJpb3MgZGUgZXZhbHVhY2nDs24uKg0KPg0KPiAqKkNvbmNlcHRvOioqIGVzdGFkw61zdGljYQ0KDQo8YnI+DQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MTRwdCI+DQoNCjEuICAqKk9yZGVuIGRlIGxhIGNsYXNlOioqDQoNCiAgICBhXCkgUHJlc2VudGFjacOzbiBkZWwgY3Vyc28gKHByb2dyYW1hIGRlbCBjdXJzbywgcG9uZGVyYWNpb25lcyB5IGNyaXRlcmlvcyBkZSBldmFsdWFjacOzbiBwb3IgdW5pZGFkLg0KDQogICAgYlwpIFByZXNlbnRhY2nDs24gZGUgbGEgcGxhdGFmb3JtYSB5IHNvZnR3YXJlLg0KDQogICAgY1wpIFJlZ2xhcyBkZWwgY3Vyc28uDQoNCiAgICBkXCkgUHJlc2VudGFjacOzbiBwb3IgcGFydGUgZGUgbG9zIGVzdHVkaWFudGVzLiA8YnI+PGJyPg0KDQoyLiAgKipEaXNjdXRpciBkZSBtYW5lcmEgZ3J1cGFsIGxvIHNpZ3VpZW50ZToqKg0KDQogICAgYVwpIMK/UXXDqSBlcyBsYSBFc3RhZMOtc3RpY2E/DQoNCiAgICBiXCkgwr9RdcOpIHV0aWxpZGFkIHBpZW5zYXMgcXVlIHRpZW5lIGxhIGVzdGFkw61zdGljYSBlbiB0dSBmb3JtYWNpw7NuIHByb2Zlc2lvbmFsPyBNZW5jaW9uYXIgZWplbXBsb3MuDQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MTJwdCI+DQoNCjo6OiB7c3R5bGU9InRleHQtYWxpZ246IHJpZ2h0In0NClN1Z2VyZW5jaWEgcGFyYSBlbCBkZXNhcnJvbGxvIGRlIGxhIGFjdGl2aWRhZDpbTWVudGltZXRlcl0oaHR0cHM6Ly93d3cubWVudGkuY29tL2V0aWMxOTh5NTkpPGJyPjxicj4NCjo6Og0KDQo8L2ZvbnQ+DQoNCjMuICAqKipBc2lnbmFjacOzbiAxLjEuKioqDQoNCiAgICBhXCkgUXXDqSBlc3R1ZGlhIGxhIEVzdGFkw61zdGljYT8NCg0KICAgIGJcKSBQcmVndW50YXIgYSB1biBtYWVzdHJvIGRlIGNhcnJlcmEsIMK/Q3XDoWwgZXMgbGEgdXRpbGlkYWQgZGUgbGEgcHJvYmFiaWxpZGFkIHkgbGEgZXN0YWTDrXN0aWNhIGVuIHR1IGNhcnJlcmE/IFF1w6kgaGVycmFtaWVudGFzIHV0aWxpemEgYWN0dWFsbWVudGU/DQoNCiAgICBjXCkgWyoqRm9ybWF0byBkZSBlbnRyZWdhLioqXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFib295d3BUaHJjQTB6TEt3ZGVYbm1OaFdPMXZ6UkVaby9lZGl0P3VzcD1zaGFyaW5nJm91aWQ9MTE4MjY1MjUyOTI1Njk5NjM0MDU0JnJ0cG9mPXRydWUmc2Q9dHJ1ZSkNCg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyBBY3RpdmlkYWQgMS4yLiBEZXNjcmlwY2nDs24gZGUgbG9zIGRhdG9zLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KOjo6IHtzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQifQ0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNHB0Ij4NCg0KKipEdXJhY2nDs246KiogdW5hIHNlc2nDs24NCg0KMg0KOjo6DQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MThwdCI+DQoNCioqT2JqZXRpdm86KioNCg0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNnB0Ij4NCg0KPGRpdiBjbGFzcz10ZXh0LWp1c3RpZnk+DQoNCj4gKkRlc2NyaWJpciB1biBjb25qdW50byBkZSBkYXRvcyB1dGlsaXphbmRvIGxvcyBjb25vY2ltaWVudG9zIHByZXZpb3MgZGVsIGFsdW1ubyBjb24gbGEgZmluYWxpZGFkIGRlIHJlZmxleGlvbmFyIGFjZXJjYSBkZSBsb3MgcHJvY2VkaW1pZW50b3MgYXBsaWNhZG9zLioNCj4NCj4gKipDb25jZXB0b3M6KiogdGlwb3MgZGUgdmFyaWFibGVzLCBtZWRpZGFzIGRlIGxvY2FsaXphY2nDs24uDQoNCjxicj4NCg0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNHB0Ij4NCg0KPGRpdiBjbGFzcz10ZXh0LWp1c3RpZnk+DQoNCjEuICAqKlJldmlzacOzbiBkZSBsYSAqQXNpZ25hY2nDs24gMS4xLioqKiA8YnI+PGJyPg0KDQoyLiAgKipSZXNwb25kZSBsbyBxdWUgc2Ugc29saWNpdGEgYSBjb250aW51YWNpw7NuLioqIDxicj4NCg0KICAgIGFcKSDCv0PDs21vIHNlIHB1ZWRlIGRlc2NyaWJpciB1biBvYmpldG8gbyB1bmEgcGVyc29uYT8NCg0KICAgIGJcKSBEZXNjcmliaXIgYWwgY29tcGHDsWVybyBtw6FzIGNlcmNhbm8geSB0dSBjYXNhLiA8YnI+PGJyPg0KDQozLiAgKipSZWFsaXphIHVuYSBkZXNjcmlwY2nDs24gZGUgbG9zIGRhdG9zIGNvbiBsYSBpbmZvcm1hY2nDs24gcXVlIHNlIHByZXNlbnRhIGEgY29udGludWFjacOzbjoqKiA8YnI+DQoNCiAgICBhXCkgVW5hIGNhZGVuYSBkZSB0aWVuZGFzIGRlcG9ydGl2YXMgcGxhbmVhIGxsZXZhciBhIGNhYm8gdW4gZXN0dWRpbyBzb2JyZSBsYSBjYW50aWRhZCBkZSBkaW5lcm8gcXVlIHVuIGVzcXVpYWRvciBwcmluY2lwaWFudGUgZ2FzdGEgZW4gc3UgY29tcHJhIGluaWNpYWwgZGUgZXF1aXBvLiBBIGNvbnRpbnVhY2nDs24gc2UgcHJlc2VudGEgdW5hIG11ZXN0cmEgZGVsIG1lcyBkZSBkaWNpZW1icmUgZGVsIGHDsW8gcGFzYWRvLCBsYSBjdWFsIHJlcHJlc2VudGEgc3VzIGNvbXByYXMgaW5pY2lhbGVzIChkw7NsYXJlcykuIDxicj48YnI+DQoNCiAgICA4MiwgMTI1LCAxNDksIDEzNSwxMjcsIDkwLCAxNzEsIDE2MiwgMjI5LCAxMjEsIDExNCwgMTQ5LCAxNDAsIDEyNiwgMTI5LDExOCwgMTQwLCA4NiwgMTM5LCAxNjEsIDE3NSwgMTY4LCAyMTIsMTA1LCAyMjAsIDEyNiwgMjY1LCAyMzUsIDEzMiwgMTcyLCAxNDkNCg0KICAgIDxicj4NCg0KICAgIGIpRGlzY3V0aXIgZGUgbWFuZXJhIGdydXBhbCBsYXMgZGVzY3JpcGNpb25lcyByZWFsaXphZGFzLiA8YnI+PGJyPg0KDQo0LiAgKioqQXNpZ25hY2nDs24gMS4yLioqKg0KDQogICAgYVwpIFJlYWxpemFyIHVuIGN1YWRybyBjcm9ub2zDs2dpY28gZGUgbGEgbGVjdHVyYSAqIk9yw61nZW5lcyBkZSBsYSBFc3RhZMOtc3RpY2EiKiBxdWUgc2UgZW5jdWVudHJhIGVuIGVsIG1hdGVyaWFsIFsqKiJFc3RhZMOtc3RpY2EgRGVzY3JpcHRpdmEiKipdKGh0dHA6Ly9ycHVicy5jb20vTWF5cmFEZW1vc3MvOTM0MDg4KSBwLjIuIFsqKkZvcm1hdG8gZGUgZW50cmVnYS4qKl0oaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xclloOHJOMHJnekRacVNsTTlJbHoyQjdhS1dGQ2NoNGovZWRpdD91c3A9c2hhcmluZyZvdWlkPTExODI2NTI1MjkyNTY5OTYzNDA1NCZydHBvZj10cnVlJnNkPXRydWUpPGJyPg0KDQogICAgYlwpIEludmVzdGlnYSBjdWFsZXMgc29uIGxhcyBtZWRpZGFzIGRlIGxvY2FsaXphY2nDs24geSBsb3MgdGlwb3MgZGUgZGlzdHJpYnVjacOzbiBkZSBsb3MgZGF0b3MuIFsqKkZvcm1hdG8gZGUgZW50cmVnYSoqXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzExQUx0UnNJWEoyWURndk5RLTR1YVZWRVozZ0NKN0dXZC9lZGl0P3VzcD1zaGFyaW5nJm91aWQ9MTE4MjY1MjUyOTI1Njk5NjM0MDU0JnJ0cG9mPXRydWUmc2Q9dHJ1ZSkNCg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyBBY3RpdmlkYWQgMS4zLiBEZXNjcmlwY2nDs24gZGUgbG9zIGRhdG9zIHV0aWxpemFuZG8gbWVkaWRhcyBkZSBsb2NhbGl6YWNpw7NuLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KOjo6IHtzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQifQ0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNHB0Ij4NCg0KKipEdXJhY2nDs246KiogdW5hIHNlc2nDs24NCg0KMw0KOjo6DQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MThwdCI+DQoNCioqT2JqZXRpdm86KioNCg0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNnB0Ij4NCg0KPGRpdiBjbGFzcz10ZXh0LWp1c3RpZnk+DQoNCj4gKkRlc2NyaWJpciB1biBjb25qdW50byBkZSBkYXRvcyB1dGlsaXphbmRvIGxhcyBtZWRpZGFzIGRlIGxvY2FsaXphY2nDs24gY29uIGxhIGZpbmFsaWRhZCBkZSB0ZW5lciB1bmEgaWRlYSBkZSBsYSBwb3NpYmxlIGRpc3RyaWJ1Y2nDs24gZGUgbG9zIGRhdG9zLioNCj4NCj4gKipDb25jZXB0b3M6KiogdGlwb3MgZGUgdmFyaWFibGVzLCBtZWRpZGFzIGRlIGxvY2FsaXphY2nDs24sIHJhbmdvLCBkYXRvcy4NCg0KPGJyPg0KDQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE0cHQiPg0KDQo8ZGl2IGNsYXNzPXRleHQtanVzdGlmeT4NCg0KMS4gICoqUmVhbGl6YXIgdW5hIGRlc2NyaXBjacOzbiBkZSBsb3MgZGF0b3MgcXVlIHNlIHByZXNlbnRhbiBhIGNvbnRpbnVhY2nDs246Kio8YnI+DQoNCiAgICBFbCBjb25qdW50byBkZSBkYXRvcyBhZGp1bnRvcyBjb25zaXN0ZSBlbiBvYnNlcnZhY2lvbmVzIGRlIHZlbnRhcyBkaWFyaWFzIChcJCkgcmVhbGl6YWRhcyBlbiB1bmEgcGVxdWXDsWEgZW1wcmVzYS48YnI+DQoNCiAgICA1NDM0LCA0OTQ4LCA0NTIxLCA0NTcwLCA0OTkwLCA1NzAyLCA1MjQxLDUxMTIsIDUwMTUsIDQ2NTksIDQ4MDYsIDQ2MzcsIDU2NzAsIDQzODEsIDQ4MjAsIDUwNDMsIDQ4ODYsIDQ1OTksIDUyODgsIDUyOTksIDQ4NDgsIDUzNzgsIDUyNjAsIDUwNTUsIDU4MjgsIDUyMTgsIDQ4NTksIDQ3ODAsIDUwMjcsIDUwMDgsIDQ2MDksIDQ3NzIsIDUxMzMsIDUwOTUsIDQ2MTgsIDQ4NDgsIDUwODksIDU1MTgsIDUzMzMsIDUxNjQsIDUzNDIsIDUwNjksIDQ3NTUsIDQ5MjUsIDUwMDEsIDU2MjEsIDQ5MTgsIDQ5NzQsIDQ1OTIsIDUyMDcsIDUxNzMsIDQ1NjgsIDUyNDUsIDQ3MjMsIDU1NTUsIDUzODgsIDUwNDksIDQ0OTMsIDUzMDksIDU2NDAsIDUwNjksIDQ4MDMsIDQ5NTEsIDQ3NDAsIDUxMzgsIDQ3ODYsIDQxNzMsIDUyOTYsIDU2NTMsIDUwNzgsIDUyNDgsIDUyNzUsIDU0MTksIDU0OTgsIDQ2ODEsIDU1ODIsIDQzMDgsIDUyMjcsIDUxODgsIDU3NjQsIDU2NzksIDUyNTYsIDQ1MDAsIDU0NjEsIDQ5MzEsIDQ5NjUsIDUxNzAsIDQ5MDAsIDQ5NjgsIDUyMDUsIDQ0NTIsIDUzNjQsIDUwNzYsIDQ3NzQsIDQ4MjMsIDQ0MTcsIDUyNzMsIDUwNDIsIDUxODksIDQ5ODYgPGJyPjxicj4NCg0KICAgIGFcKSBJbnRyb2R1Y2Npw7NuIGFsIHVzbyBkZWwgc29mdHdhcmUuPGJyPg0KDQogICAgYlwpIEhhY2VyIGxvcyBjw6FsY3Vsb3MgcGFyYSByZWFsaXphciBsYSBkZXNjcmlwY2nDs24gKGNhbGN1bGFyIG3DrW5pbW8sIG3DoXhpbW8sIG1lZGlhLCBtZWRpYW5hLCBtb2RhIHkgcmFuZ28pLjxicj4NCg0KICAgIGNcKSBDb24gbGEgaW5mb3JtYWNpw7NuIGFudGVyaW9yIHJlYWxpemFyIHVuIGJvc3F1ZWpvIGRlIGxhIHBvc2libGUgZGlzdHJpYnVjacOzbiBkZSBsb3MgZGF0b3MuPGJyPjxicj4NCg0KMi4gICoqKkFzaWduYWNpw7NuIDEuMy4qKioNCg0KICAgIEludmVzdGlnYXIgbG9zIHNpZ3VpZW50ZToNCg0KICAgIC0gICBDYXJhY3RlcsOtc3RpY2FzIGRlIHVuIGhpc3RvZ3JhbWEuDQoNCiAgICAtICAgUGFzb3MgcGFyYSBzdSBjb25zdHJ1Y2Npw7NuLg0KDQogICAgLSAgIFZlbnRhamFzIHkgZGVzdmVudGFqYXMuDQoNCiAgICAtICAgUmVhbGl6YXIgdW4gZWplbXBsbyByZXN1ZWx0byBhIG1hbm8uDQoNCiAgICAtICAgWyoqRm9ybWF0byBkZSBlbnRyZWdhKipdKGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2RvY3VtZW50L2QvMWk4UXZsdmlvMmx5cW5yR2g4a3IwOGNERDlVaWNHWUNyL2VkaXQ/dXNwPXNoYXJpbmcmb3VpZD0xMTgyNjUyNTI5MjU2OTk2MzQwNTQmcnRwb2Y9dHJ1ZSZzZD10cnVlKQ0KDQojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIEFjdGl2aWRhZCAxLjQuIERlc2NyaXBjacOzbiBkZSBsb3MgZGF0b3MgdXRpbGl6YW5kbyB1biBncsOhZmljby4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCjo6OiB7c3R5bGU9InRleHQtYWxpZ246IHJpZ2h0In0NCjxmb250IHN0eWxlPSJmb250LXNpemU6MTRwdCI+DQoNCioqRHVyYWNpw7NuOioqIFVuYSBzZXNpw7NuDQoNCjQNCjo6Og0KDQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE4cHQiPg0KDQoqKk9iamV0aXZvOioqDQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MTZwdCI+DQoNCjxkaXYgY2xhc3M9dGV4dC1qdXN0aWZ5Pg0KDQo+ICpEZXNjcmliaXIgdW4gY29uanVudG8gZGUgZGF0b3MgdXRpbGl6YW5kbyB1biBncsOhZmljbyBjb24gbGEgZmluYWxpZGFkIGRlIHRlbmVyIHVuYSBpZGVhIGRlIGxhIHBvc2libGUgZGlzdHJpYnVjacOzbiBkZSBsb3MgZGF0b3MuKg0KPg0KPiAqKkNvbmNlcHRvczoqKiB0aXBvcyBkZSB2YXJpYWJsZXMsIG1lZGlkYXMgZGUgbG9jYWxpemFjacOzbiwgcmFuZ28sIGRhdG9zLCBoaXN0b2dyYW1hLg0KDQo8YnI+DQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MTRwdCI+DQoNCjxkaXYgY2xhc3M9dGV4dC1qdXN0aWZ5Pg0KDQoxLiAgKipSZXZpc2nDs24gZGUgbGEgKkFzaWduYWNpw7NuIDEuMy4qKioNCg0KICAgIGEpUmVhbGl6YXIgdW5hIGRlc2NyaXBjacOzbiBkZSBsYSBncsOhZmljYSByZWFsaXphZGEqLioNCg0KICAgIGIpRGlzY3V0aXIgZGUgZm9ybWEgZ3J1cGFsIHNvYnJlIGxhcyBjYXJhY3RlcsOtc3RpY2FzLCBwYXNvcyBwYXJhIHN1IGVsYWJvcmFjacOzbiwgdmVudGFqYXMgeSBkZXN2ZW50YWphcyBkZWwgaGlzdG9ncmFtYS4gPGJyPjxicj4NCg0KMi4gICoqRWxhYm9yYXIgdW4gZWplbXBsbyBlbiBjbGFzZSBjb24gZWwgdXNvIGRlIHNvZnR3YXJlIHkgZXhwbGljYXIgdW5hIG1hbmVyYSBkZSBkZXNjcmliaXIgbGEgZ3LDoWZpY2EuKioNCg0KICAgIERhdG9zIHNvYnJlIGNvbXByYSBpbmljaWEgZGUgZXF1aXBvIGRlIGVzcXVpYXIgKGTDs2xhcmVzKToNCg0KICAgIDgyLCAxMjUsIDE0OSwgMTM1LDEyNywgOTAsIDE3MSwgMTYyLCAyMjksIDEyMSwgMTE0LCAxNDksIDE0MCwgMTI2LCAxMjksMTE4LCAxNDAsIDg2LCAxMzksIDE2MSwgMTc1LCAxNjgsIDIxMiwxMDUsIDIyMCwgMTI2LCAyNjUsIDIzNSwgMTMyLCAxNzIsIDE0OQ0KDQogICAgPGJyPg0KDQogICAgKipTdWdlcmVuY2lhOioqIFsqKiJOb3RlYm9vayBFc3RhZMOtc3RpY2EgRGVzY3JpcHRpdmEiKipdKGh0dHBzOi8vY29sYWIucmVzZWFyY2guZ29vZ2xlLmNvbS9kcml2ZS8xUGJ3VUNSYXJndWZkUDN4cnZKMUdHQlQyaS1TY1lYMmc/dXNwPXNoYXJpbmcpKiouKioNCg0KICAgICoqSW5zdHJ1Y2Npb25lcyBwYXJhIHRyYWJhamFyIGRlc2RlIGxhIG5vdGVib29rOioqDQoNCiAgICBhXCkgQ3JlYXIgdW5hIGNvcGlhIHNpZ3VpZW5kbyBsYSBydXRhIFw8IEFyY2hpdm8gLSBHdWFyZGFyIHVuYSBjb3BpYSBlbiBkcml2ZT4NCg0KICAgIGJcKSBVbmEgdmV6IGNyZWFkYSBsYSBjb3BpYSBzZSB0cmFiYWphcsOhIHNpZW1wcmUgY29uIGVsbGEsIHBvciBsbyBjdWFsIHNlIGRlYmUgZ3VhcmRhciBlbiB1biBlc3BhY2lvIGRlIGbDoWNpbCBhY2Nlc28gcGFyYSBubyB0ZW5lciBpbmNvbnZlbmllbnRlcyBhIGxhIGhvcmEgZGUgdXRpbGl6YXJsYS48YnI+PGJyPg0KDQogICAgPGNlbnRlcj4NCg0KICAgICFbXShodHRwczovL2dpdGh1Yi5jb20vTWF5cmFEZW1vc3MxL0VzdGFkaXN0aWNhL2Jsb2IvbWFpbi9jb3BpYS5wbmc/cmF3PXRydWUpe3dpZHRoPSIyNTAifQ0KDQogICAgPC9jZW50ZXI+DQoNCiAgICA8YnI+PGJyPg0KDQozLiAgKioqQXNpZ25hY2nDs24gMS40LioqKg0KDQogICAgSW52ZXN0aWdhciBjdWFsZXMgc29uIGxhcyBtZWRpZGFzIGRlIGRpc3BlcnNpw7NuIHkgY29tbyBzZSBjYWxjdWxhbi4NCg0KICAgIFsqKkZvcm1hdG8gZGUgZW50cmVnYS4qKl0oaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xSGFteHZQVEVCRFBIMktHOTZwUmtqa0dWQWtwMml5VkwvZWRpdD91c3A9c2hhcmluZyZvdWlkPTExODI2NTI1MjkyNTY5OTYzNDA1NCZydHBvZj10cnVlJnNkPXRydWUpDQoNCiMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCiMgQWN0aXZpZGFkIDEuNS4gRGVzY3JpcGNpw7NuIGRlIGxvcyBkYXRvcyB1dGlsaXphbmRvIHVuIGdyw6FmaWNvLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KOjo6IHtzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQifQ0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNHB0Ij4NCg0KKipEdXJhY2nDs246KiogVW5hIHNlc2nDs24NCg0KNQ0KOjo6DQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MThwdCI+DQoNCioqT2JqZXRpdm86KioNCg0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNnB0Ij4NCg0KPGRpdiBjbGFzcz10ZXh0LWp1c3RpZnk+DQoNCj4gKkRlc2NyaWJpciB1biBjb25qdW50byBkZSBkYXRvcyB1dGlsaXphbmRvIHVuIGdyw6FmaWNvIGNvbiBsYSBmaW5hbGlkYWQgZGUgdGVuZXIgdW5hIGlkZWEgZGUgbGEgcG9zaWJsZSBkaXN0cmlidWNpw7NuIGRlIGxvcyBkYXRvcyB5IG9idGVuZXIgaW5mb3JtYWNpw7NuIHBvcmNlbnR1YWwuKg0KPg0KPiAqKkNvbmNlcHRvczoqKiB0aXBvcyBkZSB2YXJpYWJsZXMsIG1lZGlkYXMgZGUgbG9jYWxpemFjacOzbiwgcmFuZ28sIGRhdG9zLCBoaXN0b2dyYW1hLCBwb3JjZW50YWplLg0KDQo8YnI+DQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MTRwdCI+DQoNCjxkaXYgY2xhc3M9dGV4dC1qdXN0aWZ5Pg0KDQoxLiAgKipBIGNvbnRpbnVhY2nDs24gc2UgcHJlc2VudGEgdW4gaGlzdG9ncmFtYSBkZSBlbCBjb25qdW50byBkZSBkYXRvcyBxdWUgY29uc2lzdGUgZW4gb2JzZXJ2YWNpb25lcyBkZSBsYXMgdmVudGFzIGRpYXJpYXMgZGUgdW5hIHBlcXVlw7FhIGVtcHJlc2EgKFwkKS4qKiA8YnI+DQoNCmBgYHtyfQ0KVmVudGFzIDwtIGMoNTQzNCwgNDk0OCwgNDUyMSwgNDU3MCwgNDk5MCwgNTcwMiwgNTI0MSw1MTEyLCA1MDE1LCA0NjU5LCA0ODA2LCA0NjM3LCA1NjcwLCA0MzgxLCA0ODIwLCA1MDQzLCA0ODg2LCA0NTk5LCA1Mjg4LCA1Mjk5LCA0ODQ4LCA1Mzc4LCA1MjYwLCA1MDU1LCA1ODI4LCA1MjE4LCA0ODU5LCA0NzgwLCA1MDI3LCA1MDA4LCA0NjA5LCA0NzcyLCA1MTMzLCA1MDk1LCA0NjE4LCA0ODQ4LCA1MDg5LCA1NTE4LCA1MzMzLCA1MTY0LCA1MzQyLCA1MDY5LCA0NzU1LCA0OTI1LCA1MDAxLCA1NjIxLCA0OTE4LCA0OTc0LCA0NTkyLCA1MjA3LCA1MTczLCA0NTY4LCA1MjQ1LCA0NzIzLCA1NTU1LCA1Mzg4LCA1MDQ5LCA0NDkzLCA1MzA5LCA1NjQwLCA1MDY5LCA0ODAzLCA0OTUxLCA0NzQwLCA1MTM4LCA0Nzg2LCA0MTczLCA1Mjk2LCA1NjUzLCA1MDc4LCA1MjQ4LCA1Mjc1LCA1NDE5LCA1NDk4LCA0NjgxLCA1NTgyLCA0MzA4LCA1MjI3LCA1MTg4LCA1NzY0LCA1Njc5LCA1MjU2LCA0NTAwLCA1NDYxLCA0OTMxLCA0OTY1LCA1MTcwLCA0OTAwLCA0OTY4LCA1MjA1LCA0NDUyLCA1MzY0LCA1MDc2LCA0Nzc0LCA0ODIzLCA0NDE3LCA1MjczLCA1MDQyLCA1MTg5LCA0OTg2KQ0KDQpoaXN0KFZlbnRhcywgY29sID0gYygicm95YWxibHVlIikseWxpbSA9IGMoMCwyNSksbGFiZWxzID1UICkNCg0KYGBgDQoNCjxicj48YnI+DQoNCjIuICAqKlJlc3BvbmRlIGxvIHF1ZSBzZSBwaWRlIGEgY29udGludWFjacOzbjoqKiA8YnI+DQoNCiAgICBhXCkgRGVzY3JpYmlyIGVsIGhpc3RvZ3JhbWEuPGJyPg0KDQogICAgYlwpIERlYmF0aXIgc29icmUgbGFzIGRlc2NyaXBjaW9uZXMgZGUgbG9zIGVzdHVkaWFudGVzLjxicj4NCg0KICAgIGNcKSBRdcOpIHBvcmNlbnRhamUgZGUgb2JzZXJ2YWNpb25lcyB0aWVuZW4gdW5hIG1lZGlkYSBtYXlvciBxdWUgXCQ1NDAwPzxicj4NCg0KICAgIGRcKSBRdcOpIHBvcmNlbnRhamUgZGUgb2JzZXJ2YWNpb25lcyB0aWVuZW4gdW5hIG1lZGlkYSBtZW5vciBvIGlndWFsIFwkNDYwMD88YnI+DQoNCiAgICBlXCkgUXXDqSBwb3JjZW50YWplIGRlIG9ic2VydmFjaW9uZXMgc29uIG1heW9yZXMgcXVlIFwkNDgwMCB5IG1lbm9yZXMgbyBpZ3VhbGVzIHF1ZSBcJDU2MDA/PGJyPjxicj4NCg0KMy4gICoqKkFzaWduYWNpw7NuIDEuNS4qKio8YnI+DQoNCiAgICAtICAgQ2Fyw6FjdGVyaXN0aWNhcyBkZWwgZGlhZ3JhbWEgZGUgY2FqYSB5IGJpZ290ZXMgKEJveHBsb3QpLg0KDQogICAgLSAgIFBhc29zIHBhcmEgc3UgY29uc3RydWNjacOzbi4NCg0KICAgIC0gICBWZW50YWphcyB5IGRlc3ZlbnRhamFzLg0KDQogICAgLSAgIEVqZW1wbG8gcmVzdWVsdG8uDQoNCiAgICAtICAgWyoqRm9ybWF0byBkZSBlbnRyZWdhLioqXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzF1VUMxVWZzRm1YZ1pwVUFscmZBRGViRklPVG9fdnNrVC9lZGl0P3VzcD1zaGFyaW5nJm91aWQ9MTE4MjY1MjUyOTI1Njk5NjM0MDU0JnJ0cG9mPXRydWUmc2Q9dHJ1ZSkNCg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyBBY3RpdmlkYWQgMS42LiBEZXNjcmlwY2nDs24gZGUgbG9zIGRhdG9zIHV0aWxpemFuZG8gdW4gZ3LDoWZpY28geSBhbGd1bmFzIG1lZGlkYXMgbnVtw6lyaWNhcy4NCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCjo6OiB7c3R5bGU9InRleHQtYWxpZ246IHJpZ2h0In0NCjxmb250IHN0eWxlPSJmb250LXNpemU6MTRwdCI+DQoNCioqRHVyYWNpw7NuOioqIFVuYSBzZXNpw7NuDQoNCjYNCjo6Og0KDQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE4cHQiPg0KDQoqKk9iamV0aXZvOioqDQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MTZwdCI+DQoNCjxkaXYgY2xhc3M9dGV4dC1qdXN0aWZ5Pg0KDQo+ICpEZXNjcmliaXIgdW4gY29uanVudG8gZGUgZGF0b3MgdXRpbGl6YW5kbyB1biBncsOhZmljbyBjb24gbGEgZmluYWxpZGFkIGRlIHRlbmVyIHVuYSBpZGVhIGRlIGxhIHBvc2libGUgZGlzdHJpYnVjacOzbiBkZSBsb3MgZGF0b3MgeSB2YXJpYWJpbGlkYWQuKg0KPg0KPiAqKkNvbmNlcHRvczoqKiB0aXBvcyBkZSB2YXJpYWJsZXMsIG1lZGlkYXMgZGUgZGlzcGVyc2nDs24sIHJhbmdvIGludGVyY3VhcnRpbCwgY3VhcnRpbGVzLCB2YWxvcmVzIGF0w61waWNvcy4NCg0KPGJyPg0KDQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE0cHQiPg0KDQo8ZGl2IGNsYXNzPXRleHQtanVzdGlmeT4NCg0KMS4gICoqUmV2aXNpw7NuIGRlIGxhICpBc2lnbmFjacOzbiAxLjUuKioqPGJyPg0KDQogICAgYVwpIERlc2NyaWJpciBlbCBkaWFncmFtYSBkZSBjYWphIHkgYmlnb3RlcyAoYm94cGxvdCkuPGJyPg0KDQogICAgYlwpIERlYmF0aXIgZGUgbWFuZXJhIGdydXBhbCBzb2JyZSBsYXMgZGVzY3JpcGNpb25lcyByZWFsaXphZGFzLjxicj48YnI+DQoNCjIuICAqKkNvbnN0cnVpciB1biBkaWFncmFtYSBkZSBjYWphIHkgYmlnb3RlcyB1dGlsaXphbmRvIHNvZnR3YXJlIGNvbiBsb3MgZGF0b3Mgc2lndWllbnRlczoqKiA8YnI+DQoNCiAgICBFbCB1c28gZGUgdGVjbm9sb2fDrWEgYSB0cmF2w6lzIGRlIHN1cyBkaWZlcmVudGVzIGRpc3Bvc2l0aXZvcyBzZSBjb252ZXJ0aWRvIGVuIHVuYSBoZXJyYW1pZW50YSBpbmRpc3BlbnNhYmxlIGVuIG51ZXN0cm9zIGTDrWFzLCBsYSB1dGlsaWRhZCBlcyBtdXkgdmFyaWFkYSBwdWVzIHNlIHB1ZWRlIG1lbmNpb25hciBzdSB1c28geSBuZWNlc2lkYWQgZW4gZWwgc2VjdG9yIGVtcHJlc2FyaWFsLCBhc8OtIGNvbW8gbGFzIG5lY2VzaWRhZGVzIHBlcnNvbmFsZXMgbWVkaWFudGUgZWwgZW1wbGVvIGRlIHRlbMOpZm9ub3MgY2VsdWxhcmVzLiBMb3MgZGF0b3MgcXVlIHNlIG11ZXN0cmFuIGEgY29udGludWFjacOzbiBpbmRpY2FuIGVsIHRpZW1wbyAoaG9yYXMpIHF1ZSBwYXNhbiBsb3MgasOzdmVuZXMgZGUgMTggLSAyNCBhw7FvcyBkZSBlZGFkIGVuIHJlZGVzIHNvY2lhbGVzLjxicj4NCg0KICAgIDQsIDUsIDgsIDUsIDQsIDQsIDEwLCA1LCAyLCA1LCAzLCAzLCA0LCAzLCA1LCAxLCA1LCA4LCA3LCA0LCA0LCAxMiwgNCAsIDIsIDUsIDIsIDQsIDMsIDUsIDEyLCA3LCAxLCA0LCA1LCA1LCAxLCAyLCA0LCA1LCAxLCA1LCA0LCA4LCAzLCA0LCAzLCAyLCAyLCA4LCA2LCA2LCAzLCAxMCwgOCwgNCwgMTAsIDEwLCAxMCwgMTAsIDUsIDMsIDUsIDUsIDcgNiwgNCwgNiwgNywgMywgNSwgNywgNSwgOCwgNCwgNiwgOCwgOCwgMSwgNSwgNywgNSwgOCwgOCwgNywgNywgMTAsIDQsIDQsIDMsIDUsIDQsIDcsIDMsIDUsIDcsIDYsIDcsIDUsIDcsIDUsIDUsIDMsIDINCg0KICAgIDxicj48YnI+DQoNCiAgICBhXCkgRXhpc3RlbiBkYXRvcyBhdMOtcGljb3M/IFF1w6kgcG9yY2VudGFqZSByZXByZXNlbnRhPw0KDQogICAgYlwpIEVuIHF1ZSByYW5nbyBkZSBkYXRvcyBleGlzdGUgbWVub3MgdmFyaWFjacOzbj88YnI+DQoNCiAgICBjXCkgRW4gcXVlIHJhbmdvIGRlIGRhdG9zIGV4aXN0ZSBtw6FzIHZhcmlhY2nDs24/PGJyPg0KDQogICAgZFwpIEN1w6FsIGVzIGxhIGZvcm1hIG8gZGlzdHJpYnVjacOzbiBkZSBsb3MgZGF0b3M/PGJyPg0KDQogICAgZVwpIFF1w6kgcG9yY2VudGFqZSBkZSBkYXRvcyBzb24gbWVub3JlcyBxdWUgZWwgdmFsb3IgbcOtbmltbz88YnI+DQoNCiAgICBmXCkgUXXDqSBwb3JjZW50YWplIGRlIGRhdG9zIHNvbiBtYXlvcmVzIHF1ZSBlbCBjdWFydGlsIDM/PGJyPg0KDQogICAgZ1wpIERhZG8gbGEgZm9ybWEgZGUgbG9zIGRhdG9zLCDCv2PDs21vIGVzIGxhIG1lZGlhIGNvbiByZXNwZWN0byBhIGxhIG1lZGlhbmE/PGJyPg0KDQogICAgPGJyPg0KDQojIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQojIEFjdGl2aWRhZCAxLjcuQ29tcGFyYXIgbGEgdmFyaWFjacOzbiBkZSBsb3MgZGF0b3MgYSB0cmF2w6lzIGRlIHVuIGdyw6FmaWNvIHkgbGFzIG1lZGlkYXMgZGUgZGlzcGVyc2nDs24uDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQo6Ojoge3N0eWxlPSJ0ZXh0LWFsaWduOiByaWdodCJ9DQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE0cHQiPg0KDQoqKkR1cmFjacOzbjoqKiBVbmEgc2VzacOzbg0KDQo3DQo6OjoNCg0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxOHB0Ij4NCg0KKipPYmpldGl2bzoqKg0KDQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE2cHQiPg0KDQo8ZGl2IGNsYXNzPXRleHQtanVzdGlmeT4NCg0KPiAqQ29tcGFyYXIgdW4gY29uanVudG8gZGUgZGF0b3MgdXRpbGl6YW5kbyB1biBncsOhZmljbyBjb24gbGEgZmluYWxpZGFkIGRlIHRlbmVyIHVuYSBpZGVhIGRlIGxhIHBvc2libGUgZGlzdHJpYnVjacOzbiBkZSBsb3MgZGF0b3MgeSBzdSB2YXJpYWJpbGlkYWQuKg0KPg0KPiAqKkNvbmNlcHRvczoqKiBib3hwbG90LCBkYXRvcyBhdMOtcGljb3MsIHZhcmlhY2nDs24sIGN1YXJ0aWwuDQoNCjxicj4NCg0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNHB0Ij4NCg0KPGRpdiBjbGFzcz10ZXh0LWp1c3RpZnk+DQoNCjEuICAqKkdyw6FmaWNhIGxvcyBkYXRvcyBxdWUgc2UgcHJlc2VudGFuIGEgY29udGludWFjacOzbjoqKg0KDQogICAgVW4gZXhwZXJpbWVudG8gaW5mb3JtYWwgZnVlIHJlYWxpemFkbyBwb3IgbGEgc2VjdW5kYXLDrWEgTWNOYWlyIEFjYWRlbWljIGRlIEplcnNleSBDaXR5LCBOdWV2YSBKZXJzZXksIHBhcmEgaW52ZXN0aWdhciBlbCB1c28gZGUgY29tcHV0YWRvcmFzIHBvcnTDoXRpbGVzIGNvbW8gaGVycmFtaWVudGEgZGUgYXByZW5kaXphamUgZW4gZWwgZXN0dWRpbyBkZWwgw6FsZ2VicmEuIFVuIGdydXBvIGRlIDIwIGVzdHVkaWFudGVzIGRlIHByaW1lciBhw7FvIHJlY2liacOzIGNvbXB1dGFkb3JhcyBwYXJhIHVzYXIgZW4gbGEgZXNjdWVsYSB5IGVuIGNhc2EsIGFsIG1pc21vIHRpZW1wbyBhIG90cm8gZ3J1cG8gZGUgMjcgbm8gc2UgbGVzIGRpZXJvbiBsYXB0b3BzOyBubyBvYnN0YW50ZSBtdWNob3MgZGUgw6lzdG9zIHBvZMOtYW4gdXNhcmxhcyBlbiBjYXNhLiBMYXMgY2FsaWZpY2FjaW9uZXMgZGVsIGV4YW1lbiBmaW5hbCBwYXJhIGxvcyBkb3MgZ3J1cG9zIHNlIG11ZXN0cmFuIGEgY29udGludWFjacOzbjo8YnI+DQoNCnwgICAgICAgICAgICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8ICAgICB8DQp8LS0tLS0tLS0tLS0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfC0tLS0tfA0KfCAqKkxhcHRvcCoqICAgIHwgOTggIHwgODggIHwgMTAwIHwgNjggIHwgOTAgIHwgODQgIHwgNTcgIHwgODEgIHwgODQgIHwgNTcgIHwgOTcgIHwgMTAwIHwgNzggIHwgNDcgIHwgOTQgIHwgOTMgIHwgODQgIHwgODMgIHwgOTMgIHwgODMgIHwgICAgIHwgICAgIHwgICAgIHwgICAgIHwgICAgIHwgICAgIHwgICAgIHwNCnwgKipObyBMYXB0b3AqKiB8IDYzICB8IDg2ICB8IDc4ICB8IDgzICB8IDgxICB8IDI5ICB8IDk3ICB8IDg0ICB8IDY0ICB8IDkzICB8IDk5ICB8IDc0ICB8IDUyICB8IDkxICB8IDcyICB8IDc0ICB8IDQ5ICB8IDg5ICB8IDgzICB8IDgwICB8IDY3ICB8IDYzICB8IDgxICB8IDg5ICB8IDg4ICB8IDg5ICB8IDcwICB8DQoNCjxicj4NCg0KMi4gICoqUmVzcG9uZGUgbG8gc2lndWllbnRlOioqDQoNCiAgICBhXCkgUXXDqSBjb25qdW50byBkZSBkYXRvcyB0aWVuZSBtw6FzIHZhcmlhY2nDs24/IGp1c3RpZmljYSB0dSByZXNwdWVzdGEuPGJyPg0KDQogICAgYlwpIFNpIG9ic2VydmFzIGxhIG1lZGlkYSBkZSB0ZW5kZW5jaWEgY2VudHJhbCBxdWUgc2UgbXVlc3RyYSBlbiBsYXMgZ3JhZmljYXMsIMK/cXXDqSBwdWVkZXMgZGVjaXIsIHNvbiBpZ3VhbGVzLCBkaWZlcmVudGVzPyBqdXN0ZmljYSB0dSByZXNwdWVzdGEuPGJyPg0KDQogICAgY1wpIEVuIHF1w6kgaW50ZXJ2YWxvIGhheSBtZW5vciB2YXJpYWJpbGlkYWQ/PGJyPjxicj4NCg0KMy4gICoqKkFzaWduYWNpw7NuIDEuNi4qKioNCg0KICAgIEludmVzdGlnYXIgbG8gc2lndWllbnRlOg0KDQogICAgLSAgIENhcmFjdGVyw61zdGljYXMgZGVsIGRpYWdyYW1hIGRlIHRhbGxvIHkgaG9qYXMuDQoNCiAgICAtICAgUGFzb3MgcGFyYSBzdSBjb25zdHJ1Y2Npw7NuLg0KDQogICAgLSAgIFZlbnRhamFzIHkgZGVzdmVudGFqYXMuDQoNCiAgICAtICAgUmVhbGl6YXIgdW4gZWplbXBsbyByZXN1ZWx0byBhIG1hbm8uDQoNCiAgICAtICAgWyoqRm9ybWF0byBkZSBlbnRyZWdhLioqXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzFWRnEyd3V3OE9XT1AwMW1OR0p1Zk1RcjBXZ2NkbjRBUC9lZGl0P3VzcD1zaGFyaW5nJm91aWQ9MTE4MjY1MjUyOTI1Njk5NjM0MDU0JnJ0cG9mPXRydWUmc2Q9dHJ1ZSkNCg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyBBY3RpdmlkYWQgMS44LiBEZXNjcmlwY2nDs24gZGUgbG9zIGRhdG9zIHV0aWxpemFuZG8gdW4gZ3LDoWZpY28uDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQo6Ojoge3N0eWxlPSJ0ZXh0LWFsaWduOiByaWdodCJ9DQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE0cHQiPg0KDQoqKkR1cmFjacOzbjoqKiBVbmEgc2VzacOzbg0KDQo4DQo6OjoNCg0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxOHB0Ij4NCg0KKipPYmpldGl2bzoqKg0KDQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE2cHQiPg0KDQo8ZGl2IGNsYXNzPXRleHQtanVzdGlmeT4NCg0KPiAqRGVzY3JpYmlyIHVuIGNvbmp1bnRvIGRlIGRhdG9zIHV0aWxpemFuZG8gdW4gZ3LDoWZpY28gY29uIGxhIGZpbmFsaWRhZCBkZSB0ZW5lciB1bmEgaWRlYSBkZSBzdSBwb3NpYmxlIGRpc3RyaWJ1Y2nDs24gYWRlbcOhcyBkZSBvYnRlbmVyIGNpZXJ0YSBpbmZvcm1hY2nDs24uKg0KDQoqKkNvbmNlcHRvczoqKiBkaWFncmFtYSBkZSB0YWxsbyB5IGhvamFzLCBtZWRpYSwgbWVkaWFuYS4NCg0KPGJyPg0KDQo8Zm9udCBzdHlsZT0iZm9udC1zaXplOjE0cHQiPg0KDQo8ZGl2IGNsYXNzPXRleHQtanVzdGlmeT4NCg0KMS4gICoqUmV2aXNhciBsYSBBc2lnbmFjacOzbiAxLjcqKi48YnI+DQoNCiAgICBhXCkgRGVzY3JpYmlyIGVsIGRpYWdyYW1hIGRlIHRhbGxvIHkgaG9qYXMuDQoNCiAgICBiXCkgRGViYXRpciBkZSBtYW5lcmEgZ3J1cGFsIHNvYnJlIGxhcyBkZXNjcmlwY2lvbmVzIGRlIGxvcyBlc3R1ZGlhbnRlcy4NCg0KPGJyPg0KDQoyLiAgKipDb25zdHJ1aXIgdW4gZGlhZ3JhbWEgZGUgdGFsbG8geSBob2phcyB1dGlsaXphbmRvIHNvZnR3YXJlIGNvbiBsb3Mgc2lndWllbnRlcyBkYXRvczoqKjxicj4NCg0KICAgIFVuYSBjYWRlbmEgZGUgdGllbmRhcyBkZSByb3BhIHF1ZSB0aWVuZSBzdWN1cnNhbGVzIGVuIHRvZG8gRXN0YWRvcyBVbmlkb3MsIGhhY2UgcG9jbyBsYSB0aWVuZGEgcmVhbGl6w7MgdW5hIHByb21vY2nDs24gZW4gbGEgcXVlIGVudsOtbyBjdXBvbmVzIGRlIGRlc2N1ZW50byBhIHRvZG9zIHN1cyBjbGllbnRlcy4gTG9zIGRhdG9zIHF1ZSBtdWVzdHJhbiBhIGNvbnRpbnVhY2nDs24gcmVwcmVzZW50YW4gbG9zIHBhZ29zIChkw7NsYXJlcykgcmVhbGl6YWRvcyBwb3IgbG9zIGNsaWVudGVzIGVuIHVuIGTDrWEgZGUgcHJvbW9jacOzbi4NCg0KICAgIDxicj4NCg0KICAgIDEyMi4yLCAxMjQuMiwgMTI0LjMsIDEyNS42LCAxMjYuMywgMTI2LjUsIDEyNi41LCAxMjcuMiwgMTI3LjMsIDEyNy41LCAxMjcuOSwgMTI4LjYsIDEyOC44LCAxMjkuMCwgMTI5LjIsIDEyOS40LCAxMjkuNiwgMTMwLjIsIDEzMC40LCAxMzAuOCwgMTMxLjMsIDEzMS40LCAxMzEuNCwgMTMxLjUsIDEzMS42LCAxMzEuNiwgMTMxLjgsIDEzMS44LCAxMzIuMywgMTMyLjQsIDEzMi40LCAxMzIuNSwgMTMyLjUsIDEzMi41LCAxMzIuNSwgMTMyLjYsIDEzMi43LCAxMzIuOSwgMTMzLjAsIDEzMy4xLCAxMzMuMSwgMTMzLjEsIDEzMy4xLCAxMzMuMiwgMTMzLjIsIDEzMy4yLCAxMzMuMywgMTMzLjMsIDEzMy41LCAxMzMuNSwgMTMzLjUsIDEzMy44LCAxMzMuOSwgMTM0LjAsIDEzNC4wLCAxMzQuMCwgMTM0LjAsIDEzNC4xLCAxMzQuMiwgMTM0LjMsIDEzNC40LCAxMzQuNCwgMTM0LjYsIDEzNC43LCAxMzQuNywgMTM0LjcsIDEzNC44LCAxMzQuOCwgMTM0LjgsIDEzNC45LCAxMzQuOSwgMTM1LjIsIDEzNS4yLCAxMzUuMiwgMTM1LjMsIDEzNS4zLCAxMzUuNCwgMTM1LjUsIDEzNS41LCAxMzUuNiwgMTM1LjYsIDEzNS43LCAxMzUuOCwgMTM1LjgsIDEzNS44LCAxMzUuOCwgMTM1LjgsIDEzNS45LCAxMzUuOSwgMTM1LjksIDEzNS45LCAxMzYuMCwgMTM2LjAsIDEzNi4xLCAxMzYuMiwgMTM2LjIsIDEzNi4zLCAxMzYuNCwgMTM2LjQsIDEzNi42LCAxMzYuOCwgMTM2LjksIDEzNi45LCAxMzcuMCwgMTM3LjEsIDEzNy4yLCAxMzcuNiwgMTM3LjYsIDEzNy44LCAxMzcuOCwgMTM3LjgsIDEzNy45LCAxMzcuOSwgMTM4LjIsIDEzOC4yLCAxMzguMywgMTM4LjMsIDEzOC40LCAxMzguNCwgMTM4LjQsIDEzOC41LCAxMzguNSwgMTM4LjYsIDEzOC43LCAxMzguNywgMTM5LjAsIDEzOS4xLCAxMzkuNSwgMTM5LjYsIDEzOS44LCAxMzkuOCwgMTQwLjAsIDE0MC4wLCAxNDAuNywgMTQwLjcsIDE0MC45LCAxNDAuOSwgMTQxLjIsIDE0MS40LCAxNDEuNSwgMTQxLjYsIDE0Mi45LCAxNDMuNCwgMTQzLjUsIDE0My42LCAxNDMuOCwgMTQzLjgsIDE0My45LCAxNDQuMSwgMTQ0LjUsIDE0NC41LCAxNDcuNywgMTQ3LjcNCg0KICAgIDxicj4NCg0KICAgIGFcKSBDdcOhbCBlcyBlbCB2YWxvciBkZSBsYSB2ZW50YSByZWFsaXphZGEgZGUgYWN1ZXJkbyBhIGxvcyBkYXRvcyBhbnRlcmlvcmVzPzxicj4NCg0KICAgIGJcKSBRdcOpIHBvcmNlbnRhamUgZGUgb2JzZXJ2YWNpb25lcyBzb24gbWF5b3JlcyBvIGlndWFsZXMgYSAxMzUuNiBkw7NsYXJlcz88YnI+DQoNCiAgICBjXCkgQ8OzbW8gZXMgbGEgZGlzdHJpYnVjacOzbiBkZSBsb3MgZGF0b3M/PGJyPg0KDQogICAgZFwpIERhZG8gbGEgZm9ybWEgZGUgbG9zIGRhdG9zLCDCv2PDs21vIGVzIGxhIG1lZGlhIGNvbiByZXNwZWN0byBhIGxhIG1lZGlhbmE/PGJyPg0KDQogICAgZVwpIFF1w6kgcG9yY2VudGFqZSBkZSBvYnNlcnZhY2lvbmVzIGVzdMOhLCBlbnRyZSAxMzIuNCBkw7NsYXJlcyB5IDEzOC42IGTDs2xhcmVzPzxicj4NCg0KICAgIGZcKSBDdcOhbCBlcyB2YWxvciBxdWUgZXMgbWF5b3IgbyBpZ3VhbCBhbCAzNSUgZGUgbGFzIG9ic2VydmFjaW9uZXM/PGJyPg0KDQogICAgZ1wpIEN1w6FsIGVzIGVsIHZhbG9yIHF1ZSBlcyBtZW5vciBxdWUgZWwgMTAlIGRlIGxhcyBvYnNlcnZhY2lvbmVzPzxicj48YnI+DQoNCjMuICAqKipBc2lnbmFjacOzbiAxLjcqKioNCg0KICAgIEludmVzdGlnYXIgbG8gc2lndWllbnRlOg0KDQogICAgLSAgIMK/Q8OzbW8gc2UgY2FsY3VsYSBsYSBtZWRpYSwgbGEgbWVkaWFuYSB5IGxhIG1vZGEgcGFyYSBkYXRvcyBhZ3J1cGFkb3M/DQoNCiAgICAtICAgwr9Dw7NtbyBzZSBjYWxjdWxhIGxhIGRlc3ZpYWNpw7NuIGVzdMOhbmRhciB5IGxhIHZhcmlhbnphIHBhcmEgZGF0b3MgYWdydXBhZG9zPw0KDQogICAgLSAgIFJlYWxpemFyIHVuIGVqZW1wbG8gZGUgY2FkYSBtZWRpZGEuDQoNCiAgICAtICAgWyoqRm9ybWF0byBkZSBlbnRyZWdhLioqXShodHRwczovL2RvY3MuZ29vZ2xlLmNvbS9kb2N1bWVudC9kLzF2SjN2ejVSWXVxRHFfOWEtUWdPVFFlNll6MmRpM1BpbC9lZGl0P3VzcD1zaGFyaW5nJm91aWQ9MTE4MjY1MjUyOTI1Njk5NjM0MDU0JnJ0cG9mPXRydWUmc2Q9dHJ1ZSkNCg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KIyBBY3RpdmlkYWQgMS45LiBFc3RpbWFjacOzbiBkZSBtZWRpZGFzIHBhcmEgZGF0b3MgYWdydXBhZG9zLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KOjo6IHtzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQifQ0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNHB0Ij4NCg0KKipEdXJhY2nDs246KiogVW5hIHNlc2nDs24NCg0KOQ0KOjo6DQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MThwdCI+DQoNCioqT2JqZXRpdm86KioNCg0KPGZvbnQgc3R5bGU9ImZvbnQtc2l6ZToxNnB0Ij4NCg0KPGRpdiBjbGFzcz10ZXh0LWp1c3RpZnk+DQoNCj4gKkVzdGltYXIgbGFzIG1lZGlkYXMgZGUgdGVuZGVuY2lhIGNlbnRyYWwgeSBtZWRpZGFzIGRlIGRpc3BlcnNpw7NuIHBhcmEgZGF0b3MgYWdydXBhZG9zIG1lZGlhbnRlIHVuYSB0YWJsYSBkZSBkaXN0cmlidWNpw7NuIGRlIGZyZWN1ZW5jaWFzIGNvbiBsYSBpbnRlbmNpw7NuIGRlIGRlc2NyaWJpcmxhLioNCj4NCj4gKipDb25jZXB0b3M6KiogdGFibGEgZGUgZGlzdHJpYnVjacOzbiBkZSBmcmVjdWVuY2lhcywgbWVkaWRhcyBkZSB0ZW5kZW5jaWEgY2VudHJhbCBwYXJhIGRhdG9zIGFncnVwYWRvcywgbWVkaWRhcyBkZSB2YXJpYWNpw7NuIHBhcmEgZGF0b3MgYWdydXBhZG9zLg0KDQo8YnI+DQoNCjxmb250IHN0eWxlPSJmb250LXNpemU6MTRwdCI+DQoNCjxkaXYgY2xhc3M9dGV4dC1qdXN0aWZ5Pg0KDQoxLiAgKipMYSBzaWd1aWVudGUgdGFibGEgc2UgcmVhbGl6w7MgY29uKiogJG49IDE1MyQgKipvYnNlcnZhY2lvbmVzIGRlIGxhcyBjb21wcmFzIHJlYWxpemFkYXMgZW4gdW5hIHBlcXVlw7FhIGVtcHJlc2EgZW4gdW4gcGVyaW9kbyBkZSAzMCBtaW51dG9zLioqDQoNCjxjZW50ZXI+DQoNCnwgSW50ZXJ2YWxvcyB8IExJICB8IExTICB8IGZhICB8ICBmciAgfA0KfDotLS0tLS0tLS0tLXw6LS0tOnw6LS0tOnw6LS0tOnw6LS0tLTp8DQp8IDEgICAgICAgICAgfCAxMjAgfCAxMjUgfCAgMyAgfCAwLjAyIHwNCnwgMiAgICAgICAgICB8IDEyNSB8ICAgICB8IDE0ICB8IDAuMDkgfA0KfCAzICAgICAgICAgIHwgMTMwIHwgMTM1IHwgICAgIHwgMC4zNSB8DQp8IDQgICAgICAgICAgfCAgICAgfCAxNDAgfCA2MiAgfCAwLjQxIHwNCnwgNSAgICAgICAgICB8IDE0MCB8IDE0NSB8IDE4ICB8ICAgICAgfA0KfCA2ICAgICAgICAgIHwgMTQ1IHwgICAgIHwgIDIgIHwgMC4wMSB8DQoNCjwvY2VudGVyPg0KDQo8YnI+DQoNCmFcKSBDb21wbGV0YXIgbGEgdGFibGEgYW50ZXJpb3IuDQoNCmJcKSBDYWxjdWxhciBsYSBtZWRpYSwgbWVkaWFuYSB5IG1vZGEgcGFyYSBkYXRvcyBhZ3J1cGFkb3MuDQoNCmNcKSBDYWxjdWxhciBsYSBkZXN2aWFjacOzbiBlc3TDoW5kYXIgeSBsYSB2YXJpYW56YSBwYXJhIGRhdG9zIGFncnVwYWRvcy4NCg0KZFwpIERlc2NyaWJpciBsYSB0YWJsYSBkZSBkYXRvcy4NCg0KZVwpIFF1w6kgcG9yY2VudGFqZSBkZSBvYnNlcnZhY2lvbmVzIHNvbiBtYXlvcmVzIHF1ZSAxMzU/DQoNCmZcKSBDdcOhbCBlcyBlbCB2YWxvciBtw61uaW1vPyBDdcOhbCBlcyBlbCB2YWxvciBtw6F4aW1vPw0KDQpnXCkgUXXDqSB0YW50byBjcmVlcyBxdWUgc2UgYWNlcmNhbiBsYXMgbWVkaWRhcyBhbnRlcyBjYWxjdWxhZGFzIGEgbGFzIG1lZGlkYXMgcmVhbGVzLCBlbiBlbCBjYXNvIGRlIHRlbmVyIGxvcyBkYXRvcz8ganVzdGlmaWNhIGxhIHJlc3B1ZXN0YS4NCg0KIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg==