La serie de mini artículos C.A.O.S ha documentado siete patrones de disfunción organizativa a través del método que les es propio: el diálogo socrático, la conversación en la que nadie dice nada evidentemente equivocado y sin embargo todo sale mal. Siete artículos, siete patrones, una cadena de causas que vaN del criterio a las categorías pasando por la decisión, la comunicación, el aprendizaje, la medición y la interpretación.
Este mapa no es un test, no asigna etiquetas ni mide madurez; sí que propone un recorrido por esa cadena para que cada organización identifique el primer eslabón que puede estar fallando en la suya. El punto de entrada más útil no es el síntoma más visible, sino el que aparece antes en la cadena.
Serie C.A.O.S. · Modelo organizativo
¿Dónde empieza el CAOS?
CihmdW5jdGlvbigpIHsKCnZhciBfY21fQ0FQQVMgPSBbCiAgeyBpZDogImNyaXRlcmlvIiwgbm9tYnJlOiAiQ3JpdGVyaW8iLCBwcmVndW50YTogIlx1MDBiZkxhcyBwZXJzb25hcyBzYWJlbiBjb24gcXVcdTAwZTkgY3JpdGVyaW9zIGRlYmVuIGRlY2lkaXI/IiwgY2FvczogIlNlIGJ1c2NhIGNyaXRlcmlvLiBBYnN0ZW5lcnNlIGRlIHVzYXJsby4iLCBkZXNjOiAiRGVjaWRpciBzaW4gY3JpdGVyaW8gZGVmaW5pZG8gbm8gZXMgYWdpbGlkYWQ6IGVzIGRpZmVyaXIgbGEgcmVzcG9uc2FiaWxpZGFkLiBFbCBjcml0ZXJpbyBsbGVnYSBkZXNwdVx1MDBlOXMsIGN1YW5kbyB5YSBubyBwdWVkZSBjYW1iaWFyIG5hZGEuIiwgdXJsOiAiaHR0cHM6Ly93d3cub2JzZXJ2YXRvcmlvcmguY29tL29yaC9zZS1idXNjYS1jcml0ZXJpby1hYnN0ZW5lcnNlLWRlLXVzYXJsby5odG1sIiB9LAogIHsgaWQ6ICJkZWNpc2lvbiIsIG5vbWJyZTogIkRlY2lzaVx1MDBmM24iLCBwcmVndW50YTogIkN1YW5kbyBoYXkgcXVlIGRlY2lkaXIsIFx1MDBiZmxhIGRlY2lzaVx1MDBmM24gbGxlZ2E/IiwgY2FvczogIkFjdGEgZGUgbm8gZGVjaXNpXHUwMGYzbiIsIGRlc2M6ICJMYXMgb3JnYW5pemFjaW9uZXMgbm8gc2llbXByZSBhcGxhemFuIGxhcyBkZWNpc2lvbmVzIHBvciBmYWx0YSBkZSBpbmZvcm1hY2lcdTAwZjNuLiBBIHZlY2VzIGdlbmVyYW4gcmV1bmlvbmVzIGN1eWEgXHUwMGZhbmljYSBmdW5jaVx1MDBmM24gZXMganVzdGlmaWNhciBxdWUgdG9kYXZcdTAwZWRhIG5vIHNlIGhhIGRlY2lkaWRvLiIsIHVybDogImh0dHBzOi8vd3d3Lm9ic2VydmF0b3Jpb3JoLmNvbS9vcmgvYWN0YS1kZS1uby1kZWNpc2lvbi5odG1sIiB9LAogIHsgaWQ6ICJjb211bmljYWNpb24iLCBub21icmU6ICJDb211bmljYWNpXHUwMGYzbiIsIHByZWd1bnRhOiAiXHUwMGJmTGEgaW5mb3JtYWNpXHUwMGYzbiBsbGVnYSBhIHF1aWVuIHJlYWxtZW50ZSBsYSBuZWNlc2l0YT8iLCBjYW9zOiAiXHUwMGJmRGVzdGluYXRhcmlvOiBpcnJlbGV2YW50ZT8iLCBkZXNjOiAiQ29tdW5pY2FyIGEgdG9kYSBsYSBlbXByZXNhIGxvIHF1ZSBzb2xvIGFmZWN0YSBhIHVuYSBwYXJ0ZSBubyBlcyB0cmFuc3BhcmVuY2lhOiBlcyBydWlkby4gWSBlbCBydWlkbyB0aWVuZSBjb3N0ZXMgcXVlIHJhcmEgdmV6IHNlIGNvbnRhYmlsaXphbi4iLCB1cmw6ICJodHRwczovL3d3dy5vYnNlcnZhdG9yaW9yaC5jb20vb3JoL2Rlc3RpbmF0YXJpby1pcnJlbGV2YW50ZS5odG1sIiB9LAogIHsgaWQ6ICJhcHJlbmRpemFqZSIsIG5vbWJyZTogIkFwcmVuZGl6YWplIiwgcHJlZ3VudGE6ICJcdTAwYmZMYXMgcGVyc29uYXMgYXByZW5kZW4gY1x1MDBmM21vIHNlIHRyYWJhamEgbyBzb2xvIGNcdTAwZjNtbyBzZSBoYWNlPyIsIGNhb3M6ICJPbmJvYXJkaW5nIGRlIGFyY2lsbGEiLCBkZXNjOiAiRWwgcHJpbWVyIGRcdTAwZWRhIGRlZmluZSBsYSByZWxhY2lcdTAwZjNuLiBDdWFuZG8gbG8gcXVlIHJlY2liZSB1bmEgcGVyc29uYSBudWV2YSBlcyB1biBmb3JtdWxhcmlvIGVuIGx1Z2FyIGRlIHVuYSBwZXJzb25hLCBsYSBzZVx1MDBmMWFsIHlhIGVzdFx1MDBlMSBlbnZpYWRhLiIsIHVybDogImh0dHBzOi8vd3d3Lm9ic2VydmF0b3Jpb3JoLmNvbS9vcmgvb25ib2FyZGluZy1kZS1hcmNpbGxhLmh0bWwiIH0sCiAgeyBpZDogIm1lZGljaW9uIiwgbm9tYnJlOiAiTWVkaWNpXHUwMGYzbiIsIHByZWd1bnRhOiAiXHUwMGJmTG9zIGluZGljYWRvcmVzIGF5dWRhbiBhIGNvbXByZW5kZXIgbyBzb2xvIGEgbW9zdHJhcj8iLCBjYW9zOiAiS1BJOiBLb2xvcmVzIFBhcmEgSW1wcmVzaW9uYXIiLCBkZXNjOiAiVW4gY3VhZHJvIGRlIG1hbmRvIGNvbiBtdWNoYXMgbVx1MDBlOXRyaWNhcyBkZSBjb2xvcmVzIG5vIG1pZGUgbVx1MDBlMXM6IGRpc3RyYWUgbVx1MDBlMXMuIExhIHByb2xpZmVyYWNpXHUwMGYzbiBkZSBpbmRpY2Fkb3JlcyBlcyBmcmVjdWVudGVtZW50ZSB1bmEgc2VcdTAwZjFhbCBkZSBxdWUgbmFkaWUgc2FiZSBxdVx1MDBlOSBpbXBvcnRhIGRlIHZlcmRhZC4iLCB1cmw6ICJodHRwczovL3d3dy5vYnNlcnZhdG9yaW9yaC5jb20vY2Fvcy9jLWEtby1zLWtwaS1rb2xvcmVzLXBhcmEtaW1wcmVzaW9uYXIuaHRtbCIgfSwKICB7IGlkOiAiaW50ZXJwcmV0YWNpb24iLCBub21icmU6ICJJbnRlcnByZXRhY2lcdTAwZjNuIiwgcHJlZ3VudGE6ICJcdTAwYmZMb3MgZGF0b3MgZXhwbGljYW4gbGEgcmVhbGlkYWQgbyBzb2xvIGxhIGRlc2NyaWJlbj8iLCBjYW9zOiAiTG9zIGRhdG9zIGRlIHNhbHVkIG5vIG1pZW50ZW4sIHBlcm8gdGFtcG9jbyBjb25zdWVsYW4iLCBkZXNjOiAiUmVjb2dlciBtXHUwMGUxcyBkYXRvcyBkZSBiaWVuZXN0YXIgbm8gcHJvZHVjZSBtXHUwMGUxcyBiaWVuZXN0YXIuIFByb2R1Y2UgbVx1MDBlMXMgZGF0b3MuIExhIGRpZmVyZW5jaWEgZW50cmUgbWVkaXIgeSBnZXN0aW9uYXIgZXMgZG9uZGUgc2UgcGllcmRlIGxhIG1heW9yXHUwMGVkYSBkZSBsb3MgcHJvZ3JhbWFzLiIsIHVybDogImh0dHBzOi8vd3d3Lm9ic2VydmF0b3Jpb3JoLmNvbS9jYW9zL2Nhb3MtZGF0b3MtZGUtc2FsdWQtYmllbmVzdGFyLWNvcnBvcmF0aXZvLmh0bWwiIH0sCiAgeyBpZDogImNhdGVnb3JpYXMiLCBub21icmU6ICJDYXRlZ29yXHUwMGVkYXMiLCBwcmVndW50YTogIlx1MDBiZlNlZ3VcdTAwZWRzIG5vbWJyYW5kbyBlbCB0cmFiYWpvIGNvbiBjYXRlZ29yXHUwMGVkYXMgcXVlIHlhIG5vIGV4aXN0ZW4/IiwgY2FvczogIkV0aXF1ZXRhIHZpbnRhZ2UgZW4gdGllbXBvcyBkZSBJQSIsIGRlc2M6ICJBcGxpY2FyIGxhcyBtaXNtYXMgY2F0ZWdvclx1MDBlZGFzIGRlIGNsYXNpZmljYWNpXHUwMGYzbiBkZSBoYWNlIGRpZXogYVx1MDBmMW9zIGEgdW5hIHJlYWxpZGFkIHF1ZSBoYSBjYW1iaWFkbyBubyBlcyBwcnVkZW5jaWE6IGVzIGluYWRlY3VhY2lcdTAwZjNuIGNvbiBjZXJ0aWZpY2FkbyBkZSBhbnRpZ1x1MDBmY2VkYWQuIiwgdXJsOiAiaHR0cHM6Ly93d3cub2JzZXJ2YXRvcmlvcmguY29tL2Nhb3MvZXRpcXVldGEtdmludGFnZS1lbi10aWVtcG9zLWRlLWlhLmh0bWwiIH0KXTsKCnZhciBfY21fU0lOVE9NQVMgPSBbCiAgeyBsYWJlbDogIkRlY2lzaW9uZXMgcXVlIG5vIGF2YW56YW4iLCBjYXBhOiAwIH0sCiAgeyBsYWJlbDogIkNvbXVuaWNhY2lcdTAwZjNuIGNvbmZ1c2EgbyBjb24gcnVpZG8iLCBjYXBhOiAyIH0sCiAgeyBsYWJlbDogIkluY29ycG9yYWNpb25lcyBxdWUgbm8gYXJyYW5jYW4iLCBjYXBhOiAzIH0sCiAgeyBsYWJlbDogIkV4Y2VzbyBkZSBpbmRpY2Fkb3JlcyBzaW4gdXNvIiwgY2FwYTogNCB9LAogIHsgbGFiZWw6ICJEYXRvcyBxdWUgbm8gYXl1ZGFuIGEgYWN0dWFyIiwgY2FwYTogNSB9LAogIHsgbGFiZWw6ICJFdGlxdWV0YXMgcXVlIHlhIG5vIGRlc2NyaWJlbiBsYSByZWFsaWRhZCIsIGNhcGE6IDYgfSwKICB7IGxhYmVsOiAiTm8gbG8gc1x1MDBlOSB0b2Rhdlx1MDBlZGEiLCBjYXBhOiAwIH0KXTsKCnZhciBfY21fbW9kbyA9IG51bGw7CnZhciBfY21fY2FwYUluaWNpbyA9IDA7CnZhciBfY21fY2FwYUFjdHVhbCA9IDA7CnZhciBfY21fZXN0YWRvID0gW107CnZhciBfY21fY2FwYUZhbGxvID0gLTE7CgpmdW5jdGlvbiBfY21fcmVzZXQoKSB7CiAgX2NtX2VzdGFkbyA9IFtdOwogIGZvciAodmFyIGkgPSAwOyBpIDwgX2NtX0NBUEFTLmxlbmd0aDsgaSsrKSBfY21fZXN0YWRvLnB1c2goInBlbmRpZW50ZSIpOwogIF9jbV9jYXBhRmFsbG8gPSAtMTsKfQoKZnVuY3Rpb24gX2NtX3coKSB7IHJldHVybiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY2Fvcy1tYXBhLXdyYXAiKTsgfQoKZnVuY3Rpb24gX2NtX3JlbmRlcigpIHsKICBpZiAoIV9jbV9tb2RvKSB7IF9jbV9yZW5kZXJJbmljaW8oKTsgcmV0dXJuOyB9CiAgaWYgKF9jbV9tb2RvID09PSAibWFwYSIpIHsgX2NtX3JlbmRlck1hcGEoKTsgcmV0dXJuOyB9CiAgaWYgKF9jbV9tb2RvID09PSAiZ3VpYWRvIikgeyBfY21fcmVuZGVyU2ludG9tYSgpOyByZXR1cm47IH0KfQoKZnVuY3Rpb24gX2NtX3JlbmRlckluaWNpbygpIHsKICB2YXIgdyA9IF9jbV93KCk7IGlmICghdykgcmV0dXJuOwogIHcuaW5uZXJIVE1MID0KICAgICI8cCBjbGFzcz1cImNtLWludHJvLXR4dFwiPkxhcyBvcmdhbml6YWNpb25lcyByYXJhIHZleiBlbXBpZXphbiBmYWxsYW5kbyBlbiBsb3MgaW5kaWNhZG9yZXMgbyBlbiBsYSBJQS4gQW50ZXMgc2UgaGEgcm90byBhbGdvIG1cdTAwZTFzIGJcdTAwZTFzaWNvOiBlbCBjcml0ZXJpbywgbGEgZGVjaXNpXHUwMGYzbiwgbGEgY29tdW5pY2FjaVx1MDBmM24gbyBlbCBhcHJlbmRpemFqZS4gRXN0ZSBtYXBhIHByb3BvbmUgdW4gcmVjb3JyaWRvIHBvciBlc2EgY2FkZW5hIGRlIGNhdXNhcy48L3A+IiArCiAgICAiPHAgY2xhc3M9XCJjbS1pbnRyby1wcmVndW50YVwiPlx1MDBiZkNcdTAwZjNtbyBxdWllcmVzIHJlY29ycmVyIGVsIENBT1M/PC9wPiIgKwogICAgIjxkaXYgY2xhc3M9XCJjbS1tb2Rvc1wiPiIgKwogICAgIjxidXR0b24gY2xhc3M9XCJjbS1tb2RvLWJ0blwiIGlkPVwiY20tYnRuLWdcIj48c3BhbiBjbGFzcz1cImNtLW1vZG8taWNvXCI+XHVkODNkXHVkZDBkPC9zcGFuPjxzcGFuIGNsYXNzPVwiY20tbW9kby10aXR1bG9cIj5ObyBzXHUwMGU5IGRcdTAwZjNuZGUgZW1waWV6YSBlbCBwcm9ibGVtYTwvc3Bhbj48c3BhbiBjbGFzcz1cImNtLW1vZG8tc3ViXCI+VGUgZ3VpYW1vcyBjYXBhIGEgY2FwYSBwYXJhIGxvY2FsaXphciBlbCBwcmltZXIgZXNsYWJcdTAwZjNuIHF1ZSBwdWVkZSBlc3RhciBmYWxsYW5kby48L3NwYW4+PC9idXR0b24+IiArCiAgICAiPGJ1dHRvbiBjbGFzcz1cImNtLW1vZG8tYnRuXCIgaWQ9XCJjbS1idG4tbVwiPjxzcGFuIGNsYXNzPVwiY20tbW9kby1pY29cIj5cdWQ4M2VcdWRkZWQ8L3NwYW4+PHNwYW4gY2xhc3M9XCJjbS1tb2RvLXRpdHVsb1wiPllhIHRlbmdvIHVuYSBzb3NwZWNoYTwvc3Bhbj48c3BhbiBjbGFzcz1cImNtLW1vZG8tc3ViXCI+RXhwbG9yYSBkaXJlY3RhbWVudGUgbGEgY2FwYSBxdWUgcXVpZXJhcyBhbmFsaXphci48L3NwYW4+PC9idXR0b24+IiArCiAgICAiPC9kaXY+IjsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY20tYnRuLWciKS5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IF9jbV9tb2RvID0gImd1aWFkbyI7IF9jbV9yZXNldCgpOyBfY21fcmVuZGVyU2ludG9tYSgpOyB9OwogIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjbS1idG4tbSIpLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgX2NtX21vZG8gPSAibWFwYSI7IF9jbV9yZXNldCgpOyBfY21fcmVuZGVyTWFwYSgpOyB9Owp9CgpmdW5jdGlvbiBfY21fcmVuZGVyTWFwYSgpIHsKICB2YXIgdyA9IF9jbV93KCk7IGlmICghdykgcmV0dXJuOwogIHZhciBoID0gIjxwIGNsYXNzPVwiY20tbWFwYS1pbnRyb1wiPlNlbGVjY2lvbmEgbGEgY2FwYSBkb25kZSBzb3NwZWNoYXMgcXVlIHB1ZWRlIGVzdGFyIGVsIHByb2JsZW1hLjwvcD48ZGl2IGNsYXNzPVwiY20tY2FwYXMtbGlzdGFcIj4iOwogIGZvciAodmFyIGkgPSAwOyBpIDwgX2NtX0NBUEFTLmxlbmd0aDsgaSsrKSB7CiAgICB2YXIgYyA9IF9jbV9DQVBBU1tpXTsKICAgIHZhciBzdCA9IF9jbV9lc3RhZG9baV0gfHwgInBlbmRpZW50ZSI7CiAgICB2YXIgbWsgPSBzdCA9PT0gIm9rIiA/ICJcdTI3MTMiIDogKHN0ID09PSAiZmFsbG8iID8gIlx1MjcxNyIgOiAiXHUwMGI3Iik7CiAgICB2YXIgbWtjID0gImNtLW1hcmsgY20tbWFyay0iICsgc3Q7CiAgICBoICs9ICI8YnV0dG9uIGNsYXNzPVwiY20tY2FwYS1pdGVtXCIgZGF0YS1pPVwiIitpKyJcIj48c3BhbiBjbGFzcz1cIiIrbWtjKyJcIj4iK21rKyI8L3NwYW4+PHNwYW4gY2xhc3M9XCJjbS1jYXBhLW51bVwiPiIrKGkrMSkrIjwvc3Bhbj48c3BhbiBjbGFzcz1cImNtLWNhcGEtbm9tYnJlXCI+IitjLm5vbWJyZSsiPC9zcGFuPjxzcGFuIGNsYXNzPVwiY20tY2FwYS1wcmVnXCI+IitjLnByZWd1bnRhKyI8L3NwYW4+PC9idXR0b24+IjsKICB9CiAgaCArPSAiPC9kaXY+PGJ1dHRvbiBjbGFzcz1cImNtLXJlc2V0LWJ0blwiPkVtcGV6YXIgZGUgbnVldm88L2J1dHRvbj4iOwogIHcuaW5uZXJIVE1MID0gaDsKICB2YXIgYnRucyA9IHcucXVlcnlTZWxlY3RvckFsbCgiLmNtLWNhcGEtaXRlbSIpOwogIGZvciAodmFyIGogPSAwOyBqIDwgYnRucy5sZW5ndGg7IGorKykgewogICAgKGZ1bmN0aW9uKGJ0bikgewogICAgICBidG4ub25jbGljayA9IGZ1bmN0aW9uKCkgeyBfY21fcmVuZGVyQ2FwYShwYXJzZUludChidG4uZ2V0QXR0cmlidXRlKCJkYXRhLWkiKSksICJtYXBhIik7IH07CiAgICB9KShidG5zW2pdKTsKICB9CiAgdy5xdWVyeVNlbGVjdG9yKCIuY20tcmVzZXQtYnRuIikub25jbGljayA9IGZ1bmN0aW9uKCkgeyBfY21fbW9kbyA9IG51bGw7IF9jbV9yZXNldCgpOyBfY21fcmVuZGVyKCk7IH07Cn0KCmZ1bmN0aW9uIF9jbV9yZW5kZXJTaW50b21hKCkgewogIHZhciB3ID0gX2NtX3coKTsgaWYgKCF3KSByZXR1cm47CiAgdmFyIGggPSAiPHAgY2xhc3M9XCJjbS1ndWlhZG8taW50cm9cIj5cdTAwYmZRdVx1MDBlOSBzXHUwMGVkbnRvbWEgb2JzZXJ2YXMgcHJpbWVybz88L3A+PGRpdiBjbGFzcz1cImNtLXNpbnRvbWFzXCI+IjsKICBmb3IgKHZhciBpID0gMDsgaSA8IF9jbV9TSU5UT01BUy5sZW5ndGg7IGkrKykgewogICAgaCArPSAiPGJ1dHRvbiBjbGFzcz1cImNtLXNpbnRvbWEtYnRuXCIgZGF0YS1pPVwiIitpKyJcIj4iK19jbV9TSU5UT01BU1tpXS5sYWJlbCsiPC9idXR0b24+IjsKICB9CiAgaCArPSAiPC9kaXY+PGJ1dHRvbiBjbGFzcz1cImNtLWJhY2stYnRuXCI+XHUyMTkwIFZvbHZlcjwvYnV0dG9uPiI7CiAgdy5pbm5lckhUTUwgPSBoOwogIHZhciBidG5zID0gdy5xdWVyeVNlbGVjdG9yQWxsKCIuY20tc2ludG9tYS1idG4iKTsKICBmb3IgKHZhciBqID0gMDsgaiA8IGJ0bnMubGVuZ3RoOyBqKyspIHsKICAgIChmdW5jdGlvbihidG4pIHsKICAgICAgYnRuLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgaWR4ID0gcGFyc2VJbnQoYnRuLmdldEF0dHJpYnV0ZSgiZGF0YS1pIikpOwogICAgICAgIF9jbV9jYXBhSW5pY2lvID0gX2NtX1NJTlRPTUFTW2lkeF0uY2FwYTsKICAgICAgICBfY21fY2FwYUFjdHVhbCA9IF9jbV9jYXBhSW5pY2lvOwogICAgICAgIF9jbV9yZW5kZXJDYXBhKF9jbV9jYXBhQWN0dWFsLCAiZ3VpYWRvIik7CiAgICAgIH07CiAgICB9KShidG5zW2pdKTsKICB9CiAgdy5xdWVyeVNlbGVjdG9yKCIuY20tYmFjay1idG4iKS5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IF9jbV9tb2RvID0gbnVsbDsgX2NtX3Jlc2V0KCk7IF9jbV9yZW5kZXIoKTsgfTsKfQoKZnVuY3Rpb24gX2NtX3JlbmRlckNhcGEoaWR4LCBvcmlnZW4pIHsKICB2YXIgdyA9IF9jbV93KCk7IGlmICghdykgcmV0dXJuOwogIHZhciBjID0gX2NtX0NBUEFTW2lkeF07CiAgdmFyIGluc3RyID0gb3JpZ2VuID09PSAiZ3VpYWRvIgogICAgPyAiU2kgZW4gdHUgb3JnYW5pemFjaVx1MDBmM24gZXN0YSBjYXBhIGZ1bmNpb25hIGJpZW4sIHNpZ3VlLiBTaSBhcXVcdTAwZWQgZW1waWV6YW4gbG9zIHByb2JsZW1hcywgeWEgdGllbmVzIGVsIHByaW1lciBlc2xhYlx1MDBmM24gcm90by4iCiAgICA6ICJSZXNwb25kZSBjb24gaG9uZXN0aWRhZC4iOwogIHcuaW5uZXJIVE1MID0KICAgICI8ZGl2IGNsYXNzPVwiY20tY2FwYS1oZWFkZXJcIj48c3BhbiBjbGFzcz1cImNtLWNhcGEtYmFkZ2VcIj4iKyhpZHgrMSkrIiBcdTIwMjIgIitjLm5vbWJyZSsiPC9zcGFuPjwvZGl2PiIgKwogICAgIjxkaXYgY2xhc3M9XCJjbS1jYXBhLXByZWd1bnRhLWJpZ1wiPiIrYy5wcmVndW50YSsiPC9kaXY+IiArCiAgICAiPHAgY2xhc3M9XCJjbS1jYXBhLWluc3RydWNjaW9uXCI+IitpbnN0cisiPC9wPiIgKwogICAgIjxkaXYgY2xhc3M9XCJjbS1jYXBhLXJlc3B1ZXN0YXNcIj4iICsKICAgICI8YnV0dG9uIGNsYXNzPVwiY20tcmVzcC1idG4gY20tcmVzcC1va1wiIGlkPVwiY20tci1va1wiPlNcdTAwZWQsIGVzdG8gZnVuY2lvbmEgYmllbjwvYnV0dG9uPiIgKwogICAgIjxidXR0b24gY2xhc3M9XCJjbS1yZXNwLWJ0biBjbS1yZXNwLWZhbGxvXCIgaWQ9XCJjbS1yLWZhbGxvXCI+QXF1XHUwMGVkIGVtcGllemEgZWwgcHJvYmxlbWE8L2J1dHRvbj4iICsKICAgICI8L2Rpdj4iICsKICAgICI8YnV0dG9uIGNsYXNzPVwiY20tYmFjay1idG5cIj5cdTIxOTAgVm9sdmVyPC9idXR0b24+IjsKCiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNtLXItb2siKS5vbmNsaWNrID0gZnVuY3Rpb24oKSB7CiAgICBfY21fZXN0YWRvW2lkeF0gPSAib2siOwogICAgdmFyIG5leHQgPSBpZHggKyAxOwogICAgaWYgKG5leHQgPCBfY21fQ0FQQVMubGVuZ3RoKSB7IF9jbV9jYXBhQWN0dWFsID0gbmV4dDsgX2NtX3JlbmRlckNhcGEobmV4dCwgb3JpZ2VuKTsgfQogICAgZWxzZSB7IF9jbV9yZW5kZXJTaW5GYWxsbygpOyB9CiAgfTsKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY20tci1mYWxsbyIpLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsKICAgIF9jbV9lc3RhZG9baWR4XSA9ICJmYWxsbyI7CiAgICBfY21fY2FwYUZhbGxvID0gaWR4OwogICAgX2NtX3JlbmRlclJlc3VsdGFkbyhpZHgpOwogIH07CiAgdy5xdWVyeVNlbGVjdG9yKCIuY20tYmFjay1idG4iKS5vbmNsaWNrID0gZnVuY3Rpb24oKSB7CiAgICBpZiAob3JpZ2VuID09PSAiZ3VpYWRvIikgewogICAgICBpZiAoaWR4ID09PSBfY21fY2FwYUluaWNpbykgeyBfY21fcmVuZGVyU2ludG9tYSgpOyB9CiAgICAgIGVsc2UgeyBfY21fcmVuZGVyQ2FwYShpZHggLSAxLCBvcmlnZW4pOyB9CiAgICB9IGVsc2UgeyBfY21fcmVuZGVyTWFwYSgpOyB9CiAgfTsKfQoKZnVuY3Rpb24gX2NtX21hcGFFc3RhZG8oYWN0aXZlSWR4KSB7CiAgdmFyIGggPSAiPGRpdiBjbGFzcz1cImNtLWVzdGFkby1tYXBhXCI+IjsKICBmb3IgKHZhciBpID0gMDsgaSA8IF9jbV9DQVBBUy5sZW5ndGg7IGkrKykgewogICAgdmFyIHN0ID0gX2NtX2VzdGFkb1tpXSB8fCAicGVuZGllbnRlIjsKICAgIHZhciBtayA9IHN0ID09PSAib2siID8gIlx1MjcxMyIgOiAoc3QgPT09ICJmYWxsbyIgPyAiXHUyNzE3IiA6ICJcdTAwYjciKTsKICAgIHZhciBta2MgPSAiY20tZXN0LW1hcmsgY20tZXN0LSIgKyBzdDsKICAgIHZhciBuYyA9ICJjbS1lc3Qtbm9tYnJlIiArIChpID09PSBhY3RpdmVJZHggPyAiIGNtLWVzdC1hY3RpdmUiIDogIiIpOwogICAgaCArPSAiPGRpdiBjbGFzcz1cImNtLWVzdC1maWxhXCI+PHNwYW4gY2xhc3M9XCIiK21rYysiXCI+IittaysiPC9zcGFuPjxzcGFuIGNsYXNzPVwiIituYysiXCI+IitfY21fQ0FQQVNbaV0ubm9tYnJlKyI8L3NwYW4+PC9kaXY+IjsKICB9CiAgaCArPSAiPC9kaXY+IjsKICByZXR1cm4gaDsKfQoKZnVuY3Rpb24gX2NtX3JlbmRlclJlc3VsdGFkbyhpZHgpIHsKICB2YXIgdyA9IF9jbV93KCk7IGlmICghdykgcmV0dXJuOwogIHZhciBjID0gX2NtX0NBUEFTW2lkeF07CiAgdy5pbm5lckhUTUwgPQogICAgIjxkaXYgY2xhc3M9XCJjbS1yZXMta2lja2VyXCI+UHJpbWVyIGVzbGFiXHUwMGYzbiByb3RvPC9kaXY+IiArCiAgICAiPGRpdiBjbGFzcz1cImNtLXJlcy1jYXBhXCI+IitjLm5vbWJyZSsiPC9kaXY+IiArCiAgICAiPGRpdiBjbGFzcz1cImNtLXJlcy1jYW9zXCI+IitjLmNhb3MrIjwvZGl2PiIgKwogICAgIjxkaXYgY2xhc3M9XCJjbS1yZXMtZGVzY1wiPiIrYy5kZXNjKyI8L2Rpdj4iICsKICAgICI8YSBjbGFzcz1cImNtLXJlcy1jdGFcIiBocmVmPVwiIitjLnVybCsiXCIgdGFyZ2V0PVwiX2JsYW5rXCI+TGVlciBlbCBhcnRcdTAwZWRjdWxvIFx1MjE5MjwvYT4iICsKICAgICI8ZGl2IGNsYXNzPVwiY20tcmVzLWRpdmlkZXJcIj48L2Rpdj4iICsKICAgIF9jbV9tYXBhRXN0YWRvKGlkeCkgKwogICAgIjxwIGNsYXNzPVwiY20tcmVzLWNpZXJyZVwiPkVsIENBT1MgcmFyYSB2ZXogbmFjZSBkb25kZSBzZSBoYWNlIHZpc2libGUuIExvcyBpbmRpY2Fkb3JlcywgbG9zIGRhdG9zIG8gbGEgSUEgc3VlbGVuIG1vc3RyYXIgdW4gcHJvYmxlbWEgY3V5byBvcmlnZW4gZXN0XHUwMGUxIHZhcmlvcyBuaXZlbGVzIHBvciBlbmNpbWEuIEVzdGUgcmVjb3JyaWRvIHByb3BvbmUgbWlyYXIgcHJpbWVybyBoYWNpYSBsYXMgY2FwYXMgZXN0cnVjdHVyYWxlcyBhbnRlcyBkZSBpbnRlcnZlbmlyIHNvYnJlIGxvcyBzXHUwMGVkbnRvbWFzLjwvcD4iICsKICAgICI8YnV0dG9uIGNsYXNzPVwiY20tcmVzZXQtYnRuXCI+UmVjb3JyZXIgZGUgbnVldm88L2J1dHRvbj4iOwogIHcucXVlcnlTZWxlY3RvcigiLmNtLXJlc2V0LWJ0biIpLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgX2NtX21vZG8gPSBudWxsOyBfY21fcmVzZXQoKTsgX2NtX3JlbmRlcigpOyB9Owp9CgpmdW5jdGlvbiBfY21fcmVuZGVyU2luRmFsbG8oKSB7CiAgdmFyIHcgPSBfY21fdygpOyBpZiAoIXcpIHJldHVybjsKICB3LmlubmVySFRNTCA9CiAgICAiPGRpdiBjbGFzcz1cImNtLXJlcy1raWNrZXJcIj5SZWNvcnJpZG8gY29tcGxldGFkbzwvZGl2PiIgKwogICAgIjxkaXYgY2xhc3M9XCJjbS1yZXMtY2FwYVwiIHN0eWxlPVwiZm9udC1zaXplOjE2cHg7Zm9udC13ZWlnaHQ6NjAwXCI+Tm8gaGVtb3MgZW5jb250cmFkbyBlbCBvcmlnZW4gZGVsIHByb2JsZW1hIGVuIGVzdGEgY2FkZW5hLjwvZGl2PiIgKwogICAgIjxwIGNsYXNzPVwiY20tcmVzLWRlc2NcIj5Fc3RhIHNlcmllIGFuYWxpemEgc2lldGUgcGF0cm9uZXMgZnJlY3VlbnRlcyBkZSBkZXNvcmRlbiBvcmdhbml6YXRpdm8sIHBlcm8gbm8gcHJldGVuZGUgZXhwbGljYXIgdG9kb3MgbG9zIHBvc2libGVzLiBRdWl6XHUwMGUxIGVsIHByaW1lciBmYWxsbyBlc3RcdTAwZTkgZW4gb3RybyBwdW50byBkZWwgc2lzdGVtYVx1MjAyNiBvIHF1aXpcdTAwZTEgdG9kYXZcdTAwZWRhIG5vIGxvIGhlbW9zIGVzY3JpdG8uPC9wPiIgKwogICAgIjxkaXYgY2xhc3M9XCJjbS1yZXMtZGl2aWRlclwiPjwvZGl2PiIgKwogICAgX2NtX21hcGFFc3RhZG8oLTEpICsKICAgICI8cCBjbGFzcz1cImNtLXJlcy1jaWVycmVcIj5FbCBDQU9TIHJhcmEgdmV6IG5hY2UgZG9uZGUgc2UgaGFjZSB2aXNpYmxlLiBMb3MgaW5kaWNhZG9yZXMsIGxvcyBkYXRvcyBvIGxhIElBIHN1ZWxlbiBtb3N0cmFyIHVuIHByb2JsZW1hIGN1eW8gb3JpZ2VuIGVzdFx1MDBlMSB2YXJpb3Mgbml2ZWxlcyBwb3IgZW5jaW1hLjwvcD4iICsKICAgICI8YnV0dG9uIGNsYXNzPVwiY20tcmVzZXQtYnRuXCI+UmVjb3JyZXIgZGUgbnVldm88L2J1dHRvbj4iOwogIHcucXVlcnlTZWxlY3RvcigiLmNtLXJlc2V0LWJ0biIpLm9uY2xpY2sgPSBmdW5jdGlvbigpIHsgX2NtX21vZG8gPSBudWxsOyBfY21fcmVzZXQoKTsgX2NtX3JlbmRlcigpOyB9Owp9CgpmdW5jdGlvbiBfY21faW5pdCgpIHsKICBfY21fcmVzZXQoKTsKICBfY21fcmVuZGVyKCk7Cn0KCmlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAibG9hZGluZyIpIHsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIiwgX2NtX2luaXQpOwp9IGVsc2UgewogIHNldFRpbWVvdXQoX2NtX2luaXQsIDApOwp9Cgp9KSgpOwo=