Tag Archive | "12m15m"

Organitzem el 12M15M 2013


15M2013-9març El passat dissabte 23 de febrer es van reanudar les trobades al parc de la Ciutadella per pensar i coordinar les accions i manifestacions del proper 12M15M 2013.

 

Es va acordar tornar a fer una gran manifestació el 12M i accions descentralitzades dels colectius i assemblees durant els dies 13 i 14 de maig. Les acciones del dia 15 encara están per definir.

 

S’ha convocat la propera assemblea 12M15M el dia 9 de març a plaça Catalunya a les 11h, fent coincidir l’assemblea amb la convocatòria de Comissió Cuina, per afavorir la participació.

Acta de l’assemblea del GT 12M15M del 23 de febrer de 2013:

OBJETIVOS

  • poner en marcha un proceso destituyente-constituyente
  • recuperar los ejes de trabajo que salieron el año pasado
  • partir de donde lo dejamos el año pasado, en la plaza estaban los colectivos pero faltó debate político, por ejemplo sobre qué hacemos después
  • pensar que somos el 99% es un analisis incorrecto de la realidad.
  • lo del 99% es lenguaje simbólico que genera imaginario colectivo y tambien es importante.
  • no hay que abandonar el debate porque la construcción de alternativas que va detrás de la acción es muy importante y aun no está debatida y porque en temas concretos el crear debate es en si mismo la construccion de una alternativa.
  • la realidad provoca desesperación pero no acción, la gente está en shock pero no reacciona.
  • proponer a la PAH una ocupación masiva, la iniciativa tiene que ser de la PAH.
  • nosotros tenemos que generar dinámicas para que los colectivos hagan acciones y el resto las apoye.
  • hacer algo con repercusión real.
  • trabajar sobre cosas que salieron el año pasado en el forum dels pobles: apoyo mutuo, internacionalización de las luchas, combatir los poderes financieros, etc
  • poner objetivos definidos para una fecha concreta, no pensar que son los objetivos de todo el movimiento, sino solo de una convocatoria: por ejemlo despertar conciencia, combatir el estado de shock, dar ánimos a la gente desesperada, etc
  • sí que hay conciencia política pero hay que dar una vía a la gente para que se desbloqueen.
  • generar dinámicas de debate
  • trabajar en simultáneo reforma y ruptura como conceptos complementarios y no opuestos.
  • saber que estás opimido no te libera de la opresión, es necesario colocarse en otro lugar, situar a la gente en un punto que permita percibirse a sí misma con poder para cambiar, con posibilidad de otra realidad.
  • hacer una revolución integral es muy dificil pero si cada uno suma desde su ambito, entre todas se hace integral
  • lección de la PAH, se han empoderado y han llamado criminales a la cara a los culpables. tenemos que demostrar que nosotros tenemos el poder. estamos en situación pre-revolucionaria.
  • la PAH también habla de genocidio financiero.
  • la gente no quiere ver que está esclavizada, lo apartan de su mente porque saberlo es insoportable. hay que hacer que lo vean y lo asuman, que se quiten ese velo.
  • buscar alternativas éticas basadas en los DDHH más allá de ideologías. plantear una búsqueda de alternativas, nada jode mas al gobierno que la auto-organización y estar fuera del sistema.
  • dotar a la gente de capacidad de lucha
  • potenciar la autogestión, dar herramientas a la gente para resolver sus situaciones personales, dar una alternativa a la desesperación.
  • la voluntad de #colpegemjuntes está presente pero hay que generar las dinámicas, los hilos conductores entre todos los colectivos.
  • mejorar las dinámicas de las asambleas, menos plenarias y más por objetivos concretos.
  • intentar generar dinámicas para compartir recursos y no duplicar esfuerzos.
  • como objetivo, decir al mundo que no nos cansamos, que seguimos y crecemos a nivel europeo

CALENDARIO

  • el 12 es domingo: hacer una gran mani
  • 13 y 14 acciones descentralizadas de colectivos
  • 15M hacer algo juntos, o huelga social

ACCIONES

  • hacer dos grupos, uno de acciones y otro de teoria política, debate.
  • organizar acciones de caracter destituyente como hace la PAH
  • hacer ILP’s como churros: compartir los recursos humanos que realizan un tipo de accion concreta y que podrian utilizar ese mismo mecanismo para realizar diversas acciones simultaneas, el ejemplo de las ILP es uno
  • hacer ataque clínico (en el sentido de quirúrgico, certero, tocando solo que hay que tocar, extirpar y fuera )
  • no hay prevista ninguna acción gorda.
  • se plantea reocupación de edificios, una revolución que sea de algo más que palabras. en el Vallès ya se ha hecho.
  • una acción tangible, efectiva, que la gente vea los beneficios inmediatos.
  • que las acciones respondan a problemas inaplazables como hambre, pobreza…
  • se propone una huelga social para el 15M a nivel europeo, pero depende de la respuesta de los sindicatos. Se habla de huelga social en el sentido de huelga capaz de generalizar las luchas contra la austeridad y que pueda cambiar las relaciones de poder, una huelga política no sólo para trabajadoras asalariadas, también para las 6 millones de paradas, huelga de consumo, de cuidados, de estudiantes…
  • acciones al estilo iaioflautas, que solo saben lo que va a pasar la gente que toca, y son efectivas.
  • acciones bien planeadas con tiempo, no improvisar.
  • el 12M tomamos la calle, pero no basta con eso, continuamos con acciones hasta el 15M con más cosas
  • convocar a los colectivos antes del 12M para organizar las acciones
  • una acción gorda puede ser la suma de muchas acciones pequeñas. muchas acciones en una misma semana o un mismo día, con calendario coordinado pero cada accion por libre, atacando desde diferentes puntos al mismo enemigo.
  • trabajar cada colectivo su acción en secreto para que salga bien.
  • se podría hacer algo todos juntos como un espacio de debate.
  • hacer una lista negra colaborativa de a quién queremos atacar, se podría coordinar desde el grupo de escracheBCN
  • aprovechar esa semana para hacer talleres y que mas gente se apunte a las asambleas y grupos de trabajo, “captación”

COMUNICACIÓN

  • para la comunicación interna se recupera la lista de correo que se creó el año pasado, es abierta cualquiera
  • se decide volver a utilizar Trello para la organización de tareas
  • no da tiempo a tratar más sobre este punto

PRÓXIMA REUNIÓN

9 de marzo en plaza catalunya a las 11h coincidiendo con la convocatoria de Comissió Cuina

ACUERDOS:

  • convocar para la proxima reunion el máximo de colectivos
  • organizar un calendario por franjas horarias para repartir entre los colectivos y que cada uno haga su accion en su franja, coordinados sin pisarnos pero con independencia, y con la atención mediatica al 100% en cada accion, sin dividir.
  • hacer mani el 12M
  • acciones el 13 y 14
  • hacer algo todos juntos el 15M pero aun está por definir el qué.

preparacions-03

Posted in ConvocatoriasComentarios desactivados

Desde BankFurt hacia la Europa del 99%


#Bankfurt es el corazón de las finanzas europeas, es la negación de la libertad y la democracia en el continente.Frankfurt es el gran Mordor europeo, el centro del poder deudocrático y de la Europa de los banqueros.

Hoy hemos vivido la tercera jornada de la convocatoria #Blockupy que se ha desarrollado de la misma manera que las otras dos: mucha presencia policial en las calles y una situación de bloqueo continuo debido a los controles permanentes del espacio urbano.

Ayer la detención de 80 compañeras italianas y la órden de retorno para 12 autobuses provenientes de Berlín, no impidió el desarrollo de las acciones programadas. Cerca de un centenar de personas acamparon en la plaza Römerberg, sede del Ayuntamiento. Las tiendas empezaron a aparecer, el virus del #15M estaba presente. Al mismo tiempo, los anticuerpos policiales irrumpieron en la plaza y procedieron al desalojo sin incidentes.

Desde las 7 de la mañana varios grupos se unieron. Confluyeron varios miles de personas que desafiaron el estado de sitio de la #acampadapolizei. La manifestación en el centro de la ciudad, a pesar de despliege policial de 5000 agentes, ha conseguido bloquear el BCE y todo el distrito financiero de Bankfurt a lo largo de todo el día.

Las personas detenidas durante esta mañana, al igual que las de ayer, fueron liberadas a las pocas horas. Se demostraba que sólo respondían a una decisión política, autoritaria y represiva contra el derecho de reunión, expresión y manifestación de lxs europexs que nos hemos encontrado aquí.

Mañana el sur de Europa se rebela contra la Troika. Preparamos nuestro propio bloque: el #PIIGSBlock, que participará en la manifestacion contra los recortes, la austeridad, el chantaje de la deuda y por la construcción desde abajo de Europa. Porque el conflicto no es entre alemanes y PIIGS, sino entre el 1% representado por la Troika, y el 99%.

Reinventemos la democracia por el futuro de la Europa del 99%. El proceso de cambio social ya está en marcha, tomemos las plazas, las ciudades y las redes. Recuperemos nuestras vidas!

Participantes de Juventud Sin Futuro
y Democràcia Real Ja! – Barcelona en #blockupy

Publicat també a Madrilonia.org

Posted in Acciones, NoticiasComentarios desactivados

#OccupyMordor


Después de las acciones del día 15M, la acción de #OccupyMordor prosigue en La Caixa, el gran poder financiero en Cataluña.

Des del mismo 16 de mayo seguimos protestando, con caceroladas desde las 8:00 durante todo el día: todavía hay alguien que no nos escucha? Aunque los medios hayan silenciado el ruido que desde Maria Cristina denuncia la estafa de las preferentes, los desahucios ejecutados por la Caixa y la estafa de la deuda, se ha conseguido señalar las entidades bancarias como responsables del expolio que sufrimos.

La caixarolada continua…

Acta del divendres 18 de maig de l’assemblea a Mordor

Reivindicacions des de Mordor

Fotos

Posted in Acciones, Auditoría de la deuda , Convocatorias, ViviendaComentarios desactivados

Misión de Rescate Ciudadano en tu banco más cercano


Después de las multitudinarias movilizaciones del 12 de Mayo volvemos a las plazas.Durante 2 días estaremos preparando las acciones que se llevarán a cabo para iniciar nuestro camino hacia el #RescateCiudadano. Ya no exigimos nada. Ya no esperamos nada. Nosotras, las personas, nos autoorganizamos para construir la sociedad que queremos.

Junto con Democracia real Ya Barcelona (DRY_BCN), la Plataforma de Afectados por la Hipoteca (PAH) y los Iaioflautas, llevaremos a cabo una acción unitaria por el derecho a una vivienda digna y a decidir democrática y soberanamente qué hacer con la deuda y con nuestro futuro.

#NiUnEuroMas para rescatar a los bancos. Auditoria ciudadana de la deuda. No pagaremos la deuda ilegítima creada por aquellos que han provocado la crisis.

La acción tiene como objetivos:

  • Acompañar a personas afectadas para negociar la dación en pago de sus viviendas y mantenerse en sus viviendas en régimen de alquiler social.

  • Presionar a las entidades bancarias y a la Administración para reconvertir el stock immobiliario que acumulan los bancos en parque público de viviendas de alquiler.

  • Denunciar la transferencia de capital público a las entidades bancarias por parte del Estado.

  • Visibilizar los mecanismos ilegítimos por los cuales los bancos se lucran incrementando la factura de la deuda pública, que a su vez es el origen de los duros recortes sociales que estamos sufriendo.

Os invitamos a tod@s a venir a la plaza para participar en la preparación de estas acciones, porque entre tod@s podemos hacer frente a la dictadura del capital.

El Martes 15 de Mayo comenzamos el camino para recuperar nuestras vidas. Os esperamos a las 8:00h am en los 4 puntos donde se desarrollará la acción:

- Plaza Universitat

- Plaza del Molino

- Plaza Urquinanona

- Plaza de la Catedral (escaleras)

(auditoriabcn@gmail.com)

Posted in Auditoría de la deuda , Vivienda, NoticiasComentarios desactivados

Si se puede. Propuestas 12M15M, comunicado DRY BCN


Ayer 12 de mayo, una multitud se manifestó en centenares de ciudades del Estado español y otros países del mundo. Solo en Barcelona, 200.000 personas recuperamos las calles y la Plaça de Catalunya. El nuevo movimiento global cuya emergencia protagonizamos en 2011 sigue creciendo; el proceso colectivo de cambio social que ahora cumple un año sigue su camino. El #15M ya ha demostrado ser el instrumento con el que reapropiarnos del presente y construir un futuro para las personas y no para los bancos. El trayecto de un #rescateciudadano.

Durante este año, banqueros y políticos han simulado no entender el mensaje. Su única respuesta ha sido la represión tanto para el movimiento como para la ciudadanía. Después de la demostración de democracia de ayer, los desalojos de Madrid, Palma, Valencia, Mallorca y Cádiz son la demostración de que un gobierno que reprime a ciudadanos pacíficos no es legítimo para gobernar. Reunirse no sólo es un derecho fundamental: es también bueno y legítimo. Por eso, os convocamos a recuperar todas las plazas hoy domingo 13 de mayo a las 17h. En solidaridad. Si tocan a una sola persona, nos tocan a todas.

Nos roban por encima de nuestras posibilidades. Rescatan bancos con dinero público mientras deshaucian a las familias endeudadas por los banqueros. Dinamitan el derecho a una sanidad y a una educación universal, mientras privatizan infraestructuras del bienestar levantadas con el esfuerzo de generaciones enteras. Promueven dividirnos y enfrentarnos mediante el sálvese quien pueda, para hacernos olvidar que ésta es una guerra de las élites contra las personas de abajo.

La indignación ha tomado cuerpo. El movimiento ha logrado ser expresión de alegría y esperanza. Con todo, la presión del espolio es acuciante para la vida de millones de personas. Necesitamos ahora ya cambios materiales, logros precisos, victorias concretas.

Hemos de tomar nuestras propias medidas y actuar. Hasta el #15M tendrán lugar acciones en torno a los seis puntos de acción consensuados:

#NiunEuroMas para los bancos, no pagaremos la deuda ílegitima. Mañana lunes empieza en Madrid el señalamiento público a Bankia. http://madrilonia.org/2012/05/senalamiento-a-bankia-este-lunes-14-de-mayo/. El martes 15m en Barcelona saldremos junto a la PAH, auditoria de la deuda, y los iaioflautas a conquistar daciones en pago de forma colectiva y a señalar los principales responsables de la crisis.

Liberemos el parque de vivienda de Bankia. Hemos pagado por ella no una sino tres veces. Nos pertenece al 99%. Sería una forma perfecta de rescatar a las personas y familias que sufren los desahucios.

Hoy empieza un nuevo ciclo,  ven con nosotros a preparar las 6 campañas y acciones.

Si queremos que esto cambie tendremos que hacerlo nosotros mismos, por nuestros propios medios’.

Posted in Comunicados, NoticiasComments (2)

Agenda de actividades 13M y 14M


Aquí tenéis la agenda con charlas, actividades y preparación de las acciones para el 15M. Todas las actividades tendrán lugar en plaza Catalunya los días 13 y 14 de mayo.

Posted in Comunicados, Convocatorias, NoticiasComments (1)

Manual 12M1M


¡Una guía para la manifestación del dia 12 de maig y los días que la siguen en Barcelona! ¡Haz click sobre la imagen!

Cómo queremos nuestro 12M15M
Mantén una actitud pacífica.
Disfruta del espacio público.
Sé reportero, documenta el 12M15M.
Muestra tu rostro, no tenemos nada de qué escondernos.
Permanezcamos todas juntas, podemos estar tranquilas. En caso de alborotos: no te asustes, no corras, no te sumes.
Evitemos la confrontación con la policía.


Posted in Acciones, ConvocatoriasComments (1)


Lo sentimos los eventos no están disponibles. Prueba más tarde
PHVsPjxsaT48c3Ryb25nPndvb19hZHNfcm90YXRlPC9zdHJvbmc+IC0gdHJ1ZTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzE8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzI8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzM8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzQ8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzU8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX2ltYWdlXzY8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZjwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX21wdV9hZHNlbnNlPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X2Rpc2FibGU8L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fYWRfbXB1X2ltYWdlPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tL2Fkcy8zMDB4MjUwYS5qcGc8L2xpPjxsaT48c3Ryb25nPndvb19hZF9tcHVfdXJsPC9zdHJvbmc+IC0gaHR0cDovL3d3dy53b290aGVtZXMuY29tPC9saT48bGk+PHN0cm9uZz53b29fYWRfcGFnZTwvc3Ryb25nPiAtIFNlbGVjdCBhIHBhZ2U6PC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX2Fkc2Vuc2U8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfZGlzYWJsZTwvc3Ryb25nPiAtIHRydWU8L2xpPjxsaT48c3Ryb25nPndvb19hZF90b3BfaW1hZ2U8L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvZmlsZXMvMjAxMi8wMi9jYWJlY2VyYS1ibG9nLW5vLXNvbS1tZXJjYW5jaWEuanBnPC9saT48bGk+PHN0cm9uZz53b29fYWRfdG9wX3VybDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbTwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8xPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8yPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF8zPC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF80PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF81PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FkX3VybF82PC9zdHJvbmc+IC0gaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbDwvbGk+PGxpPjxzdHJvbmc+d29vX2FsdF9zdHlsZXNoZWV0PC9zdHJvbmc+IC0gZ3JlZW4uY3NzPC9saT48bGk+PHN0cm9uZz53b29fYXJjaGl2ZXM8L3N0cm9uZz4gLSBTZWxlY3QgYSBwYWdlOjwvbGk+PGxpPjxzdHJvbmc+d29vX2F1dGhvcjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fYXV0b19pbWc8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2N1c3RvbV9jc3M8L3N0cm9uZz4gLSAvKiAgDQpUaGVtZSBOYW1lOiBHYXpldHRlIEVkaXRpb24NClRoZW1lIFVSSTogaHR0cDovL3d3dy53b290aGVtZXMuY29tLw0KRGVzY3JpcHRpb246IEdhemV0dGUgRWRpdGlvbiBieSBXb29UaGVtZXMNClZlcnNpb246IDIuMC4yDQpBdXRob3I6IFdvb1RoZW1lcw0KQXV0aG9yIFVSSTogaHR0cDovL3d3dy53b290aGVtZXMuY29tLw0KKi8NCg0KLyo9PT09PT09PT0gU0VUVVAgPT09PT09PT09Ki8NCg0KKnsNCglib3JkZXI6IDA7DQoJbWFyZ2luOiAwOw0KCXBhZGRpbmc6IDA7DQp9DQpib2R5ew0KCWNvbG9yOiAjNjY2NjY2Ow0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOiAxNHB4Ow0KCWxpbmUtaGVpZ2h0OiAxOXB4Ow0KCWJhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy9maWxlcy8yMDEyLzA0L2JhY2tncm91bmQuZ2lmKTsgDQoJYmFja2dyb3VuZC1hdHRhY2htZW50OmZpeGVkOyANCgliYWNrZ3JvdW5kLXBvc2l0aW9uOmJvdHRvbSBjZW50ZXI7IA0KCWJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsNCn0NCmF7DQoJY29sb3I6ICMwMDAwMDA7DQoJdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KYTpob3ZlcnsNCgl0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsNCn0NCmlucHV0LHNlbGVjdCx0ZXh0YXJlYXsNCglib3JkZXI6ICNkZGRkZGQgMXB4IHNvbGlkOw0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nOiA1cHg7DQp9DQpzZWxlY3R7DQoJcGFkZGluZzogMDsNCn0NCmxpew0KCWxpc3Qtc3R5bGU6IG5vbmU7DQp9DQoNCi8qPT09PT09PT09IExBWU9VVCA9PT09PT09PT0qLw0KDQojcGFnZXsNCgl3aWR0aDogOTYwcHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46MTVweCBhdXRvOw0KCWJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7DQp9DQovKi0tLSBNYWluIENvbHVtbnMgLS0tKi8NCiNjb2x1bW5zew0KCXBhZGRpbmc6MTVweCAxNXB4IDI1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46IDBweDsNCn0NCi5jb2wxew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiA1OTVweDsNCglwYWRkaW5nLXJpZ2h0OjE1cHg7DQp9DQouY29sMnsNCglmbG9hdDogbGVmdDsNCgl3aWR0aDogMzIwcHg7DQp9DQovKi0tLSBTdWIgQ29sdW1ucyAtLS0qLw0KLnN1YmNvbHsNCgl3aWR0aDogMTUwcHg7DQp9DQouc3ViY29sIGgyew0KCWZvbnQtc2l6ZTogMThweDsNCglwYWRkaW5nOiAwIDAgMTBweDsNCgljb2xvcjogI0ZGRkZGRjsNCn0NCg0KLyo9PT09PT09PT0gSEVBREVSID09PT09PT09PSovDQoNCi8qLSBQYWdlIE5hdmlnYXRpb24gLSovDQojbmF2ew0KCWhlaWdodDogMzBweDsNCglwYWRkaW5nOiAycHggMHB4ICFpbXBvcnRhbnQ7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46MTVweCAxNXB4IDBweCAhaW1wb3J0YW50Ow0KCWJvcmRlci10b3A6MXB4IHNvbGlkICNkZGQ7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDsNCgl3aWR0aDogOTMwcHggIWltcG9ydGFudDsNCn0NCiNuYXYtbGVmdCB7DQoJZmxvYXQ6bGVmdDsNCglkaXNwbGF5OmlubGluZTsNCgl3aWR0aDo2MDBweDsNCgl9DQojbmF2LXJpZ2h0IHsNCglmbG9hdDpyaWdodDsNCglkaXNwbGF5OmlubGluZTsNCgl3aWR0aDozMzBweDsNCgltYXJnaW46MHB4ICFpbXBvcnRhbnQ7DQoJcGFkZGluZzowcHggIWltcG9ydGFudDsNCgl9DQoNCi8qLSBEcm9wZG93bnMtKi8NCg0KI25hdjEsICNuYXYxIHVsew0KCXBhZGRpbmc6IDA7DQoJZmxvYXQ6bGVmdDsNCglsaXN0LXN0eWxlOiBub25lOw0KfQ0KI25hdjEgew0KCXBhZGRpbmc6IDA7DQoJZm9udC1zaXplOjE0cHg7DQoJZmxvYXQ6bGVmdDsNCn0NCiNuYXYxIGEgew0KCWRpc3BsYXk6IGJsb2NrOw0KCXBhZGRpbmctbGVmdDoxNXB4Ow0KCXBhZGRpbmctcmlnaHQ6MTVweDsNCn0NCiNuYXYxIGxpIHsNCglmbG9hdDogbGVmdDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCWZvbnQtd2VpZ2h0OmJvbGQ7DQoJZm9udC1zaXplOjEycHg7CQ0KCXRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsNCn0NCiNuYXYxIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQ6IG5vbmU7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJY29sb3I6I2ZmZmZmZjsNCn0NCiNuYXYxIGxpIHVsIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJd2lkdGg6IDE1ZW07DQoJbGVmdDogLTk5OWVtOw0KCXBhZGRpbmctdG9wOjFweDsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsLCAjbmF2MSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfQ0KI25hdjEgbGkgdWwgbGkgew0KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGJkMTsJDQoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWRiZDE7CQ0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2RlZGJkMTsJCQkNCglsaW5lLWhlaWdodDoyOHB4OwkNCgl3aWR0aDoxNWVtOw0KfQ0KDQojbmF2MSBsaTpob3ZlciwgI25hdjEgbGkuaG92ZXIgew0KICAgIHBvc2l0aW9uOiBzdGF0aWM7DQp9DQojbmF2MSBsaSB1bCB1bCB7DQoJbWFyZ2luOiAtMjlweCAwIDAgMTVlbTsNCglib3JkZXItdG9wOjFweCBzb2xpZCAjZGVkYmQxOwkNCn0NCg0KI25hdjEgbGk6aG92ZXIgdWwgdWwsICNuYXYxIGxpLnNmaG92ZXIgdWwgdWwgew0KCWxlZnQ6IC05OTllbTsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsLCAjbmF2MSBsaSBsaTpob3ZlciB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCn0NCiNuYXYxIGxpOmhvdmVyIHVsIHVsLCAjbmF2MSBsaTpob3ZlciB1bCB1bCB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCB1bCB1bCB7DQoJbGVmdDogLTk5OWVtOw0KfQ0KI25hdjEgbGk6aG92ZXIgdWwsICNuYXYxIGxpIGxpOmhvdmVyIHVsLCAjbmF2MSBsaSBsaSBsaTpob3ZlciB1bCwgI25hdjEgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkuc2Zob3ZlciB1bCwgI25hdjEgbGkgbGkgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCn0gDQoNCg0KLyotIENhdGVnb3J5IE5hdmlnYXRpb24gLSovDQoNCi8qLSBOYXYgLyBEcm9wZG93bnMtKi8NCiNuYXYyIHsNCgltYXJnaW46MCAwIDE1cHggMTVweCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowIDAgN3B4IDdweDsJIA0KfQ0KDQojbmF2MiwgI25hdjIgdWx7DQoJcGFkZGluZzogMDsNCglmbG9hdDpsZWZ0Ow0KCWxpc3Qtc3R5bGU6IG5vbmU7DQp9DQojbmF2MiB7DQoJcGFkZGluZzogMDsNCglmb250LXNpemU6MTRweDsNCglmbG9hdDpsZWZ0Ow0KCXdpZHRoOjkzMHB4Ow0KCWJvcmRlci10b3A6IDFweCBzb2xpZCAjREREREREOw0KfQ0KI25hdjIgYSB7DQoJZGlzcGxheTogYmxvY2s7DQoJcGFkZGluZy1sZWZ0OjE1cHg7DQoJcGFkZGluZy1yaWdodDoxNXB4Ow0KCWJvcmRlci1yaWdodDogMXB4IHNvbGlkICNEREREREQ7DQp9DQojbmF2MiBsaSB7DQoJZmxvYXQ6IGxlZnQ7DQoJbGluZS1oZWlnaHQ6MzBweDsNCn0NCiNuYXYyIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQ6IG5vbmU7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KfQ0KI25hdjIgbGkgdWwgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogMTVlbTsNCglsZWZ0OiAtOTk5ZW07DQoJei1pbmRleDogOTk5OTk7DQp9DQojbmF2MiBsaTpob3ZlciB1bCwgI25hdjIgbGkuc2Zob3ZlciB1bCB7DQoJbGVmdDogYXV0bzsNCgl6LWluZGV4OjEwMDA7CQ0KfQ0KI25hdjIgbGkgdWwgbGkgew0KICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7DQoJYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2RlZGJkMTsJDQoJYm9yZGVyLWxlZnQ6MXB4IHNvbGlkICNkZWRiZDE7CQ0KCWJvcmRlci1yaWdodDoxcHggc29saWQgI2RlZGJkMTsJCQkNCglsaW5lLWhlaWdodDoyOHB4OwkNCgl3aWR0aDoxNWVtOw0KfQ0KI25hdjIgbGk6aG92ZXIsICNuYXYyIGxpLmhvdmVyIHsNCiAgICBwb3NpdGlvbjogc3RhdGljOw0KfQ0KI25hdjIgbGkgdWwgdWwgew0KCW1hcmdpbjogLTI5cHggMCAwIDE1ZW07DQp9DQojbmF2MiBsaTpob3ZlciB1bCB1bCwgI25hdjIgbGkuc2Zob3ZlciB1bCB1bCB7DQoJbGVmdDogLTk5OWVtOw0KfQ0KI25hdjIgbGk6aG92ZXIgdWwsICNuYXYyIGxpIGxpOmhvdmVyIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfQ0KI25hdjIgbGk6aG92ZXIgdWwgdWwsICNuYXYyIGxpOmhvdmVyIHVsIHVsIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsIHVsIHVsIHsNCglsZWZ0OiAtOTk5ZW07DQp9DQojbmF2MiBsaTpob3ZlciB1bCwgI25hdjIgbGkgbGk6aG92ZXIgdWwsICNuYXYyIGxpIGxpIGxpOmhvdmVyIHVsLCAjbmF2MiBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaS5zZmhvdmVyIHVsLCAjbmF2MiBsaSBsaSBsaS5zZmhvdmVyIHVsIHsNCglsZWZ0OiBhdXRvOw0KfSANCg0KDQovKi0gU2VhcmNoIC0qLw0KI3NlYXJjaHsNCglmbG9hdDogcmlnaHQ7DQoJaGVpZ2h0OiAyN3B4Ow0KCXdpZHRoOjMxMHB4Ow0KCW1hcmdpbjogM3B4IDBweCAwcHggIWltcG9ydGFudDsNCglwYWRkaW5nOjBweCAhaW1wb3J0YW50Ow0KfQ0KKiBodG1sICNzZWFyY2h7DQoJbWFyZ2luLXJpZ2h0OiA4cHg7DQp9DQojc2VhcmNoIGlucHV0ew0KCWJhY2tncm91bmQ6ICNmZmZmZmY7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCgljb2xvcjogIzAwMDAwMDsNCglmbG9hdDogbGVmdDsNCglmb250LXNpemU6IDExcHg7DQoJd2lkdGg6MjIzcHg7DQoJbWFyZ2luOjFweCAwcHggMHB4Ow0KCXBhZGRpbmc6IDNweCA0cHggNHB4Ow0KfQ0KI3NlYXJjaCAuYnRuew0KCXBhZGRpbmc6IDA7DQoJaGVpZ2h0OjIycHg7DQoJd2lkdGg6IGF1dG87DQoJbWFyZ2luOjFweCAwcHggMHB4IDVweCAhaW1wb3J0YW50Ow0KCWJvcmRlcjpub25lOw0KCXdpZHRoOjY5cHg7DQp9DQovKi0gSGVhZGVyIC0qLw0KI2hlYWRlcnsNCgloZWlnaHQ6IDI2OHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQoJbWFyZ2luOiAwIDE1cHg7DQoJcGFkZGluZzogMHB4Ow0KfQ0KLyotIExvZ28gLSovDQojaGVhZGVyIGgxew0KCWZsb2F0OiBsZWZ0Ow0KCWRpc3BsYXk6aW5saW5lOw0KCWxpbmUtaGVpZ2h0OiAxMDBweDsNCglmb250LXNpemU6IDI0cHg7DQp9DQojaGVhZGVyIGgxIGF7DQoJZGlzcGxheTogYmxvY2s7DQoJaGVpZ2h0OiA5M3B4Ow0KCXdpZHRoOiAzODlweDsNCgljb2xvcjogIzAwMDAwMDsNCglmb250LXNpemU6IDI4cHg7DQp9DQoNCi8qLSBUb3AgQmFubmVyIC0qLw0KI3RvcGJhbm5lciB7DQoJZmxvYXQ6IHJpZ2h0Ow0KCXdpZHRoOiA0NjhweDsNCglwYWRkaW5nOjIwcHggMHB4IDBweDsNCn0NCg0KI3RvcGJhbm5lciBpbWd7DQoJZmxvYXQ6IHJpZ2h0Ow0KfQ0KDQovKi0gUlNTIC0qLw0KI3JzcyBhew0KCWNvbG9yOiAjNjY2NjY2Ow0KfQ0KI3JzcyBoMnsNCglwYWRkaW5nOjEwcHg7DQoJZm9udC1zaXplOjE4cHg7DQoJbWFyZ2luLWJvdHRvbToxMHB4Ow0KfQ0KI3JzcyB1bHsNCgltYXJnaW46IDBweDsNCglwYWRkaW5nOiAxMHB4Ow0KCWZsb2F0OmxlZnQ7DQp9DQojcnNzIGxpew0KCW1hcmdpbjogMHB4Ow0KCWJvcmRlcjpub25lICFpbXBvcnRhbnQ7DQoJcGFkZGluZzogNXB4Ow0KfQ0KI3JzcyBpbWd7DQoJZmxvYXQ6IHJpZ2h0Ow0KCXBhZGRpbmctbGVmdDogMTBweDsNCgltYXJnaW4tdG9wOiA1cHg7DQp9DQoNCi8qPT09PT09PT09IEZFQVRVUkVEIFBPU1RTIChGUk9OVC1QQUdFKSA9PT09PT09PT0qLw0KDQovKiBTZWUgc2xpZGVzaG93LmNzcyAqLw0KDQovKj09PT09PT09PSBGRUFUVVJFRCBWSURFT1MgKEZST05ULVBBR0UpID09PT09PT09PSovDQoNCiN2aWRlby1mcmFtZSB7DQoJYmFja2dyb3VuZDojZWVlOw0KCWZsb2F0OmxlZnQ7DQoJd2lkdGg6NTgzcHg7DQoJaGVpZ2h0OmF1dG87DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nOiA1cHg7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCgl9DQoudmlkZW8tbGVmdCB7DQoJZmxvYXQ6bGVmdDsNCgl3aWR0aDoyODVweCAhaW1wb3J0YW50Ow0KCWRpc3BsYXk6aW5saW5lOw0KCWJhY2tncm91bmQtY29sb3I6I0ZGRkZGRjsNCgl9DQoudmlkZW8tbGVmdCBwIHsNCglwYWRkaW5nOjBweCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowcHggIWltcG9ydGFudDsNCgl9DQoudmlkZW8tbGVmdCBoMiB7DQoJZGlzcGxheTpub25lOw0KCX0NCi52aWRlby1yaWdodCB7DQoJZmxvYXQ6cmlnaHQ7DQoJd2lkdGg6MjczcHg7DQoJbWluLWhlaWdodDoyMTRweDsNCglkaXNwbGF5OmlubGluZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiNGRkZGRkY7DQoJcGFkZGluZzogMTBweDsNCgl9DQoudmlkZW8tcmlnaHQgaDJ7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC1zaXplOjExcHg7DQoJbGluZS1oZWlnaHQ6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDsNCgltYXJnaW46MCAhaW1wb3J0YW50Ow0KCXBhZGRpbmctdG9wOiAwcHg7DQoJcGFkZGluZy1yaWdodDogMHB4Ow0KCXBhZGRpbmctYm90dG9tOiA1cHg7DQoJcGFkZGluZy1sZWZ0OiAwcHg7DQoJfQ0KLnZpZGVvLXJpZ2h0IHB7DQoJY29sb3I6ICM2NjY7DQoJZm9udC1zaXplOjExcHg7DQoJbGluZS1oZWlnaHQ6MTJweDsNCgltYXJnaW4tdG9wOiAxMHB4Ow0KCW1hcmdpbi1yaWdodDogMDsNCgltYXJnaW4tYm90dG9tOiAwcHg7DQoJbWFyZ2luLWxlZnQ6IDA7DQoJcGFkZGluZy10b3A6IDA7DQoJcGFkZGluZy1yaWdodDogMDsNCglwYWRkaW5nLWJvdHRvbTogMjBweDsNCglwYWRkaW5nLWxlZnQ6IDBweDsNCgl9DQoudmlkZW8tcmlnaHQgaDN7DQoJZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJZm9udC1zaXplOjE4cHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nLWJvdHRvbTogMHB4Ow0KCX0NCi52aWRlby1yaWdodCAubW9vdGFic190aXRsZSB7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI0ZGRjsNCglsaXN0LXN0eWxlOm5vbmU7DQoJbWFyZ2luOjBweDsNCglwYWRkaW5nOjBweDsNCgl9DQoudmlkZW8tcmlnaHQgLm1vb3RhYnNfdGl0bGUgbGkgew0KCWNvbG9yOiMwMDA7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWZvbnQtc2l6ZToxMXB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCWRpc3BsYXk6YmxvY2s7DQoJcGFkZGluZzoxMHB4Ow0KCWJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7DQoJYmFja2dyb3VuZDojZjdmN2Y3Ow0KCWxpbmUtaGVpZ2h0OjEwcHg7DQoJY3Vyc29yOiBwb2ludGVyOw0KCW1hcmdpbi10b3A6IDBweDsNCgltYXJnaW4tcmlnaHQ6IDBweDsNCgltYXJnaW4tYm90dG9tOiA1cHg7DQoJbWFyZ2luLWxlZnQ6IDBweDsNCgl9DQoudmlkZW8tcmlnaHQgLm1vb3RhYnNfdGl0bGUgbGk6aG92ZXIsIC52aWRlby1yaWdodCAubW9vdGFic190aXRsZSBsaS5hY3RpdmUgew0KCWJhY2tncm91bmQ6I2RkZGRkZCB1cmwoaW1hZ2VzL2ljby13YXRjaC5naWYpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQgIWltcG9ydGFudDsNCgl9DQoNCi8qPT09PT09PT09IEJMT0cgUE9TVCBTVFlMSU5HID09PT09PT09PSovDQoNCi8qPT09IFNtYWxsIEJveCBQb3N0ID09PSovDQoucG9zdHsNCgltYXJnaW46IDA7DQp9DQoucG9zdCBoMnsNCglmb250LXNpemU6IDE4cHg7DQoJcGFkZGluZzogMCAwIDVweDsNCn0NCi5wb3N0IGgzew0KCWZvbnQtc2l6ZTogMTRweDsNCn0NCi5wb3N0IGgzIGF7DQoJY29sb3I6ICMwMDAwMDA7DQp9DQoucG9zdCBwew0KCXBhZGRpbmc6IDAgMCAxNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxOXB4Ow0KfQ0KDQovKi0gQm94IC0qLw0KLmJveHsNCgljbGVhcjogYm90aDsNCgloZWlnaHQ6IDElOw0KCXBhZGRpbmc6IDA7DQoJbWFyZ2luOiAwOw0KfQ0KLmJveCAucG9zdHsNCgl3aWR0aDogMjg4cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQp9DQouYm94IC5wb3N0IGgyIGF7DQoJY29sb3I6IzMzMzMzMzsNCn0NCi5ib3ggLnBvc3QgaDJ7DQoJZm9udC1zaXplOiAxOHB4Ow0KCXBhZGRpbmc6IDEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQouYm94IC5wb3N0IHB7DQoJZm9udC1zaXplOiAxNHB4Ow0KCXBhZGRpbmc6IDVweCAxMHB4Ow0KfQ0KDQouYm94IC5wb3N0IGltZ3sNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KCWZsb2F0OiByaWdodDsNCglwYWRkaW5nOiA1cHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjsNCgltYXJnaW46IDEwcHg7DQp9DQoNCi8qPT09IFRyYWRpdGlvbmFsIEJsb2cgUG9zdCA9PT0qLw0KLnBvc3QtYWx0ew0KCW1hcmdpbjogMCAwIDE1cHggMDsNCgkNCn0NCi5wb3N0LWFsdCBoMnsNCglmb250LXNpemU6IDIycHg7DQoJcGFkZGluZzogMDsNCgljb2xvcjojMDAwMDAwOw0KCWxpbmUtaGVpZ2h0OiAyNnB4Ow0KfQ0KLnBvc3QtYWx0IGgzew0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nLWJvdHRvbTogNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxOHB4Ow0KCWNvbG9yOiAjMDAwMDAwOw0KfQ0KLnBvc3QtYWx0IGg0ew0KCWZvbnQtc2l6ZTogMTRweDsNCglwYWRkaW5nLWJvdHRvbTogNXB4Ow0KCWxpbmUtaGVpZ2h0OiAxNnB4Ow0KfQ0KLnBvc3QtYWx0IGgzIGEsIC5wb3N0LWFsdCBoMiBhew0KCWNvbG9yOiAjMDAwMDAwOw0KfQ0KLnBvc3QtYWx0IHB7DQoJcGFkZGluZzogMCAwIDE1cHg7DQp9DQoucG9zdC1hbHQgcC5wb3N0X2RhdGV7DQoJY29sb3I6ICM5OTk5OTk7DQoJcGFkZGluZzogNXB4IDBweCAxMHB4Ow0KCWZvbnQtc2l6ZTogMTFweDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KcC5wb3N0ZWR7DQoJZm9udC1zaXplOiAxNHB4Ow0KCWNvbG9yOiAjNjY2NjY2Ow0KCWZvbnQtc3R5bGU6IG5vcm1hbDsNCglmb250LXdlaWdodDogbm9ybWFsOw0KCWxpbmUtaGVpZ2h0OiAxOHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7DQoJcGFkZGluZzogNXB4Ow0KCW1hcmdpbi10b3A6IDEwcHg7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2RkZDsNCgkvKmJvcmRlci1ib3R0b206MXB4IHNvbGlkICNkZGQ7Ki8NCgljbGVhcjpib3RoOw0KfQ0KaDMucG9zdGVkIGEgew0KCWNvbG9yOiAjMDAwMDAwOw0KCWZvbnQtc2l6ZToxMXB4Ow0KfQ0KDQouYm94IC5wb3N0IGgzLnBvc3RlZCB7DQoJYm9yZGVyLWJvdHRvbTpub25lOw0KfQ0KDQouYXV0aG9yX2luZm8gew0KCWZsb2F0OiBsZWZ0Ow0KCXdpZHRoOiA1NzNweDsNCglwYWRkaW5nOiAxMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7DQoJYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYzsNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KDQouYXV0aG9yX2luZm8gaDMgew0KCW1hcmdpbi1ib3R0b206IDEwcHg7DQp9DQoNCi5hdXRob3JfcGhvdG8gew0KCWZsb2F0OiByaWdodDsNCgltYXJnaW46ICAwIDAgMCAxMHB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7DQp9DQoNCi5hdXRob3JfcGhvdG8gaW1nIHsNCglib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2Ow0KfQ0KDQovKj09PSBCdXR0b25zID09PSovDQouY29udGludWV7DQoJYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY28tYXJyb3cuZ2lmKSBuby1yZXBlYXQgbGVmdDsNCglmb250LXdlaWdodDpib2xkOw0KCXBhZGRpbmctbGVmdDogMTVweDsNCn0NCi5jb21tZW50cyB7DQoJcGFkZGluZy1ib3R0b206MHB4ICFpbXBvcnRhbnQ7DQp9DQouY29tbWVudHMgYXsNCgliYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ljby1jb21tLmdpZikgbm8tcmVwZWF0IGxlZnQ7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6MHB4IDBweCAwcHggMThweDsNCgltYXJnaW4tbGVmdDo1cHg7DQp9DQphLm1vcmV7DQoJYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY28tYXJyb3cyLmdpZikgbm8tcmVwZWF0IHJpZ2h0Ow0KCWNvbG9yOiAjYzBjMGMwOw0KCWZvbnQtc2l6ZTogMS4yZW07DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJcGFkZGluZzogMCAyMHB4IDAgMDsNCn0NCi8qPT09IFRyYWRpdGlvbmFsIEJsb2cgUG9zdCA9PT0qLw0KLm5hdmlnYXRpb24gew0KCXdpZHRoOjU5NXB4Ow0KCW1hcmdpbi1ib3R0b206MTVweDsNCglmbG9hdDpsZWZ0Ow0KCXBhZGRpbmc6IDE1cHggMDsNCglib3JkZXItdG9wOiAgMXB4IHNvbGlkICNlZWU7DQoJYm9yZGVyLWJvdHRvbTogIDFweCBzb2xpZCAjZWVlOw0KfQ0KLm5hdmlnYXRpb24gYSB7DQoJY29sb3I6ICMwMDAwMDA7DQoJZm9udC1zaXplOiAxZW07DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQp9DQouYWxpZ25sZWZ0ew0KCWRpc3BsYXk6aW5saW5lOw0KCWZsb2F0OmxlZnQ7DQoJbWFyZ2luLXJpZ2h0OjE1cHg7DQp9DQouYWxpZ25yaWdodHsNCglkaXNwbGF5OmlubGluZTsNCglmbG9hdDpyaWdodDsNCgltYXJnaW4tbGVmdDoxNXB4Ow0KfQ0KDQovKiAgICBVc2luZyBcJ2NsYXNzPVwiYWxpZ25yaWdodFwiXCcgb24gYW4gaW1hZ2Ugd2lsbCAod2hvIHdvdWxkXCd2ZQ0KICAgIHRob3VnaHQ/ISkgYWxpZ24gdGhlIGltYWdlIHRvIHRoZSByaWdodC4gQW5kIHVzaW5nIFwnY2xhc3M9XCJjZW50ZXJlZFwnLA0KICAgIHdpbGwgb2YgY291cnNlIGNlbnRlciB0aGUgaW1hZ2UuIFRoaXMgaXMgbXVjaCBiZXR0ZXIgdGhhbiB1c2luZw0KICAgIGFsaWduPVwiY2VudGVyXCIsIGJlaW5nIG11Y2ggbW9yZSBmdXR1cmVwcm9vZiAoYW5kIHZhbGlkKSAqLw0KDQppbWcud3Atc21pbGV5ICB7DQogICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7DQogICAgYm9yZGVyOiBub25lIWltcG9ydGFudDsNCn0NCg0KaW1nLmNlbnRlcmVkIHsNCiAgICBkaXNwbGF5OiBibG9jazsNCiAgICBtYXJnaW4tbGVmdDogYXV0bzsNCiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87DQogICAgfQ0KDQogICAgLyogRW5kIEltYWdlcyAqLw0KDQoNCi8qPT09PT09PT09IEFSQ0hJVkUgU1BFQ0lGSUMgPT09PT09PT09Ki8NCg0KI2FyY2hpdmVib3ggew0KCW1hcmdpbi1ib3R0b206MTVweDsNCglwYWRkaW5nOjEwcHg7DQoJY29sb3I6IzAwMCAhaW1wb3J0YW50Ow0KfQ0KI2FyY2hpdmVib3ggaDQsICNhcmNoaXZlYm94IGgzLCAjYXJjaGl2ZWJveCBoMnsNCgljb2xvcjojMzMzMzMzOw0KZm9udC1zaXplOiAxNHB4Ow0KfQ0KI2FyY2hpdmVib3ggaDQgZW0sICNhcmNoaXZlYm94IGgyIGVtLCAjYXJjaGl2ZWJveCBoMyBlbXsNCglmb250LXdlaWdodDogbm9ybWFsOw0KfQ0KI2FyY2hpdmVib3ggYSwgI2FyY2hpdmVib3ggaDIgew0KCWNvbG9yOiMwMDA7DQp9DQouYXJjaGl2ZWZlZWQgew0KCW1hcmdpbi10b3A6MTBweDsNCglwYWRkaW5nLWJvdHRvbTowcHg7DQp9DQouYXJjaGl2ZWZlZWQgYSB7DQoJYmFja2dyb3VuZDp1cmwoaW1hZ2VzL2ljby1hcmNmZWVkLmdpZikgY2VudGVyIGxlZnQgbm8tcmVwZWF0Ow0KCWhlaWdodDoyMHB4Ow0KCWNvbG9yOiMwMDA7DQoJZm9udC13ZWlnaHQ6Ym9sZDsNCglmb250LXNpemU6IDE0cHg7DQoJZm9udC13ZWlnaHQ6IG5vcm1hbDsNCglwYWRkaW5nOjNweCAwcHggMXB4IDIycHg7DQp9DQouYXJjbGlzdHsNCgl3aWR0aDogMjYwcHg7DQoJbWFyZ2luOjBweCAwcHggMjVweDsNCglwYWRkaW5nOjVweCAwcHggMHB4Ow0KCWJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlOw0KfQ0KLmFyY2xpc3QgaDJ7DQoJY29sb3I6ICMwMDA7DQoJcGFkZGluZzowcHggMHB4IDE1cHg7DQp9DQoNCi5hcmNsaXN0IHVsIHsNCgltYXJnaW4tYm90dG9tOiAxNXB4Ow0KfQ0KDQouYXJjbGlzdCB1bCBsaXsNCgljb2xvcjojYzBjMGMwOw0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6OHB4IDAgOHB4IDEwcHg7DQoJYm9yZGVyLXRvcDoxcHggc29saWQgI2VlZTsNCn0NCg0KLyo9PT09PT09PT0gU0lOR0xFIFBPU1QgU1BFQ0lGSUMgPT09PT09PT09Ki8NCg0KLnNpbmdsZXRhZ3Mgew0KCW1hcmdpbi10b3A6NXB4Ow0KfQ0KLnNpbmdsZXRhZ3MgYSB7IGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDsgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtjb2xvcjojMDAwMDAwOyB9DQouZW50cnkgcHsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MThweDsNCgl9DQouZW50cnkgYmxvY2txdW90ZSB7DQoJcGFkZGluZzogMTBweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KCWNvbG9yOiMwMDA7DQoJd2lkdGg6ODUlOw0KCWJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7DQoJZm9udC1zdHlsZTogaXRhbGljOw0KCW1hcmdpbjo1cHggYXV0byAxNXB4Ow0KCX0NCi5lbnRyeSBibG9ja3F1b3RlIHAgew0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6IDVweCAwcHg7DQoJbWFyZ2luOiA1cHggMHB4Ow0KCWxpbmUtaGVpZ2h0OiAyMHB4Ow0KCX0NCi5lbnRyeSBpbWcgew0KCXBhZGRpbmc6IDRweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJfQ0KLndwLWNhcHRpb24gaW1nIHsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQp9DQpwLndwLWNhcHRpb24tdGV4dCB7DQoJdGV4dC1hbGlnbjpjZW50ZXI7DQoJcGFkZGluZzogMCAwIDE1cHggMDsNCgltYXJnaW46MHB4Ow0KCWZvbnQtc2l6ZToxLjJlbTsNCglmb250LXN0eWxlOml0YWxpYzsNCgljb2xvcjojMDAwMDAwOw0KfQ0KLmVudHJ5IHVsLCAuZW50cnkgb2wgew0KCW1hcmdpbi1ib3R0b206MTVweDsNCglmb250LXNpemU6MTRweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCX0NCi5lbnRyeSB1bCBsaSB1bCwgLmVudHJ5IG9sIGxpIG9sew0KCW1hcmdpbi1ib3R0b206MHB4Ow0KCXBhZGRpbmctdG9wOjNweDsNCgl9DQouZW50cnkgdWwgbGkgew0KCWxpc3Qtc3R5bGU6Y2lyY2xlIGluc2lkZSAhaW1wb3J0YW50Ow0KCW1hcmdpbi1sZWZ0OjE1cHg7DQoJcGFkZGluZzozcHggMHB4Ow0KCX0NCi5lbnRyeSB1bCBsaSB1bCBsaSB7DQoJbGlzdC1zdHlsZTpkaXNjIGluc2lkZSAhaW1wb3J0YW50Ow0KCX0NCi5lbnRyeSBvbCBsaSB7DQoJbGlzdC1zdHlsZTpkZWNpbWFsIGluc2lkZSAhaW1wb3J0YW50Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCXBhZGRpbmc6M3B4IDBweDsNCgl9DQouZW50cnkgb2wgbGkgb2wgbGkgew0KCWxpc3Qtc3R5bGU6ZGVjaW1hbC1sZWFkaW5nLXplcm8gaW5zaWRlICFpbXBvcnRhbnQ7DQoJfQ0KDQoNCi8qPT09PT09PT09IENPTU1FTlRTID09PT09PT09PSovDQoNCmgyLmNvbW1oMnsNCglmb250LXNpemU6IDEuNWVtOw0KCXBhZGRpbmc6IDAgMCA1cHg7DQoJbWFyZ2luOiAwIDAgMTVweCAwOw0KCWZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDsNCgljb2xvcjojMDAwMDAwOw0KfQ0Kb2wuY29tbWVudGxpc3R7DQoJbWFyZ2luOiAxMHB4IDAgMjBweDsNCglwYWRkaW5nOiAwOw0KCWxpc3Qtc3R5bGU6IG5vbmU7DQoJZm9udC1zaXplOiAxMnB4Ow0KCWxpbmUtaGVpZ2h0OiAyMHB4Ow0KfQ0Kb2wuY29tbWVudGxpc3QgcHsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQpvbC5jb21tZW50bGlzdCBjaXRlew0KCWZvbnQtc3R5bGU6IG5vcm1hbDsNCglmb250LXdlaWdodDogYm9sZDsNCn0NCm9sLmNvbW1lbnRsaXN0IGxpew0KCXBhZGRpbmc6IDIwcHggMTBweCAxMHB4IDEwcHg7DQp9DQpvbC5jb21tZW50bGlzdCBsaS5hbHR7DQoJcGFkZGluZzogMTBweCAxMHB4IDAgMTBweCAhaW1wb3J0YW50Ow0KCWJhY2tncm91bmQ6I2Y3ZjdmNzsNCglib3JkZXI6MXB4IHNvbGlkICNlZWU7CQ0KfQ0KI2NvbW1lbnQgew0KCXdpZHRoOiA1OTVweDsNCglmbG9hdDogbGVmdDsNCn0NCg0KLyo9PT09PT09PT0gVEhSRUFERUQgQ09NTUVOVFMgPT09PT09PT09Ki8NCg0Kb2wuY29tbWVudGxpc3QgLmNvbW1lbnQtbWV0YXsNCglmb250LXNpemU6MC44ZW07DQp9DQpvbC5jb21tZW50bGlzdCBsaSAuYXZhdGFyIHsgCQ0KCWZsb2F0OmxlZnQ7DQoJYm9yZGVyOiAxcHggc29saWQgIzAwMDsNCgltYXJnaW4tcmlnaHQ6IDEwcHg7DQp9DQoNCm9sLmNvbW1lbnRsaXN0IGxpew0KCWJvcmRlcjoxcHggc29saWQgI2VlZTsJCQ0KCW1hcmdpbjoxMHB4IDAgMTBweDsNCglwYWRkaW5nOjE1cHggMTBweCAxMHB4Ow0KfQ0KDQpvbC5jb21tZW50bGlzdCBsaSAuZXZlbnsNCgliYWNrZ3JvdW5kOiNmZmZmZmY7DQp9DQoNCi5jb21tZW50bGlzdCBsaSB1bCBsaSB7DQoJbWFyZ2luLWxlZnQ6MTBweDsNCgltYXJnaW4tcmlnaHQ6LTVweDsNCn0NCg0Kb2wuY29tbWVudGxpc3QgbGkgLnJlcGx5IHsNCglwYWRkaW5nOjAgMCA1cHggMDsNCn0NCg0KI3Jlc3BvbmQgcHsNCgltYXJnaW4tYm90dG9tOjEwcHg7DQoJbGluZS1oZWlnaHQ6IDIwcHg7DQp9DQoNCi8qIFBhZ2VOYXZpICovDQoNCi5tb3JlX2VudHJpZXMge2ZvbnQtc2l6ZToxNHB4O30NCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIHtjbGVhcjpib3RoO2Zsb2F0OiByaWdodDt9DQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhIHt0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDt9DQoNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIC5jdXJyZW50LCANCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIC5vbiwNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIGE6aG92ZXIge2JhY2tncm91bmQ6ICM5ZjlmOWYgIWltcG9ydGFudDt9DQoNCi5tb3JlX2VudHJpZXMgLndwLXBhZ2VuYXZpIGEsDQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhOmxpbmssDQoubW9yZV9lbnRyaWVzIC53cC1wYWdlbmF2aSBhOnZpc2l0ZWQsIA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLmN1cnJlbnQsIA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLm9uLA0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgc3Bhbi5wYWdlcyB7IGJhY2tncm91bmQ6ICNFRUVFRUU7Y29sb3I6ICM2NjY7IHBhZGRpbmc6IDRweCAhaW1wb3J0YW50OyBtYXJnaW4tbGVmdDogNHB4OyBib3JkZXI6MXB4IHNvbGlkICNEREREREQ7IGxpbmUtaGVpZ2h0OjI0cHg7IH0NCg0KLm1vcmVfZW50cmllcyAud3AtcGFnZW5hdmkgLmV4dGVuZCB7IGJhY2tncm91bmQ6bm9uZTsgYm9yZGVyOm5vbmU7IH0NCg0KLyo9PT09PT09PT0gU0lERUJBUiA9PT09PT09PT0qLw0KDQovKiBUYWJzICovDQoNCiN0YWJzIHsNCgl3aWR0aDozMDhweCAhaW1wb3J0YW50Ow0KCWhlaWdodDphdXRvICFpbXBvcnRhbnQ7DQoJcGFkZGluZzo1cHg7DQoJYm9yZGVyOjFweCBzb2xpZCAjZGRkOw0KCWJhY2tncm91bmQtY29sb3I6I2VlZWVlZTsNCglmbG9hdDpsZWZ0Ow0KCWRpc3BsYXk6IGJsb2NrOw0KfQ0KDQouaW5zaWRlIHsNCgl3aWR0aDogMjkzcHggIWltcG9ydGFudDsNCglwYWRkaW5nOjVweCAhaW1wb3J0YW50Ow0KCWJvcmRlcjoxcHggc29saWQgI2RkZCAhaW1wb3J0YW50Ow0KCW1hcmdpbjo1cHggMHB4IDBweCAhaW1wb3J0YW50Ow0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoNCn0NCg0KdWwud29vVGFicyB7DQoJd2lkdGg6IDEwMCU7DQoJcGFkZGluZzogMCAwIDdweCAwOw0KfQ0KDQp1bC53b29UYWJzIGxpIHsNCglmbG9hdDogbGVmdDsNCglkaXNwbGF5OmlubGluZTsNCglmb250LXNpemU6IDE0cHg7DQoJbGluZS1oZWlnaHQ6IDM0cHg7DQoJYmFja2dyb3VuZDogI2ZmZmZmZjsNCgljb2xvcjogIzAwMDAwMDsNCglib3JkZXI6MXB4IHNvbGlkICNkZGQ7DQoJZm9udC13ZWlnaHQ6IGJvbGQ7DQoJZm9udC1zaXplOiAxMXB4Ow0KCW1hcmdpbjowcHggMnB4IDBweCAwcHggIWltcG9ydGFudDsNCgljdXJzb3I6IHBvaW50ZXI7DQp9DQoNCnVsLndvb1RhYnMgbGkgYSB7DQoJbGluZS1oZWlnaHQ6IDMxcHg7DQoJY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDsNCglkaXNwbGF5OiBibG9jazsNCglmbG9hdDogbGVmdDsNCglwYWRkaW5nOiAwIDZweDsNCn0NCg0KdWwud29vVGFicyBsaSBhLnNlbGVjdGVkLCB1bC53b29UYWJzIGxpIGE6aG92ZXIgew0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7DQp9DQoNCiN0YWdjbG91ZCB7DQoJcGFkZGluZzoxMHB4Ow0KfQ0KDQoNCg0KI3N1YiBpbWcgew0KCWZsb2F0OiByaWdodDsNCgltYXJnaW46IDAgMCA4cHggOHB4Ow0KfQ0KDQouaW5zaWRlIGxpIHsNCglib3JkZXItYm90dG9tOjFweCBzb2xpZCAjRUVFRUVFOw0KCXBhZGRpbmc6OHB4Ow0KfQ0KDQouaW5zaWRlIGxpIGltZy5hdmF0YXIsIC5pbnNpZGUgbGkgaW1nLnRodW1ibmFpbCB7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCglwYWRkaW5nOiAzcHg7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsNCglmbG9hdDogbGVmdDsNCgltYXJnaW46IDAgOHB4IDAgMDsNCn0NCg0KLyotIEFkcyAtKi8NCg0KI21wdV9iYW5uZXIgew0KCXdpZHRoOjMwMHB4Ow0KCWhlaWdodDoyNTBweDsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlZWVlZWU7DQoJbWFyZ2luLWJvdHRvbToxNXB4Ow0KCXBhZGRpbmc6IDlweDsNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOw0KfQ0KDQojYWR2ZXJ0XzEyNXgxMjUgew0KCXBhZGRpbmctbGVmdDogMTRweDsNCn0NCg0KI2FkdmVydF8xMjV4MTI1IGltZ3sNCglib3JkZXI6IDFweCBzb2xpZCAjZGRkOw0KCXBhZGRpbmc6IDVweDsNCgltYXJnaW46MCAxNHB4IDE0cHggMDsNCn0NCg0KLyotIEZsaWNrciAtKi8NCg0KI2ZsaWNrciAud3JhcCB7DQoJcGFkZGluZy10b3A6IDE1cHg7DQp9DQouZmxpY2tyX2JhZGdlX2ltYWdlIGltZyB7DQoJZmxvYXQ6bGVmdDsNCn0NCi8qPT09IFN0eWxpbmcgV2lkZ2V0IExpc3RzID09PSovDQoNCi53aWRnZXQgew0KCW1hcmdpbi1ib3R0b206MTVweDsNCn0JDQoud2lkZ2V0IGgzIHsNCglwYWRkaW5nOiA1cHg7DQp9DQoud2lkZ2V0IHVsIHsNCgltYXJnaW46MCAwIDEwcHggMDsNCglwYWRkaW5nOjVweCAwOw0KCWJvcmRlcjpub25lICFpbXBvcnRhbnQ7DQp9DQoud2lkZ2V0IHVsIGxpIHsNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsNCglwYWRkaW5nOjVweCAwIDVweCA1cHg7DQoJbWFyZ2luOjBweDsNCn0NCi53aWRnZXQgdWwgbGkgYSB7DQoJY29sb3I6ICMwMDAwMDA7DQp9DQoud2lkZ2V0IHNlbGVjdCB7DQoJYm9yZGVyOjFweCBzb2xpZCAjZWVlOw0KCXdpZHRoOjE0OHB4Ow0KCW1hcmdpbjoxNXB4IDAgMCAwOw0KfQ0KDQoudGV4dHdpZGdldCB7DQoJcGFkZGluZy10b3A6IDE1cHg7DQp9DQoNCi8qPT09PT09PT09IEZPT1RFUiA9PT09PT09PT0qLw0KDQojZm9vdGVyew0KCWNsZWFyOiBib3RoOw0KCWNvbG9yOiAjNjY2NjY2Ow0KCWhlaWdodDogMzVweDsNCglsaW5lLWhlaWdodDogMzVweDsNCgltYXJnaW46MHB4IDE1cHggMTVweDsNCglwYWRkaW5nOjBweCAxNXB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZDsNCn0NCg0KI2Zvb3RlciBpbWcgew0KCXZlcnRpY2FsLWFsaWduOm1pZGRsZTsNCgltYXJnaW4tbGVmdDo1cHg7DQp9DQoNCi8qPT09PT09PT09IE1JU0MgPT09PT09PT09Ki8NCg0KLmZpeHsNCgljbGVhcjogYm90aDsNCgloZWlnaHQ6IDFweDsNCgltYXJnaW46IDAgMCAtMXB4Ow0KCW92ZXJmbG93OiBoaWRkZW47DQp9DQouaGx7DQoJYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWU7DQp9DQouaGwtZnVsbHsNCglmbG9hdDpsZWZ0Ow0KCWNsZWFyOmJvdGg7DQoJaGVpZ2h0OjFweDsNCgl3aWR0aDoxMDAlOw0KCXBhZGRpbmc6MCAhaW1wb3J0YW50Ow0KCW1hcmdpbjowcHggMHB4IDE1cHg7DQp9DQouaGwyew0KCWJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjYzBjMGMwOw0KfQ0KLmhsM3sNCglib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsNCn0NCi5ibG9new0KCXdpZHRoOjEwMCUgIWltcG9ydGFudDsNCglmbG9hdDpsZWZ0Ow0KfQ0KLmJldHdlZW57DQoJaGVpZ2h0OjJweDsNCgltYXJnaW4tYm90dG9tOjE1cHg7DQoJfQ0KLmZsew0KCWZsb2F0OiBsZWZ0Ow0KfQ0KLmZyew0KCWZsb2F0OiByaWdodDsNCn0NCi5hY3sNCgl0ZXh0LWFsaWduOiBjZW50ZXI7DQp9DQouYXJ7DQoJdGV4dC1hbGlnbjogcmlnaHQ7DQp9DQoudGh7DQoJYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZDsNCglmbG9hdDogcmlnaHQ7DQoJcGFkZGluZzogNXB4Ow0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJbWFyZ2luOiAwIDAgNXB4IDEwcHg7DQp9DQoNCnRhYmxlI3dwLWNhbGVuZGFyIHsNCglib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOw0KCW1hcmdpbjogMHB4Ow0KCXBhZGRpbmc6IDBweDsNCn0NCg0KdGFibGUjd3AtY2FsZW5kYXIgYSB7DQoJY29sb3I6IzAwMDAwMDsgDQp9DQoNCnRhYmxlI3dwLWNhbGVuZGFyIGNhcHRpb24geyANCglmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IDAuOTE2NjdlbTsgbGluZS1oZWlnaHQ6IDEuNzI3MjdlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgbGV0dGVyLXNwYWNpbmc6IDJweDsgYmFja2dyb3VuZDogI2U1ZTVlNTsgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZGRkOyANCn0NCnRhYmxlI3dwLWNhbGVuZGFyIHRoIHsgDQoJd2lkdGg6IDI2cHg7IGZvbnQtc2l6ZTogMC45MTY2N2VtOyBsaW5lLWhlaWdodDogMS43MjcyN2VtOyBiYWNrZ3JvdW5kOiAjZjJmMmYyOyBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkZGQ7IHRleHQtYWxpZ246IGNlbnRlcjsgDQp9DQp0YWJsZSN3cC1jYWxlbmRhciB0ZCB7IA0KCXdpZHRoOiAyNnB4OyBsaW5lLWhlaWdodDogMS42NjY2N2VtOyBjb2xvcjogIzk5OTsgdGV4dC1hbGlnbjogY2VudGVyOyANCn0NCnRhYmxlI3dwLWNhbGVuZGFyIHRkI25leHQsIHRhYmxlI3dwLWNhbGVuZGFyIHRkI3ByZXYgeyANCgl3aWR0aDogNzhweDsgZm9udC1zaXplOiAwLjgzMzMzZW07IGxldHRlci1zcGFjaW5nOiAxcHg7IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IA0KfQ0KLmdyYXZhdGFyIHsNCglmbG9hdDpsZWZ0Ow0KCWJvcmRlcjogMXB4IHNvbGlkICMwMDA7DQoJbWFyZ2luLXJpZ2h0OiAxMHB4Ow0KfQ0KLmpkR2FsbGVyeSBhIHsgY3Vyc29yOnBvaW50ZXIgIWltcG9ydGFudDsgfQ0KDQovKiBTbGlkZXIgKi8NCg0KI3NsaWRlci1ob2xkZXIgeyBwb3NpdGlvbjogcmVsYXRpdmU7IGhlaWdodDogMjcwcHg7IHdpZHRoOiA1OTVweDsgbWFyZ2luLWJvdHRvbTogMjBweDsgb3ZlcmZsb3c6IGhpZGRlbiA7IGNvbG9yOiAjZmZmO30NCiNzbGlkZXItaG9sZGVyIC5zbGlkZXsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6MHB4OyBsZWZ0OiA1OTVweDsgei1pbmRleDogMTtoZWlnaHQ6IDI3MHB4OyB3aWR0aDogNTk1cHg7IG92ZXJmbG93OiBoaWRkZW47fQ0KI3NsaWRlci1ob2xkZXIgLnNsaWRlLTEgeyBkaXNwbGF5IDogYmxvY2s7IGxlZnQ6MHB4OyB0b3A6MHB4O30NCiNzbGlkZXItaG9sZGVyIC5zbGlkZSBhIHtkaXNwbGF5OiBibG9jazsgIH0NCiNzbGlkZXItaG9sZGVyIC5zbGlkZSBpbWcgeyAgZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjBweDsgbGVmdDogMHB4OyB9DQojc2xpZGVyLWhvbGRlciAgaW1nLmZ1bGwtbWFzayB7ICBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDowOyBsZWZ0OiAwcHg7IHotaW5kZXg6IDA7IGRpc3BsYXk6IG5vbmU7IH0NCg0KI3NsaWRlci1ob2xkZXIgLnNsaWRlLWNvbnRlbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMjcwcHg7IGxlZnQ6IDA7aGVpZ2h0OiA3MDBweDsgd2lkdGg6IDU3NXB4OyBiYWNrZ3JvdW5kOiAjMDAwOyBwYWRkaW5nOiAxMHB4IDEwcHggMCAxMHB4O3otaW5kZXg6IDk5OTt9DQoNCiNzbGlkZXItaG9sZGVyIC5zbGlkZXItbGVmdCwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1yaWdodCB7cG9zaXRpb246IGFic29sdXRlOyAgICBjdXJzb3I6IHBvaW50ZXI7IGhlaWdodDogMTUwcHg7IHdpZHRoOiAxMjBweDsgei1pbmRleDogOTk5OyBkaXNwbGF5OiBibG9jazsgY29sb3I6IHdoaXRlOyB9DQoNCiNzbGlkZXItaG9sZGVyIC5zbGlkZXItbGVmdCB7IGxlZnQ6IDA7ICB0b3A6IDA7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUxLnBuZ1wnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTsgICB9DQoqIGh0bWwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1sZWZ0IHsgYmFja2dyb3VuZDogdXJsKFwnaW1hZ2VzL2ZsZWNoZTEuZ2lmXCcpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDsgfQ0KDQojc2xpZGVyLWhvbGRlciAuc2xpZGVyLXJpZ2h0e3JpZ2h0OiAwOyB0b3A6IDA7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUyLnBuZ1wnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbTt9DQoqIGh0bWwgI3NsaWRlci1ob2xkZXIgLnNsaWRlci1yaWdodCB7IGJhY2tncm91bmQ6IHVybChcJ2ltYWdlcy9mbGVjaGUyLmdpZlwnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0OyB9DQoNCi5zbGlkZXItc2hlbGYgeyB6LWluZGV4OiA5OTk7IGJhY2tncm91bmQ6ICMwMDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjA7IHdpZHRoOiA1OTVweDsgb3ZlcmZsb3c6IHZpc2libGU7fQ0Kc3Bhbi5jbGlja2VyIHsgei1pbmRleDogOTk5OyBiYWNrZ3JvdW5kOiAjMDAwOyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDowcHg7IHJpZ2h0OjEyMHB4OyB3aWR0aDogYXV0bzsgZm9udC1zaXplOiAxMXB4OyBkaXNwbGF5OiBibG9jazsgcGFkZGluZzogMnB4IDEwcHg7IGN1cnNvcjogcG9pbnRlcjt9DQouc2hlbGYtY29udGVudCB7IHotaW5kZXg6IDk5OTk7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOjA7IHdpZHRoOiA1OTVweDt9DQouc2hlbGYtY29udGVudCBpbWcge2JvcmRlcjoxcHggc29saWQgI2ZmZjsgbWFyZ2luOiAxMHB4IDAgMCAxMHB4OyBjdXJzb3I6IHBvaW50ZXI7fQ0KDQouc2hlbGYtdGl0bGUge3BhZGRpbmc6IDBweCAxMHB4O30NCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQo8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQoNCg0KYXsNCgljb2xvcjogIzAwMDsNCn0NCi5zdWJjb2wgaDJ7DQoJY29sb3I6ICNmZmY7DQp9DQoubmF2MiBsaTpob3ZlciwNCi5uYXYyIGxpLnNmSG92ZXIsDQoubmF2MiBsaS5jdXJyZW50LA0KLm5hdjIgYTpmb2N1cywgLm5hdjIgYTpob3ZlciwgLm5hdjIgYTphY3RpdmUgew0KCWNvbG9yOiAjMzMzMzMzOw0KfQ0KLmZlYXR1cmVkIGgzIGE6aG92ZXIgew0KCWNvbG9yOiMwMDA7DQp9DQoudmlkZW8tcmlnaHQgaDJ7DQoJY29sb3I6ICMwMDA7DQp9DQouY2F0bGlzdCBoMnsNCgljb2xvcjogI2ZmZjsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KCWJhY2tncm91bmQtaW1hZ2U6IHVybChkZWZhdWx0L2ljby1jYXRsaXN0LmdpZik7DQoJYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCgliYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7DQp9DQojbmF2MSAuY3VycmVudF9wYWdlX2l0ZW0gYSwNCiNuYXYxIGxpLnNmSG92ZXIsDQojbmF2MSBsaS5jdXJyZW50LA0KI25hdjEgbGkgYTpmb2N1cywgI25hdjEgbGkgYTpob3ZlciwgI25hdjEgbGkgYTphY3RpdmUgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJY29sb3I6ICNGRkZGRkY7DQp9DQojbmF2MSAuY3VycmVudF9wYWdlX2l0ZW0gdWwgbGkgYSB7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCgljb2xvcjogIzYzN0QzNzsNCn0NCg0KI25hdjEgLmN1cnJlbnRfcGFnZV9pdGVtIHVsIGxpIGE6aG92ZXIgew0KCWJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7DQoJY29sb3I6ICNGRkZGRkY7DQp9DQojbmF2IHVsICBsaS5iYWNrIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOw0KCWNvbG9yOiAjRkZGRkZGOw0KfQ0KDQojbmF2IHVsICBsaSBhIHsNCgljb2xvcjogIzAwMDAwMDsNCn0NCiNuYXYyIHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOw0KCWJvcmRlci1ib3R0b206M3B4IHNvbGlkICMwMDAwMDA7DQp9DQojbmF2MiBsaSBhOmhvdmVyIHsNCgliYWNrZ3JvdW5kOiMwMDAwMDA7DQoJY29sb3I6I2ZmZjsNCn0NCi52aWRlby1yaWdodCBoM3sNCgljb2xvcjogIzYzN0QzNzsNCn0JDQp1bC53b29UYWJzIGxpIGEuc2VsZWN0ZWQsIHVsLndvb1RhYnMgbGkgYTpob3ZlciB7DQoJY29sb3I6ICNmY2ZmMDA7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCg0KLndpZGdldCBoMyB7DQoJY29sb3I6ICNGRkZGRkY7DQoJYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsNCn0NCiNmb290ZXIgYXsNCgljb2xvcjogIzAwMDAwMDsNCn0NCiNhcmNoaXZlYm94IHsNCgliYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGOw0KCWJvcmRlcjogbm9uZTsNCglmb250LXNpemU6MjhweDsNCglmb250LXdlaWdodDoxMDA7DQoJcGFkZGluZzogMCAwIDAgMDsNCgltYXJnaW4tdG9wOjEwcHg7DQp9DQojYXJjaGl2ZWJveCBoNCBlbSwgI2FyY2hpdmVib3ggaDIgZW0sICNhcmNoaXZlYm94IGgzIGVtew0KCWNvbG9yOiMwMDAwMDA7DQp9DQojcnNzIGgyew0KCWJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7DQoJYm9yZGVyOiBub25lOw0KCWNvbG9yOiMwMDAwMDA7DQp9DQoNCg0KDQoNCjwhLS0gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4NCg0KLyogUEFSQ0hFUyAqLw0KDQouY2xlYXINCnsNCmNsZWFyOmJvdGg7DQpkaXNwbGF5OmJsb2NrOw0Kb3ZlcmZsb3c6aGlkZGVuOw0KdmlzaWJpbGl0eTpoaWRkZW47DQp3aWR0aDowO2hlaWdodDowDQp9DQoNCg0KDQo8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQoNCi8qIFBBUkNIRVMgKi8NCg0KLmRyeWJjbl9hIHsNCgljb2xvcjogI0ZGMDAwMDsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lOw0KfQ0KPC9saT48bGk+PHN0cm9uZz53b29fY3VzdG9tX2Zhdmljb248L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19jdXN0b21fc2VvX3RlbXBsYXRlPC9zdHJvbmc+IC0gYTozOntpOjA7YTo1OntzOjQ6Im5hbWUiO3M6MTA6InNlb19pbmZvXzEiO3M6Mzoic3RkIjtzOjA6IiI7czo1OiJsYWJlbCI7czo0OiJTRU8gIjtzOjQ6InR5cGUiO3M6NDoiaW5mbyI7czo0OiJkZXNjIjtzOjIwMjoiQWRkaXRpb25hbCBTRU8gY3VzdG9tIGZpZWxkcyBhdmFpbGFibGU6IDxzdHJvbmc+Q3VzdG9tIFBhZ2UgVGl0bGVzPC9zdHJvbmc+LiBHbyB0byA8YSBocmVmPSJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtYWRtaW4vYWRtaW4ucGhwP3BhZ2U9d29vdGhlbWVzX3NlbyI+U0VPIFNldHRpbmdzPC9hPiBwYWdlIHRvIGFjdGl2YXRlLiI7fWk6MTthOjU6e3M6NDoibmFtZSI7czoxMDoic2VvX2ZvbGxvdyI7czozOiJzdGQiO3M6NToiZmFsc2UiO3M6NToibGFiZWwiO3M6MTY6IlNFTyAtIFNldCBmb2xsb3ciO3M6NDoidHlwZSI7czo4OiJjaGVja2JveCI7czo0OiJkZXNjIjtzOjc3OiJNYWtlIGxpbmtzIGZyb20gdGhpcyBwb3N0L3BhZ2UgPHN0cm9uZz5mb2xsb3dhYmxlPC9zdHJvbmc+IGJ5IHNlYXJjaCBlbmdpbmVzLiI7fWk6MjthOjU6e3M6NDoibmFtZSI7czoxMToic2VvX25vaW5kZXgiO3M6Mzoic3RkIjtzOjU6ImZhbHNlIjtzOjU6ImxhYmVsIjtzOjEzOiJTRU8gLSBOb2luZGV4IjtzOjQ6InR5cGUiO3M6ODoiY2hlY2tib3giO3M6NDoiZGVzYyI7czo1NjoiU2V0IHRoZSBQYWdlL1Bvc3QgdG8gbm90IGJlIGluZGV4ZWQgYnkgYSBzZWFyY2ggZW5naW5lcy4iO319PC9saT48bGk+PHN0cm9uZz53b29fZmVhdHVyZWRfY2F0ZWdvcnk8L3N0cm9uZz4gLSBTZWxlY3QgYSBjYXRlZ29yeTo8L2xpPjxsaT48c3Ryb25nPndvb19mZWF0dXJlZF9lbnRyaWVzPC9zdHJvbmc+IC0gU2VsZWN0IGEgTnVtYmVyOjwvbGk+PGxpPjxzdHJvbmc+d29vX2ZlYXRfZW50cmllczwvc3Ryb25nPiAtIFNlbGVjdCBhIG51bWJlcjo8L2xpPjxsaT48c3Ryb25nPndvb19mZWVkYnVybmVyX2lkPC9zdHJvbmc+IC0gPC9saT48bGk+PHN0cm9uZz53b29fZmVlZGJ1cm5lcl91cmw8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb19mcmFtZXdvcmtfdmVyc2lvbjwvc3Ryb25nPiAtIDQuMy41PC9saT48bGk+PHN0cm9uZz53b29fZ29vZ2xlX2FuYWx5dGljczwvc3Ryb25nPiAtIDxzY3JpcHQgdHlwZT1cInRleHQvamF2YXNjcmlwdFwiPg0KDQogIHZhciBfZ2FxID0gX2dhcSB8fCBbXTsNCiAgX2dhcS5wdXNoKFtcJ19zZXRBY2NvdW50XCcsIFwnVUEtMzEyMDQxMDgtMVwnXSk7DQogIF9nYXEucHVzaChbXCdfdHJhY2tQYWdldmlld1wnXSk7DQoNCiAgKGZ1bmN0aW9uKCkgew0KICAgIHZhciBnYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCdzY3JpcHRcJyk7IGdhLnR5cGUgPSBcJ3RleHQvamF2YXNjcmlwdFwnOyBnYS5hc3luYyA9IHRydWU7DQogICAgZ2Euc3JjID0gKFwnaHR0cHM6XCcgPT0gZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2wgPyBcJ2h0dHBzOi8vc3NsXCcgOiBcJ2h0dHA6Ly93d3dcJykgKyBcJy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qc1wnOw0KICAgIHZhciBzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCdzY3JpcHRcJylbMF07IHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZ2EsIHMpOw0KICB9KSgpOw0KDQo8L3NjcmlwdD48L2xpPjxsaT48c3Ryb25nPndvb19ncmF2YXRhcjwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faG9tZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29faG9tZV90aHVtYl9oZWlnaHQ8L3N0cm9uZz4gLSA0NTwvbGk+PGxpPjxzdHJvbmc+d29vX2hvbWVfdGh1bWJfd2lkdGg8L3N0cm9uZz4gLSAxMDA8L2xpPjxsaT48c3Ryb25nPndvb19pbWFnZV9zaW5nbGU8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX2xheW91dDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX2xvZ288L3N0cm9uZz4gLSBodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy82NS1oZWFkZXItZHJ5LmpwZzwvbGk+PGxpPjxzdHJvbmc+d29vX21hbnVhbDwvc3Ryb25nPiAtIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9zdXBwb3J0L3RoZW1lLWRvY3VtZW50YXRpb24vZ2F6ZXR0ZS1lZGl0aW9uLzwvbGk+PGxpPjxzdHJvbmc+d29vX29wdGlvbnM8L3N0cm9uZz4gLSBhOjMyOntzOjE4OiJ3b29fYWx0X3N0eWxlc2hlZXQiO3M6MDoiIjtzOjEyOiJ3b29fZ3JhdmF0YXIiO3M6NToiZmFsc2UiO3M6ODoid29vX2xvZ28iO3M6MDoiIjtzOjIwOiJ3b29fZ29vZ2xlX2FuYWx5dGljcyI7TjtzOjE4OiJ3b29fZmVlZGJ1cm5lcl91cmwiO3M6MDoiIjtzOjE3OiJ3b29fZmVlZGJ1cm5lcl9pZCI7czowOiIiO3M6MTI6Indvb19hcmNoaXZlcyI7czoxNDoiU2VsZWN0IGEgcGFnZToiO3M6MTA6Indvb19sYXlvdXQiO3M6MDoiIjtzOjE3OiJ3b29fb3RoZXJfZW50cmllcyI7czoxNjoiU2VsZWN0IGEgTnVtYmVyOiI7czoxNDoid29vX3Nob3dfdmlkZW8iO3M6NToiZmFsc2UiO3M6MTg6Indvb192aWRlb19jYXRlZ29yeSI7czoxODoiU2VsZWN0IGEgY2F0ZWdvcnk6IjtzOjIxOiJ3b29fZmVhdHVyZWRfY2F0ZWdvcnkiO3M6MTg6IlNlbGVjdCBhIGNhdGVnb3J5OiI7czoyMDoid29vX2ZlYXR1cmVkX2VudHJpZXMiO3M6MTY6IlNlbGVjdCBhIE51bWJlcjoiO3M6MTE6Indvb19hZF9wYWdlIjtzOjE0OiJTZWxlY3QgYSBwYWdlOiI7czoxNjoid29vX3Nob3dfYWRzX3RvcCI7czo1OiJmYWxzZSI7czoxNDoid29vX2FkX2ltYWdlXzEiO3M6ODY6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3RoZW1lcy9uZXdzcHJlc3MvaW1hZ2VzL2FkLTEyNXgxMjUuZ2lmIjtzOjEyOiJ3b29fYWRfdXJsXzEiO3M6NDM6Imh0dHA6Ly9leGFtcGxlLmNvbS9hZHMvYWQxX2Rlc3RpbmF0aW9uLmh0bWwiO3M6MTQ6Indvb19hZF9pbWFnZV8yIjtzOjg2OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZiI7czoxMjoid29vX2FkX3VybF8yIjtzOjQzOiJodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sIjtzOjE0OiJ3b29fYWRfaW1hZ2VfMyI7czo4NjoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvdGhlbWVzL25ld3NwcmVzcy9pbWFnZXMvYWQtMTI1eDEyNS5naWYiO3M6MTI6Indvb19hZF91cmxfMyI7czo0MzoiaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbCI7czoxOToid29vX3Nob3dfYWRzX2JvdHRvbSI7czo1OiJmYWxzZSI7czoxNDoid29vX2FkX2ltYWdlXzQiO3M6ODY6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3RoZW1lcy9uZXdzcHJlc3MvaW1hZ2VzL2FkLTEyNXgxMjUuZ2lmIjtzOjEyOiJ3b29fYWRfdXJsXzQiO3M6NDM6Imh0dHA6Ly9leGFtcGxlLmNvbS9hZHMvYWQxX2Rlc3RpbmF0aW9uLmh0bWwiO3M6MTQ6Indvb19hZF9pbWFnZV81IjtzOjg2OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC90aGVtZXMvbmV3c3ByZXNzL2ltYWdlcy9hZC0xMjV4MTI1LmdpZiI7czoxMjoid29vX2FkX3VybF81IjtzOjQzOiJodHRwOi8vZXhhbXBsZS5jb20vYWRzL2FkMV9kZXN0aW5hdGlvbi5odG1sIjtzOjE0OiJ3b29fYWRfaW1hZ2VfNiI7czo4NjoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvdGhlbWVzL25ld3NwcmVzcy9pbWFnZXMvYWQtMTI1eDEyNS5naWYiO3M6MTI6Indvb19hZF91cmxfNiI7czo0MzoiaHR0cDovL2V4YW1wbGUuY29tL2Fkcy9hZDFfZGVzdGluYXRpb24uaHRtbCI7czoxMDoid29vX3Jlc2l6ZSI7czo1OiJmYWxzZSI7czoxNToid29vX3RodW1iX3dpZHRoIjtzOjA6IiI7czoxNjoid29vX3RodW1iX2hlaWdodCI7czowOiIiO3M6MTQ6Indvb19jdXN0b21fY3NzIjtOO308L2xpPjxsaT48c3Ryb25nPndvb19vdGhlcl9lbnRyaWVzPC9zdHJvbmc+IC0gU2VsZWN0IGEgTnVtYmVyOjwvbGk+PGxpPjxzdHJvbmc+d29vX3Jlc2l6ZTwvc3Ryb25nPiAtIGZhbHNlPC9saT48bGk+PHN0cm9uZz53b29fc2hvcnRuYW1lPC9zdHJvbmc+IC0gd29vPC9saT48bGk+PHN0cm9uZz53b29fc2hvd19hZHNfYm90dG9tPC9zdHJvbmc+IC0gZmFsc2U8L2xpPjxsaT48c3Ryb25nPndvb19zaG93X2Fkc190b3A8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfY2Fyb3VzZWw8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3Nob3dfdmlkZW88L3N0cm9uZz4gLSB0cnVlPC9saT48bGk+PHN0cm9uZz53b29fc2luZ2xlX2hlaWdodDwvc3Ryb25nPiAtIDExMzwvbGk+PGxpPjxzdHJvbmc+d29vX3NpbmdsZV93aWR0aDwvc3Ryb25nPiAtIDI1MDwvbGk+PGxpPjxzdHJvbmc+d29vX3RhYnM8L3N0cm9uZz4gLSBmYWxzZTwvbGk+PGxpPjxzdHJvbmc+d29vX3RoZW1lbmFtZTwvc3Ryb25nPiAtIEdhemV0dGU8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl9oZWlnaHQ8L3N0cm9uZz4gLSA8L2xpPjxsaT48c3Ryb25nPndvb190aHVtYl93aWR0aDwvc3Ryb25nPiAtIDwvbGk+PGxpPjxzdHJvbmc+d29vX3VwbG9hZHM8L3N0cm9uZz4gLSBhOjg6e2k6MDtzOjc3OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy82NS1oZWFkZXItZHJ5LmpwZyI7aToxO3M6ODM6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzIwLUhFQURFUi0xMk0xNU0tMDEuanBnIjtpOjI7czo4MzoiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTktSEVBREVSLTEyTTE1TS0wMS5qcGciO2k6MztzOjc3OiJodHRwOi8vYmFyY2Vsb25hLmRlbW9jcmFjaWFyZWFseWEuZXMvd3AtY29udGVudC93b29fdXBsb2Fkcy8xOC1oZWFkZXItZHJ5LmpwZyI7aTo0O3M6Nzc6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE3LWhlYWRlci1kcnkuanBnIjtpOjU7czo4NToiaHR0cDovL2JhcmNlbG9uYS5kZW1vY3JhY2lhcmVhbHlhLmVzL3dwLWNvbnRlbnQvd29vX3VwbG9hZHMvMTYtY2FiZWNlcmFfYmxvZ19sb3cxLmpwZyI7aTo2O3M6ODE6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE1LWNhYmVjZXJhX2Jsb2cxLmpwZyI7aTo3O3M6ODE6Imh0dHA6Ly9iYXJjZWxvbmEuZGVtb2NyYWNpYXJlYWx5YS5lcy93cC1jb250ZW50L3dvb191cGxvYWRzLzE0LWNhYmVjZXJhX2Jsb2cxLmpwZyI7fTwvbGk+PGxpPjxzdHJvbmc+d29vX3ZpZGVvX2NhdGVnb3J5PC9zdHJvbmc+IC0gU2VsZWN0IGEgY2F0ZWdvcnk6PC9saT48L3VsPg==