Introducción

La máquina de cafés de la escuela de informática falla con cierta regularidad. Unos estudiantes de doctorado de la misma escuela, cansados de malgastar monedas en la máquina, deciden poner fin a dicha situación escribiendo una reclamación a la empresa. Para escribir esa carta necesitan calcular cual es la probabilidad de fallo que tiene la máquina de café. O dicho de otra forma, cual sería la proporción de cafés derramados a la larga.

Para calcular esta proporción deciden poner la máquina a prueba: pedirán 100 cafés y anotarán el número de cafés que la máquina tira al suelo. Un total de 7 cafés derramados. En resumen, una propoción del \(7\%\). Sin embargo, no todos quedaron contentos con dicho resultado. Algunos decían que les parecía demasiado alto y sin embargo otros aseguraban que les parecía demasiado bajo. Cada uno, desde su experiencia personal con la máquina, había detectado inconscientemente una proporción de fallo ligeramente diferente. Mientras unos decían que un \(3\%\) sería la cifra más verosímil otros tantos aseguraban que lo más apropiado sería un \(11\%\).

¿Cómo se puede explicar ésto?¿Por qué la misma máquina había generado distintas impresiones en distintos compañeros?¿Representa ese \(7\%\) la verdadera tasa de fallos de la máquina o puede ser que la verdadera tasa de fallo es otro valor y hemos obtenido ese \(7\%\) solo por pura aleatoriedad?¿Como podríamos mejorar nuestra estimáción de la verdadera tasa de errores?

Modelando la máquina de cafés

Los cafés de Bernouilli

Dispuestos a salir de dudas, pensaron que sería apropiado realizar un estudio en profundidad. En primer lugar decidieron simplificar el funcionamiento de la máquina al máximo, estableciendo las siguientes hipótesis o suposiciones sobre el funcionamiento de la máquina.

  • La máquina tiene una probabilidad p de cometer un error al servir un café.
  • La probabilidad p de cometer un error permanece constante en el tiempo (al menos en el tiempo que llevaban haciendo el doctorado)
  • Cuando la máquina sirve un café bien o mal, no influye en la probabilidad de que el siguiente café esté bien o mal. Los cafés son independientes.

Es decir, el resultado de servir un café es un fenómeno aleatorio con probabilidad p de servirlo mal y probabilidad q = 1 - p de servirlo bien. Además esta probabilidad no cambia con el tiempo y además la probabiidad de cada café es totalmente independiente del anterior. Al resultado “servir mál el café” le asignaremos un “1” y “servir bien el café”" le asignaremos un “0”. Con lo cual, los posibles resultados del experimento vendrán soportados por el conjunto \(x = \left\{0,1\right\}\)

Al cumplirse las condiciones de independencia y estar idénticamente distribuiodas por la distribución que genera el parámetro p, podemos decir sin ningún tipo de dudas que se trata de un experimento de Bernouilli. Siendo \(X_i\) la variable aleatoria que representa el café número \(i\), podremos expresar todo lo que hemos dicho de esta forma:

\[prob\left(X_i = x_i \right) = p^{x_i}(1-p)^{1-x_i}\] No hemos dicho nada raro. Solo hemos condensado toda la información en una linea. Si \(x_i = 1\) entonces tendremos: \(prob\left(X_i = 1 \right) = p^1(1-p)^{1-1} = p\) y en caso contrario, si \(x_i = 0\) tendremos que \[prob\left(X_i = 0 \right) = p^0(1-p)^{1-0} = 1-p\]

Al pedir 100 cafés, hemos realizado el experimento de Bernouilli 100 veces, y esto se traduce en:

\[X = \left\{ X_1, X_2, X_3...X_{100}\right\} \; \forall X_i \sim Bern(p)\]

Cafés binomiales:

Dada una colección de cafés aleatorias de tamaño N, estamos interesados en el número de cafés mal servidos, esto es: \(Y = \sum_i^N{X_i}\). Como vemos \(Y\) es una nueva variable aleatoria y se soporta en un espacio completamente diferente al de \(X\). Si \(X \in \left\{ 0, 1\right\}\) ahora \(Y \in \left\{ 0, 1, 2, ..., N\right\}\). Ahora nos interesaría poder calcular la probabilidad de que \(Y = y\). Es decir, que la variable aleatoria \(Y\) resulte en el valor \(y\). (Nota: Permítanme abusar un poco de la notación.A veces me referiré a y o x como un resultado de la variable aleatoria, y a veces como al conjunto de todos los valores posibles.)

Probabilidad de una configuración de cafés en concreto

Nuestra colección de cafés están independientemente e idénticamente distribuidos, esto es \(X_i \sim Be(p)\). Con lo cual, podemos decir que la probabilidad de una configuración determinada se puede calcular simplemente multiplicando sus probabilidades. Supongamos que obtenemos esta configuración en las 5 primeras variables aleatorias: \(X_1 = 1, X_2 = 0, X_3 = 1, X_4 = 0, = X_3 = 0\). La probabilidad de esta configuración será \(prob\left\{X_1 = 1, X_2 = 0, X_3 = 1, X_4 = 0, X_5 = 0 \right\} = pqpqq = p^2*(1-p)^3\).

Como vemos, ambos exponentes están en función de nuestra nueva variable aleatoria \(Y\). Es decir: \(Y = \sum_{i =1}^{N = 5}x_i = 1 + 0 + 1 + 0 + 0 = 2\) y por oposición \(N-Y = \sum_{i =1}^{N = 5}x_i = 1 + 0 + 1 + 0 + 0 = 5-2 = 3\). Por otro lado, cuando tenemos una muestra de cafés, suele ser muy útil dejar el número de cafés derramados en función de la proporción de la propia muestra, y del tamaño de la muestra. Es decir: \(Y = \sum_{i =1}^{N = 5}x_i = 1 + 0 + 1 + 0 + 0 = 2 = \frac{2}{5}* 5\) generalizando \(Y = \frac{\sum_i^N{X_i}}{N}N = \bar{x}n\). Por ello podemos generalizar y decir que para una muestra de tamaño \(n\) tendremos que:

\[prob\left\{X_1 = x_1, X_2 = x_2, ..., X_n = x_n\right\} = \prod_{i = 1}^{n}prob(X_i = x_i) = p^{\sum_i^n{x_i}}(1 - p)^{n- \sum_i^n{x_i}} = p^{y}(1 - p)^{n - y}= p^{\bar{x}n}(1 - p)^{n - \bar{x}n}\]

Resumiendo y condensando:

\[prob\left\{X_1 = x_1, X_2 = x_2, ..., X_n = x_n\right\} = p^{y}(1 - p)^{n - y} = p^{\bar{x}n}(1 - p)^{n - \bar{x}n}\] ###Probabilidad de una configuración de cafés en concreto

Ahora bien, ¿cuál será la probabilidad de que de 100 cafés, se derramen 2, es decir \(Y = 2\)? Nos bastará con tener en cuenta a todas las configuraciones posibles tal que \(Y = 2\). Como la probabilidad de cada una de estas vendrá dado por \(p^2*(1-p)^3\), entonces la probabilidad de \(Y = 2\) se podrá expresar como:

\[prob\left\{Y = 2\right\} = C*p^2(1-p)^3\]

donde \(C\)es representa el número configuraciones posibles en las que habrían dos cafés en el suelo (por ejemplo los dos primeros cafés al suelo, y los 3 restantes bien servidos. El primero y el último al suelo. Los dos últimos al suelo, etc. etc.). Calcular esta \(C\) es más sencillo de lo que parece, pero nos extenderíamos demasiado si lo explicaramos. Se puede comprobar con facilidad que el número de combinaciones que generan \(Y = 2\) es:

\[C = \binom{5}{2} = \frac{5!}{2!(5-2)!} = 10\] Quedando : \[prob\left\{Y = 2\right\} = 10*p^2(1-p)^3\] Visto todo esto, podemos generalizar el fenómeno aleatorio que gobierna nuestra experimento sobre la máquina de cafés de la siguiente forma: \[prob\left\{Y = y\right\} = \binom{n}{y} p^{y}(1 - p)^{n - y}\]

Como vemos, esta expresión distribuye probabilidad sobre el soporte y y además, dado un valor y del cual queramos su probabilidad, ésta quedará absolutamente determinada por los valores n y p. Por ello se suele hablar de una Binomial de parámetros p y n. Dicho de otra forma:

\[Y \sim Binom(p, n) \] ## Problema inverso de la probabilidad: Dado un valor \(p\) y un valor \(N = n\), queda determinada la probabilidad de que \(Y = y\). ¿Pero que sucede con el problema inverso? Es decir, dado \(Y = y\) y \(N = n\) queda determinado \(p\)?

LS0tDQp0aXRsZTogIkxvcyBjYWbDqXMgYmlub21pYWxlcyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KYXV0aG9yOiBTZXJnaW8gTWFycmVybyANCi0tLQ0KDQoNCiMjIEludHJvZHVjY2nDs24NCkxhIG3DoXF1aW5hIGRlIGNhZsOpcyBkZSBsYSBlc2N1ZWxhIGRlIGluZm9ybcOhdGljYSBmYWxsYSBjb24gY2llcnRhIHJlZ3VsYXJpZGFkLiAgVW5vcyBlc3R1ZGlhbnRlcyBkZSBkb2N0b3JhZG8gZGUgbGEgbWlzbWEgZXNjdWVsYSwgY2Fuc2Fkb3MgZGUgbWFsZ2FzdGFyIG1vbmVkYXMgZW4gbGEgbcOhcXVpbmEsIGRlY2lkZW4gcG9uZXIgZmluIGEgZGljaGEgc2l0dWFjacOzbiBlc2NyaWJpZW5kbyB1bmEgcmVjbGFtYWNpw7NuIGEgbGEgZW1wcmVzYS4gUGFyYSBlc2NyaWJpciBlc2EgY2FydGEgbmVjZXNpdGFuIGNhbGN1bGFyIGN1YWwgZXMgbGEgcHJvYmFiaWxpZGFkIGRlIGZhbGxvIHF1ZSB0aWVuZSBsYSBtw6FxdWluYSBkZSBjYWbDqS4gTyBkaWNobyBkZSBvdHJhIGZvcm1hLCBjdWFsIHNlcsOtYSBsYSBwcm9wb3JjacOzbiBkZSBjYWbDqXMgZGVycmFtYWRvcyBhIGxhIGxhcmdhLg0KDQpQYXJhIGNhbGN1bGFyIGVzdGEgcHJvcG9yY2nDs24gZGVjaWRlbiBwb25lciBsYSBtw6FxdWluYSBhIHBydWViYTogcGVkaXLDoW4gMTAwIGNhZsOpcyB5IGFub3RhcsOhbiBlbCBuw7ptZXJvIGRlIGNhZsOpcyBxdWUgbGEgbcOhcXVpbmEgdGlyYSBhbCBzdWVsby4gVW4gdG90YWwgZGUgNyBjYWbDqXMgZGVycmFtYWRvcy4gRW4gcmVzdW1lbiwgdW5hIHByb3BvY2nDs24gZGVsICQ3XCUkLiBTaW4gZW1iYXJnbywgbm8gdG9kb3MgcXVlZGFyb24gY29udGVudG9zIGNvbiBkaWNobyByZXN1bHRhZG8uIEFsZ3Vub3MgZGVjw61hbiBxdWUgbGVzIHBhcmVjw61hIGRlbWFzaWFkbyBhbHRvIHkgc2luIGVtYmFyZ28gb3Ryb3MgYXNlZ3VyYWJhbiBxdWUgbGVzIHBhcmVjw61hIGRlbWFzaWFkbyBiYWpvLiBDYWRhIHVubywgZGVzZGUgc3UgZXhwZXJpZW5jaWEgcGVyc29uYWwgY29uIGxhIG3DoXF1aW5hLCBoYWLDrWEgZGV0ZWN0YWRvIGluY29uc2NpZW50ZW1lbnRlIHVuYSBwcm9wb3JjacOzbiBkZSBmYWxsbyBsaWdlcmFtZW50ZSBkaWZlcmVudGUuIE1pZW50cmFzIHVub3MgZGVjw61hbiBxdWUgdW4gJDNcJSQgc2Vyw61hIGxhIGNpZnJhICBtw6FzIHZlcm9zw61taWwgb3Ryb3MgdGFudG9zIGFzZWd1cmFiYW4gcXVlIGxvIG3DoXMgYXByb3BpYWRvIHNlcsOtYSB1biAkMTFcJSQuIA0KDQrCv0PDs21vIHNlIHB1ZWRlIGV4cGxpY2FyIMOpc3RvP8K/UG9yIHF1w6kgbGEgbWlzbWEgbcOhcXVpbmEgaGFiw61hIGdlbmVyYWRvIGRpc3RpbnRhcyBpbXByZXNpb25lcyBlbiBkaXN0aW50b3MgY29tcGHDsWVyb3M/wr9SZXByZXNlbnRhIGVzZSAkN1wlJCBsYSB2ZXJkYWRlcmEgdGFzYSBkZSBmYWxsb3MgZGUgbGEgbcOhcXVpbmEgbyBwdWVkZSBzZXIgcXVlIGxhIHZlcmRhZGVyYSB0YXNhIGRlIGZhbGxvIGVzIG90cm8gdmFsb3IgeSBoZW1vcyBvYnRlbmlkbyBlc2UgJDdcJSQgc29sbyBwb3IgcHVyYSBhbGVhdG9yaWVkYWQ/wr9Db21vIHBvZHLDrWFtb3MgbWVqb3JhciBudWVzdHJhIGVzdGltw6FjacOzbiBkZSBsYSAqKnZlcmRhZGVyYSB0YXNhIGRlIGVycm9yZXMqKj8NCg0KIyMgTW9kZWxhbmRvIGxhIG3DoXF1aW5hIGRlIGNhZsOpcw0KIyMjIExvcyBjYWbDqXMgZGUgQmVybm91aWxsaQ0KRGlzcHVlc3RvcyBhIHNhbGlyIGRlIGR1ZGFzLCBwZW5zYXJvbiBxdWUgc2Vyw61hIGFwcm9waWFkbyByZWFsaXphciB1biBlc3R1ZGlvIGVuIHByb2Z1bmRpZGFkLiBFbiBwcmltZXIgbHVnYXIgZGVjaWRpZXJvbiBzaW1wbGlmaWNhciBlbCBmdW5jaW9uYW1pZW50byBkZSBsYSBtw6FxdWluYSBhbCBtw6F4aW1vLCBlc3RhYmxlY2llbmRvIGxhcyBzaWd1aWVudGVzIGhpcMOzdGVzaXMgbyBzdXBvc2ljaW9uZXMgc29icmUgZWwgZnVuY2lvbmFtaWVudG8gZGUgbGEgbcOhcXVpbmEuIA0KDQotIExhIG3DoXF1aW5hIHRpZW5lIHVuYSBwcm9iYWJpbGlkYWQgKnAqIGRlIGNvbWV0ZXIgdW4gZXJyb3IgYWwgc2VydmlyIHVuIGNhZsOpLg0KLSBMYSBwcm9iYWJpbGlkYWQgKnAqIGRlIGNvbWV0ZXIgdW4gZXJyb3IgcGVybWFuZWNlIGNvbnN0YW50ZSBlbiBlbCB0aWVtcG8gKGFsIG1lbm9zIGVuIGVsIHRpZW1wbyBxdWUgbGxldmFiYW4gaGFjaWVuZG8gZWwgZG9jdG9yYWRvKSANCi0gQ3VhbmRvIGxhIG3DoXF1aW5hIHNpcnZlIHVuIGNhZsOpIGJpZW4gbyBtYWwsIG5vIGluZmx1eWUgZW4gbGEgcHJvYmFiaWxpZGFkIGRlIHF1ZSBlbCBzaWd1aWVudGUgY2Fmw6kgZXN0w6kgYmllbiBvIG1hbC4gTG9zIGNhZsOpcyBzb24gaW5kZXBlbmRpZW50ZXMuIA0KDQpFcyBkZWNpciwgZWwgcmVzdWx0YWRvIGRlIHNlcnZpciB1biBjYWbDqSBlcyB1biBmZW7Ds21lbm8gYWxlYXRvcmlvIGNvbiBwcm9iYWJpbGlkYWQgKipwKiogZGUgc2VydmlybG8gbWFsIHkgcHJvYmFiaWxpZGFkICoqcSA9IDEgLSBwKiogZGUgc2VydmlybG8gYmllbi4gQWRlbcOhcyBlc3RhIHByb2JhYmlsaWRhZCBubyBjYW1iaWEgY29uIGVsIHRpZW1wbyB5IGFkZW3DoXMgbGEgcHJvYmFiaWlkYWQgZGUgY2FkYSBjYWbDqSBlcyB0b3RhbG1lbnRlIGluZGVwZW5kaWVudGUgZGVsIGFudGVyaW9yLiBBbCByZXN1bHRhZG8gInNlcnZpciBtw6FsIGVsIGNhZsOpIiBsZSBhc2lnbmFyZW1vcyB1biAiMSIgeSAic2VydmlyIGJpZW4gZWwgY2Fmw6kiIiBsZSBhc2lnbmFyZW1vcyB1biAiMCIuIENvbiBsbyBjdWFsLCBsb3MgcG9zaWJsZXMgcmVzdWx0YWRvcyBkZWwgZXhwZXJpbWVudG8gdmVuZHLDoW4gc29wb3J0YWRvcyBwb3IgZWwgY29uanVudG8gJHggPSBcbGVmdFx7MCwxXHJpZ2h0XH0kIA0KDQpBbCBjdW1wbGlyc2UgbGFzIGNvbmRpY2lvbmVzIGRlIGluZGVwZW5kZW5jaWEgeSBlc3RhciBpZMOpbnRpY2FtZW50ZSBkaXN0cmlidWlvZGFzIHBvciBsYSBkaXN0cmlidWNpw7NuIHF1ZSBnZW5lcmEgZWwgcGFyw6FtZXRybyAqKnAqKiwgcG9kZW1vcyBkZWNpciBzaW4gbmluZ8O6biB0aXBvIGRlIGR1ZGFzIHF1ZSBzZSB0cmF0YSBkZSB1biBleHBlcmltZW50byBkZSBCZXJub3VpbGxpLiBTaWVuZG8gJFhfaSQgbGEgdmFyaWFibGUgYWxlYXRvcmlhIHF1ZSByZXByZXNlbnRhIGVsIGNhZsOpIG7Dum1lcm8gJGkkLCBwb2RyZW1vcyBleHByZXNhciB0b2RvIGxvIHF1ZSBoZW1vcyBkaWNobyBkZSBlc3RhIGZvcm1hOg0KDQokJHByb2JcbGVmdChYX2kgPSB4X2kgXHJpZ2h0KSA9IHBee3hfaX0oMS1wKV57MS14X2l9JCQNCk5vIGhlbW9zIGRpY2hvIG5hZGEgcmFyby4gU29sbyBoZW1vcyBjb25kZW5zYWRvIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGVuIHVuYSBsaW5lYS4gU2kgJHhfaSA9IDEkIGVudG9uY2VzIHRlbmRyZW1vczogJHByb2JcbGVmdChYX2kgPSAxIFxyaWdodCkgPSBwXjEoMS1wKV57MS0xfSA9IHAkIHkgZW4gY2FzbyBjb250cmFyaW8sIHNpICR4X2kgPSAwJCB0ZW5kcmVtb3MgcXVlICQkcHJvYlxsZWZ0KFhfaSA9IDAgXHJpZ2h0KSA9IHBeMCgxLXApXnsxLTB9ID0gMS1wJCQNCg0KQWwgcGVkaXIgMTAwIGNhZsOpcywgaGVtb3MgcmVhbGl6YWRvIGVsIGV4cGVyaW1lbnRvIGRlIEJlcm5vdWlsbGkgMTAwIHZlY2VzLCB5IGVzdG8gc2UgdHJhZHVjZSBlbjoNCg0KJCRYID0gXGxlZnRceyBYXzEsIFhfMiwgWF8zLi4uWF97MTAwfVxyaWdodFx9IFw7IFxmb3JhbGwgWF9pIFxzaW0gQmVybihwKSQkDQoNCiMjIENhZsOpcyBiaW5vbWlhbGVzOg0KDQpEYWRhIHVuYSBjb2xlY2Npw7NuIGRlIGNhZsOpcyBhbGVhdG9yaWFzIGRlIHRhbWHDsW8gTiwgZXN0YW1vcyBpbnRlcmVzYWRvcyBlbiBlbCBuw7ptZXJvIGRlIGNhZsOpcyBtYWwgc2Vydmlkb3MsIGVzdG8gZXM6ICRZID0gXHN1bV9pXk57WF9pfSQuIA0KQ29tbyB2ZW1vcyAkWSQgZXMgdW5hIG51ZXZhIHZhcmlhYmxlIGFsZWF0b3JpYSB5IHNlIHNvcG9ydGEgZW4gdW4gZXNwYWNpbyBjb21wbGV0YW1lbnRlIGRpZmVyZW50ZSBhbCBkZSAkWCQuIFNpICRYIFxpbiBcbGVmdFx7IDAsIDFccmlnaHRcfSQgYWhvcmEgJFkgXGluIFxsZWZ0XHsgMCwgMSwgMiwgLi4uLCBOXHJpZ2h0XH0kLiBBaG9yYSBub3MgaW50ZXJlc2Fyw61hIHBvZGVyIGNhbGN1bGFyIGxhIHByb2JhYmlsaWRhZCBkZSBxdWUgJFkgPSB5JC4gRXMgZGVjaXIsIHF1ZSBsYSB2YXJpYWJsZSBhbGVhdG9yaWEgJFkkIHJlc3VsdGUgZW4gZWwgdmFsb3IgJHkkLiAqKE5vdGE6IFBlcm3DrXRhbm1lIGFidXNhciB1biBwb2NvIGRlIGxhIG5vdGFjacOzbi5BIHZlY2VzIG1lIHJlZmVyaXLDqSBhICoqeSoqIG8gKip4KiogY29tbyB1biByZXN1bHRhZG8gZGUgbGEgdmFyaWFibGUgYWxlYXRvcmlhLCB5IGEgdmVjZXMgY29tbyBhbCBjb25qdW50byBkZSB0b2RvcyBsb3MgdmFsb3JlcyBwb3NpYmxlcy4pKg0KDQojIyMgUHJvYmFiaWxpZGFkIGRlIHVuYSBjb25maWd1cmFjacOzbiBkZSBjYWbDqXMgZW4gY29uY3JldG8NCk51ZXN0cmEgY29sZWNjacOzbiBkZSBjYWbDqXMgZXN0w6FuIGluZGVwZW5kaWVudGVtZW50ZSBlICBpZMOpbnRpY2FtZW50ZSBkaXN0cmlidWlkb3MsIGVzdG8gZXMgJFhfaSBcc2ltIEJlKHApJC4gQ29uIGxvIGN1YWwsICBwb2RlbW9zIGRlY2lyIHF1ZSBsYSBwcm9iYWJpbGlkYWQgZGUgdW5hIGNvbmZpZ3VyYWNpw7NuIGRldGVybWluYWRhIHNlIHB1ZWRlIGNhbGN1bGFyIHNpbXBsZW1lbnRlIG11bHRpcGxpY2FuZG8gc3VzIHByb2JhYmlsaWRhZGVzLiBTdXBvbmdhbW9zIHF1ZSBvYnRlbmVtb3MgZXN0YSBjb25maWd1cmFjacOzbiBlbiBsYXMgNSBwcmltZXJhcyB2YXJpYWJsZXMgYWxlYXRvcmlhczogJFhfMSA9IDEsIFhfMiA9IDAsIFhfMyA9IDEsIFhfNCA9IDAsID0gWF8zID0gMCQuIExhIHByb2JhYmlsaWRhZCBkZSBlc3RhIGNvbmZpZ3VyYWNpw7NuIHNlcsOhICRwcm9iXGxlZnRce1hfMSA9IDEsIFhfMiA9IDAsIFhfMyA9IDEsIFhfNCA9IDAsIFhfNSA9IDAgXHJpZ2h0XH0gPSBwcXBxcSA9IHBeMiooMS1wKV4zJC4NCg0KQ29tbyB2ZW1vcywgYW1ib3MgZXhwb25lbnRlcyAgZXN0w6FuIGVuIGZ1bmNpw7NuIGRlIG51ZXN0cmEgbnVldmEgdmFyaWFibGUgYWxlYXRvcmlhICRZJC4gRXMgZGVjaXI6ICAkWSA9IFxzdW1fe2kgPTF9XntOID0gNX14X2kgPSAxICsgMCArIDEgKyAwICsgMCA9IDIkIHkgcG9yIG9wb3NpY2nDs24gJE4tWSA9IFxzdW1fe2kgPTF9XntOID0gNX14X2kgPSAxICsgMCArIDEgKyAwICsgMCA9IDUtMiA9IDMkLiBQb3Igb3RybyBsYWRvLCBjdWFuZG8gdGVuZW1vcyB1bmEgbXVlc3RyYSBkZSBjYWbDqXMsIHN1ZWxlIHNlciBtdXkgw7p0aWwgZGVqYXIgZWwgbsO6bWVybyBkZSBjYWbDqXMgZGVycmFtYWRvcyBlbiBmdW5jacOzbiBkZSBsYSBwcm9wb3JjacOzbiBkZSBsYSBwcm9waWEgbXVlc3RyYSwgeSBkZWwgdGFtYcOxbyBkZSBsYSBtdWVzdHJhLiBFcyBkZWNpcjogJFkgPSBcc3VtX3tpID0xfV57TiA9IDV9eF9pID0gMSArIDAgKyAxICsgMCArIDAgPSAyID0gXGZyYWN7Mn17NX0qIDUkIGdlbmVyYWxpemFuZG8gJFkgPSBcZnJhY3tcc3VtX2leTntYX2l9fXtOfU4gPSBcYmFye3h9biQuIFBvciBlbGxvIHBvZGVtb3MgZ2VuZXJhbGl6YXIgeSBkZWNpciBxdWUgcGFyYSB1bmEgbXVlc3RyYSBkZSB0YW1hw7FvICRuJCB0ZW5kcmVtb3MgcXVlOg0KDQokJHByb2JcbGVmdFx7WF8xID0geF8xLCBYXzIgPSB4XzIsIC4uLiwgWF9uID0geF9uXHJpZ2h0XH0gPSBccHJvZF97aSA9IDF9XntufXByb2IoWF9pID0geF9pKSA9IHBee1xzdW1faV5ue3hfaX19KDEgLSBwKV57bi0gXHN1bV9pXm57eF9pfX0gPSBwXnt5fSgxIC0gcClee24gLSB5fT0gcF57XGJhcnt4fW59KDEgLSBwKV57biAtIFxiYXJ7eH1ufSQkDQoNCg0KUmVzdW1pZW5kbyB5IGNvbmRlbnNhbmRvOiANCg0KJCRwcm9iXGxlZnRce1hfMSA9IHhfMSwgWF8yID0geF8yLCAuLi4sIFhfbiA9IHhfblxyaWdodFx9ID0gcF57eX0oMSAtIHApXntuIC0geX0gPSBwXntcYmFye3h9bn0oMSAtIHApXntuIC0gXGJhcnt4fW59JCQNCiMjI1Byb2JhYmlsaWRhZCBkZSB1bmEgY29uZmlndXJhY2nDs24gZGUgY2Fmw6lzIGVuIGNvbmNyZXRvDQoNCkFob3JhIGJpZW4sIMK/Y3XDoWwgc2Vyw6EgbGEgcHJvYmFiaWxpZGFkIGRlIHF1ZSBkZSAxMDAgY2Fmw6lzLCBzZSBkZXJyYW1lbiAyLCBlcyBkZWNpciAkWSA9IDIkPyBOb3MgYmFzdGFyw6EgY29uIHRlbmVyIGVuIGN1ZW50YSBhIHRvZGFzIGxhcyBjb25maWd1cmFjaW9uZXMgcG9zaWJsZXMgdGFsIHF1ZSAkWSA9IDIkLiBDb21vIGxhIHByb2JhYmlsaWRhZCBkZSBjYWRhIHVuYSBkZSBlc3RhcyB2ZW5kcsOhIGRhZG8gcG9yICRwXjIqKDEtcCleMyQsIGVudG9uY2VzIGxhIHByb2JhYmlsaWRhZCBkZSAkWSA9IDIkIHNlIHBvZHLDoSBleHByZXNhciBjb21vOg0KDQokJHByb2JcbGVmdFx7WSA9IDJccmlnaHRcfSA9IEMqcF4yKDEtcCleMyQkIA0KDQpkb25kZSAkQyRlcyByZXByZXNlbnRhIGVsIG7Dum1lcm8gY29uZmlndXJhY2lvbmVzIHBvc2libGVzIGVuIGxhcyBxdWUgaGFicsOtYW4gZG9zIGNhZsOpcyBlbiBlbCBzdWVsbyAoKnBvciBlamVtcGxvIGxvcyBkb3MgcHJpbWVyb3MgY2Fmw6lzIGFsIHN1ZWxvLCB5IGxvcyAzIHJlc3RhbnRlcyBiaWVuIHNlcnZpZG9zLiBFbCBwcmltZXJvIHkgZWwgw7psdGltbyBhbCBzdWVsby4gTG9zIGRvcyDDumx0aW1vcyBhbCBzdWVsbywgZXRjLiBldGMuKSouIENhbGN1bGFyIGVzdGEgJEMkIGVzIG3DoXMgc2VuY2lsbG8gZGUgbG8gcXVlIHBhcmVjZSwgcGVybyBub3MgZXh0ZW5kZXLDrWFtb3MgZGVtYXNpYWRvIHNpIGxvIGV4cGxpY2FyYW1vcy4gU2UgcHVlZGUgY29tcHJvYmFyIGNvbiBmYWNpbGlkYWQgcXVlIGVsIG7Dum1lcm8gZGUgY29tYmluYWNpb25lcyBxdWUgZ2VuZXJhbiAkWSA9IDIkIGVzOg0KDQokJEMgPSBcYmlub217NX17Mn0gPSBcZnJhY3s1IX17MiEoNS0yKSF9ID0gMTAkJA0KUXVlZGFuZG8gOiAgJCRwcm9iXGxlZnRce1kgPSAyXHJpZ2h0XH0gPSAxMCpwXjIoMS1wKV4zJCQNClZpc3RvIHRvZG8gZXN0bywgcG9kZW1vcyBnZW5lcmFsaXphciBlbCBmZW7Ds21lbm8gYWxlYXRvcmlvIHF1ZSBnb2JpZXJuYSBudWVzdHJhIGV4cGVyaW1lbnRvIHNvYnJlIGxhIG3DoXF1aW5hIGRlIGNhZsOpcyBkZSBsYSBzaWd1aWVudGUgZm9ybWE6DQokJHByb2JcbGVmdFx7WSA9IHlccmlnaHRcfSA9IFxiaW5vbXtufXt5fSBwXnt5fSgxIC0gcClee24gLSB5fSQkDQoNCkNvbW8gdmVtb3MsIGVzdGEgZXhwcmVzacOzbiAqKmRpc3RyaWJ1eWUgcHJvYmFiaWxpZGFkIHNvYnJlIGVsIHNvcG9ydGUgeSoqIHkgYWRlbcOhcywgZGFkbyB1biB2YWxvciAqKnkqKiBkZWwgY3VhbCBxdWVyYW1vcyBzdSBwcm9iYWJpbGlkYWQsIMOpc3RhIHF1ZWRhcsOhIGFic29sdXRhbWVudGUgZGV0ZXJtaW5hZGEgcG9yIGxvcyB2YWxvcmVzICoqbioqIHkgKipwKiouIFBvciBlbGxvIHNlIHN1ZWxlIGhhYmxhciBkZSB1bmEgKkJpbm9taWFsKiBkZSBwYXLDoW1ldHJvcyAqKnAqKiB5ICoqbioqLiBEaWNobyBkZSBvdHJhIGZvcm1hOg0KDQokJFkgXHNpbSBCaW5vbShwLCBuKSAkJA0KIyMgUHJvYmxlbWEgaW52ZXJzbyBkZSBsYSBwcm9iYWJpbGlkYWQ6DQpEYWRvIHVuIHZhbG9yICRwJCB5IHVuIHZhbG9yICROID0gbiQsIHF1ZWRhIGRldGVybWluYWRhIGxhIHByb2JhYmlsaWRhZCBkZSBxdWUgICRZID0geSQuIMK/UGVybyBxdWUgc3VjZWRlIGNvbiBlbCBwcm9ibGVtYSBpbnZlcnNvPyBFcyBkZWNpciwgZGFkbyAkWSA9IHkkIHkgJE4gPSBuJCBxdWVkYSBkZXRlcm1pbmFkbyAkcCQ/DQoNCg0KDQo=