PD9waHAKLyoKIFBsdWdpbiBOYW1lOiBVbmRlciBDb25zdHJ1Y3Rpb24KIFBsdWdpbiBVUkk6IGh0dHA6Ly93d3cubWFzc2VsdGVjaC5jb20vCiBEZXNjcmlwdGlvbjogTWFrZXMgaXQgc28geW91ciBzaXRlIGNhbiBvbmx5IGJlIGFjY2Vzc2VkIGJ5IHVzZXJzIHdobyBsb2cgaW4uIFVzZWZ1bCBmb3IgZGV2ZWxvcGluZyBhIHNpdGUgb24gYSBsaXZlIHNlcnZlciwgd2l0aG91dCB0aGUgd29ybGQgYmVpbmcgYWJsZSB0byBzZWUgaXQKIFZlcnNpb246IDEuMTIKIEF1dGhvcjogSmVyZW15IE1hc3NlbAogQXV0aG9yIFVSSTogaHR0cDovL3d3dy5tYXNzZWx0ZWNoLmNvbS8KICovCgovKgogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdW5kZXJDb25zdHJ1Y3Rpb24uCiB1bmRlckNvbnN0cnVjdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiB1bmRlckNvbnN0cnVjdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQogYWxvbmcgd2l0aCB1bmRlckNvbnN0cnVjdGlvbi4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICovCgo/Pgo8P3BocApjbGFzcyB1bmRlckNvbnN0cnVjdGlvbgp7Cgl2YXIgJGluc3RhbGxlZEZvbGRlciA9ICIiOwoJdmFyICRtYWluT3B0aW9uc1BhZ2UgPSAidW5kZXJDb25zdHJ1Y3Rpb25NYWluT3B0aW9ucyI7CgoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQoJewoJCSR0aGlzLT5pbnN0YWxsZWRGb2xkZXIgPSBiYXNlbmFtZShkaXJuYW1lKF9fRklMRV9fKSk7Cgl9CgoJZnVuY3Rpb24gdW5kZXJDb25zdHJ1Y3Rpb24oKQoJewoJCSR0aGlzLT5fX2NvbnN0cnVjdCgpOwoJfQoKCWZ1bmN0aW9uIGdldE1haW5PcHRpb25zUGFnZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5tYWluT3B0aW9uc1BhZ2U7Cgl9CgoJZnVuY3Rpb24gdW5kZXJDb25zdHJ1Y3Rpb25BZG1pbkluaXQoKQoJewoJCS8qIFJlZ2lzdGVyIG91ciBzY3JpcHQuICovCgkJd3BfcmVnaXN0ZXJfc2NyaXB0KCd1bmRlckNvbnN0cnVjdGlvbkpTJywgV1BfUExVR0lOX1VSTC4nLycuJHRoaXMtPmluc3RhbGxlZEZvbGRlci4nL3VuZGVyY29uc3RydWN0aW9uLm1pbi5qcycpOwoJfQoKCWZ1bmN0aW9uIHVjX2NoYW5nZU1lc3NhZ2UoKQoJewoJCXJlcXVpcmVfb25jZSAoJ3VjT3B0aW9ucy5waHAnKTsKCX0KCglmdW5jdGlvbiB1Y19hZG1pbk1lbnUoKQoJewoJCS8qIFJlZ2lzdGVyIG91ciBwbHVnaW4gcGFnZSAqLwoJCSRwYWdlID0gYWRkX29wdGlvbnNfcGFnZSgnVW5kZXIgQ29uc3RydWN0aW9uIFNldHRpbmdzJywgJ1VuZGVyIENvbnN0cnVjdGlvbicsICdhY3RpdmF0ZV9wbHVnaW5zJywgJHRoaXMtPm1haW5PcHRpb25zUGFnZSwgYXJyYXkoJHRoaXMsICd1Y19jaGFuZ2VNZXNzYWdlJykpOwoKCQkvKiBVc2luZyByZWdpc3RlcmVkICRwYWdlIGhhbmRsZSB0byBob29rIHNjcmlwdCBsb2FkICovCgkJYWRkX2FjdGlvbignYWRtaW5fcHJpbnRfc2NyaXB0cy0nLiRwYWdlLCBhcnJheSgkdGhpcywgJ3VuZGVyQ29uc3RydWN0aW9uRW5xdWV1ZVNjcmlwdHMnKSk7CgoJfQoKCWZ1bmN0aW9uIHVuZGVyQ29uc3RydWN0aW9uRW5xdWV1ZVNjcmlwdHMoKQoJewoJCS8qCgkJICogSXQgd2lsbCBiZSBjYWxsZWQgb25seSBvbiB5b3VyIHBsdWdpbiBhZG1pbiBwYWdlLCBlbnF1ZXVlIG91ciBzY3JpcHQgaGVyZQoJCSAqLwoJCXdwX2VucXVldWVfc2NyaXB0KCdzY3JpcHRhY3Vsb3VzJyk7CgkJd3BfZW5xdWV1ZV9zY3JpcHQoJ3VuZGVyQ29uc3RydWN0aW9uSlMnKTsKCX0KCglmdW5jdGlvbiB1Y19vdmVycmlkZVdQKCkKCXsKCQlpZiAoJHRoaXMtPnBsdWdpbklzQWN0aXZlKCkpCgkJewoJCQlpZiAoIWlzX3VzZXJfbG9nZ2VkX2luKCkpCgkJCXsKCQkJCSRhcnJheSA9IGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uSVBXaGl0ZWxpc3QnKTsKCQkJCQoJCQkJaWYoIWlzX2FycmF5KCRhcnJheSkpewoJCQkJCSRhcnJheSA9IGFycmF5KCk7CgkJCQl9CgkJCQkKCQkJCWlmKCFpbl9hcnJheSgkX1NFUlZFUlsnUkVNT1RFX0FERFInXSwgJGFycmF5KSl7CgoJCQkJCS8vc2VuZCBhIDUwMyBpZiB0aGUgc2V0dGluZyByZXF1aXJlcyBpdAoJCQkJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkhUVFBTdGF0dXMnKSA9PSA1MDMpCgkJCQkJewoJCQkJCQloZWFkZXIoJ0hUVFAvMS4xIDUwMyBTZXJ2aWNlIFVuYXZhaWxhYmxlJyk7CgkJCQkJfQoKCQkJCQkvL3NlbmQgYSA1MDMgaWYgdGhlIHNldHRpbmcgcmVxdWlyZXMgaXQKCQkJCQlpZiAoZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJykgPT0gMzAxKQoJCQkJCXsKCQkJCQkJaGVhZGVyKCAiSFRUUC8xLjEgMzAxIE1vdmVkIFBlcm1hbmVudGx5IiApOwoJCQkJCQloZWFkZXIoICJMb2NhdGlvbjogIiAuIGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uUmVkaXJlY3RVUkwnKSApOwoJCQkJCX0KCgkJCQkJaWYgKCR0aGlzLT5kaXNwbGF5U3RhdHVzQ29kZUlzKDApKSAvL3RoZXkgd2FudCB0aGUgZGVmYXVsdCEKCQkJCQl7CgkJCQkJCXJlcXVpcmVfb25jZSAoJ2RlZmF1bHRNZXNzYWdlLnBocCcpOwoJCQkJCQlkaXNwbGF5RGVmYXVsdENvbWluZ1Nvb25QYWdlKCk7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCgkJCQkJaWYgKCR0aGlzLT5kaXNwbGF5U3RhdHVzQ29kZUlzKDEpKSAvL3RoZXkgd2FudCB0aGUgZGVmYXVsdCB3aXRoIGN1c3RvbSB0ZXh0IQoJCQkJCXsKCQkJCQkJcmVxdWlyZV9vbmNlICgnZGVmYXVsdE1lc3NhZ2UucGhwJyk7CgkJCQkJCWRpc3BsYXlDb21pbmdTb29uUGFnZSgkdGhpcy0+Z2V0Q3VzdG9tUGFnZVRpdGxlKCksICR0aGlzLT5nZXRDdXN0b21IZWFkZXJUZXh0KCksICR0aGlzLT5nZXRDdXN0b21Cb2R5VGV4dCgpKTsKCQkJCQkJZGllKCk7CgkJCQkJfQoKCQkJCQlpZiAoJHRoaXMtPmRpc3BsYXlTdGF0dXNDb2RlSXMoMikpIC8vdGhleSB3YW50IGN1c3RvbSBIVE1MIQoJCQkJCXsKCQkJCQkJZWNobyBodG1sX2VudGl0eV9kZWNvZGUoJHRoaXMtPmdldEN1c3RvbUhUTUwoKSwgRU5UX1FVT1RFUyk7CgkJCQkJCWRpZSgpOwoJCQkJCX0KCQkJCQkKCQkJCQlpZigkdGhpcy0+ZGlzcGxheVN0YXR1c0NvZGVJcygzKSl7CgkJCQkJCXJlcXVpcmVfb25jZShnZXRfdGVtcGxhdGVfZGlyZWN0b3J5KCkgLiAnL3VuZGVyLWNvbnN0cnVjdGlvbi5waHAnKTsKCQkJCQkJZGllKCk7CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIHVjX2FkbWluX292ZXJyaWRlX1dQKCl7CgoJCWlmKCEkdGhpcy0+cGx1Z2luSXNBY3RpdmUoKSl7CgkJCXJldHVybjsKCQl9CgoJCWlmKGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uUmVxdWlyZWRSb2xlJykgJiYgaXNfdXNlcl9sb2dnZWRfaW4oKSl7CgkJCQoJCQlnbG9iYWwgJHdwX3JvbGVzOwoJCQkkYWxsX3JvbGVzID0gJHdwX3JvbGVzLT5yb2xlczsKCQkJCQkKCQkJJGVkaXRhYmxlX3JvbGVzID0gYXBwbHlfZmlsdGVycygnZWRpdGFibGVfcm9sZXMnLCAkYWxsX3JvbGVzKTsKCgkJCSRyZXF1aXJlZF9yb2xlID0gJGVkaXRhYmxlX3JvbGVzW2dldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uUmVxdWlyZWRSb2xlJyldOwoKCQkJJG5ld19wcml2cyA9IGFycmF5KCk7CgoKCQkJZm9yZWFjaCgkcmVxdWlyZWRfcm9sZVsnY2FwYWJpbGl0aWVzJ10gYXMgJGtleSA9PiAkdmFsdWUpewoJCQkJaWYoJHZhbHVlID09IHRydWUpewoJCQkJCSRuZXdfcHJpdnNbXSA9ICRrZXk7CgkJCQl9CgkJCX0KCgkJCWlmKCFjdXJyZW50X3VzZXJfY2FuKCRuZXdfcHJpdnNbMF0pKXsKCQkJCXdwX2xvZ291dCgpOwoJCQkJd3BfcmVkaXJlY3QoZ2V0X2Jsb2dpbmZvKCd1cmwnKSk7CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gZ2V0Q3VzdG9tSFRNTCgpCgl7CgkJcmV0dXJuIHN0cmlwc2xhc2hlcyhnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkhUTUwnKSk7Cgl9CgoKCWZ1bmN0aW9uIHVjX2FjdGl2YXRlKCkKCXsKCQlpZiAoZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BcmNoaXZlJykpCgkJewoJCQkvL2dldCBhbGwgdGhlIG9wdGlvbnMgYmFjayBmcm9tIHRoZSBhcmNoaXZlCgkJCSRvcHRpb25zID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BcmNoaXZlJyk7CgoJCQkvL3B1dCB0aGVtIGJhY2sgd2hlcmUgdGhleSBiZWxvbmcKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVE1MJywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uSFRNTCddKTsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BY3RpdmF0aW9uU3RhdHVzJywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uQWN0aXZhdGlvblN0YXR1cyddKTsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25DdXN0b21UZXh0JywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uQ3VzdG9tVGV4dCddKTsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25EaXNwbGF5T3B0aW9uJywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbiddKTsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJywgJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uSFRUUFN0YXR1cyddKTsKCgkJCWRlbGV0ZV9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uQXJjaGl2ZScpOwoJCX0KCX0KCglmdW5jdGlvbiB1Y19kZWFjdGl2YXRlKCkKCXsKCQkvL2dldCBhbGwgdGhlIG9wdGlvbnMuIHN0b3JlIHRoZW0gaW4gYW4gYXJyYXkKCQkkb3B0aW9ucyA9IGFycmF5KCk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uSFRNTCddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVE1MJyk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uQWN0aXZhdGlvblN0YXR1cyddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BY3RpdmF0aW9uU3RhdHVzJyk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uQ3VzdG9tVGV4dCddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25DdXN0b21UZXh0Jyk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbiddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25EaXNwbGF5T3B0aW9uJyk7CgkJJG9wdGlvbnNbJ3VuZGVyQ29uc3RydWN0aW9uSFRUUFN0YXR1cyddID0gZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJyk7CgoJCS8vc3RvcmUgdGhlIG9wdGlvbnMgYWxsIGluIG9uZSByZWNvcmQsIGluIGNhc2Ugd2UgZXZlciByZWFjdGl2YXRlIHRoZSBwbHVnaW4KCQl1cGRhdGVfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkFyY2hpdmUnLCAkb3B0aW9ucyk7CgoJCS8vZGVsZXRlIHRoZSBzZXBhcmF0ZSBvbmVzCgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVE1MJyk7CgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BY3RpdmF0aW9uU3RhdHVzJyk7CgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25DdXN0b21UZXh0Jyk7CgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25EaXNwbGF5T3B0aW9uJyk7CgkJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJyk7Cgl9CgoJZnVuY3Rpb24gcGx1Z2luSXNBY3RpdmUoKQoJewoKCQlpZiAoIWdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uQWN0aXZhdGlvblN0YXR1cycpKSAvL2lmIGl0J3Mgbm90IHNldCB5ZXQKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkFjdGl2YXRpb25TdGF0dXMnKSA9PSAxKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9Cgl9CgoJZnVuY3Rpb24gaHR0cFN0YXR1c0NvZGVJcygkc3RhdHVzKQoJewoJCWlmICghZ2V0X29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJykpIC8vaWYgaXQncyBub3Qgc2V0IHlldAoJCXsKCQkJdXBkYXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25IVFRQU3RhdHVzJywgMjAwKTsgLy9zZXQgaXQKCQl9CgoJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkhUVFBTdGF0dXMnKSA9PSAkc3RhdHVzKQoJCXsKCQkJcmV0dXJuIHRydWU7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJfQoKCWZ1bmN0aW9uIGRpc3BsYXlTdGF0dXNDb2RlSXMoJHN0YXR1cykKCXsKCQlpZiAoIWdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbicpKSAvL2lmIGl0J3Mgbm90IHNldCB5ZXQKCQl7CgkJCXVwZGF0ZV9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbicsIDApOyAvL3NldCBpdAoJCX0KCgkJaWYgKGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uRGlzcGxheU9wdGlvbicpID09ICRzdGF0dXMpCgkJewoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCX0KCglmdW5jdGlvbiBnZXRDdXN0b21QYWdlVGl0bGUoKQoJewoJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkN1c3RvbVRleHQnKSAhPSBmYWxzZSkKCQl7CgkJCSRmaWVsZHMgPSBnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkN1c3RvbVRleHQnKTsKCQkJcmV0dXJuIHN0cmlwc2xhc2hlcygkZmllbGRzWydwYWdlVGl0bGUnXSk7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiAnJzsKCQl9Cgl9CgoJZnVuY3Rpb24gZ2V0Q3VzdG9tSGVhZGVyVGV4dCgpCgl7CgkJaWYgKGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uQ3VzdG9tVGV4dCcpICE9IGZhbHNlKQoJCXsKCQkJJGZpZWxkcyA9IGdldF9vcHRpb24oJ3VuZGVyQ29uc3RydWN0aW9uQ3VzdG9tVGV4dCcpOwoJCQlyZXR1cm4gc3RyaXBzbGFzaGVzKCRmaWVsZHNbJ2hlYWRlclRleHQnXSk7CgkJfQoJCWVsc2UKCQl7CgkJCXJldHVybiAnJzsKCQl9Cgl9CgoJZnVuY3Rpb24gZ2V0Q3VzdG9tQm9keVRleHQoKQoJewoJCWlmIChnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkN1c3RvbVRleHQnKSAhPSBmYWxzZSkKCQl7CgkJCSRmaWVsZHMgPSBnZXRfb3B0aW9uKCd1bmRlckNvbnN0cnVjdGlvbkN1c3RvbVRleHQnKTsKCQkJcmV0dXJuIHN0cmlwc2xhc2hlcygkZmllbGRzWydib2R5VGV4dCddKTsKCQl9CgkJZWxzZQoJCXsKCQkJcmV0dXJuICcnOwoJCX0KCX0KCgp9CgokdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW4gPSBuZXcgdW5kZXJDb25zdHJ1Y3Rpb24oKTsKCmFkZF9hY3Rpb24oJ3RlbXBsYXRlX3JlZGlyZWN0JywgYXJyYXkoJHVuZGVyQ29uc3RydWN0aW9uUGx1Z2luLCAndWNfb3ZlcnJpZGVXUCcpKTsKYWRkX2FjdGlvbignYWRtaW5faW5pdCcsIGFycmF5KCR1bmRlckNvbnN0cnVjdGlvblBsdWdpbiwgJ3VjX2FkbWluX292ZXJyaWRlX1dQJykpOwphZGRfYWN0aW9uKCd3cF9sb2dpbicsIGFycmF5KCR1bmRlckNvbnN0cnVjdGlvblBsdWdpbiwgJ3VjX2FkbWluX292ZXJyaWRlX1dQJykpOwoKCmFkZF9hY3Rpb24oJ3BsdWdpbnNfbG9hZGVkJywgJ3VuZGVyQ29uc3RydWN0aW9uSW5pdFRyYW5zbGF0aW9uJyk7CgphZGRfYWN0aW9uKCdhZG1pbl9pbml0JywgYXJyYXkoJHVuZGVyQ29uc3RydWN0aW9uUGx1Z2luLCAndW5kZXJDb25zdHJ1Y3Rpb25BZG1pbkluaXQnKSk7CmFkZF9hY3Rpb24oJ2FkbWluX21lbnUnLCBhcnJheSgkdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW4sICd1Y19hZG1pbk1lbnUnKSk7CgpyZWdpc3Rlcl9hY3RpdmF0aW9uX2hvb2soX19GSUxFX18sIGFycmF5KCR1bmRlckNvbnN0cnVjdGlvblBsdWdpbiwgJ3VjX2FjdGl2YXRlJykpOwpyZWdpc3Rlcl9kZWFjdGl2YXRpb25faG9vayhfX0ZJTEVfXywgYXJyYXkoJHVuZGVyQ29uc3RydWN0aW9uUGx1Z2luLCAndWNfZGVhY3RpdmF0ZScpKTsKcmVnaXN0ZXJfdW5pbnN0YWxsX2hvb2soX19GSUxFX18sICd1bmRlckNvbnN0cnVjdGlvblBsdWdpbl9kZWxldGUnKTsKCgoKZnVuY3Rpb24gdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW5fZGVsZXRlKCkKewoJZGVsZXRlX29wdGlvbigndW5kZXJDb25zdHJ1Y3Rpb25BcmNoaXZlJyk7Cn0KCmZ1bmN0aW9uIHVjX2dldF9pcF9hZGRyZXNzKCl7CgllY2hvICRfU0VSVkVSWydSRU1PVEVfQUREUiddOwoJZGllKCk7Cn0KCgpmdW5jdGlvbiB1bmRlckNvbnN0cnVjdGlvblBsdWdpbkxpbmtzKCRsaW5rcywgJGZpbGUpCnsKCWdsb2JhbCAkdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW47CglpZiAoJGZpbGUgPT0gYmFzZW5hbWUoZGlybmFtZShfX0ZJTEVfXykpLicvJy5iYXNlbmFtZShfX0ZJTEVfXykgJiYgZnVuY3Rpb25fZXhpc3RzKCJhZG1pbl91cmwiKSkKCXsKCQkvL2FkZCBzZXR0aW5ncyBwYWdlCgkJJG1hbmFnZV9saW5rID0gJzxhIGhyZWY9IicuYWRtaW5fdXJsKCdvcHRpb25zLWdlbmVyYWwucGhwP3BhZ2U9Jy4kdW5kZXJDb25zdHJ1Y3Rpb25QbHVnaW4tPmdldE1haW5PcHRpb25zUGFnZSgpKS4nIj4nLl9fKCdTZXR0aW5ncycpLic8L2E+JzsKCQlhcnJheV91bnNoaWZ0KCRsaW5rcywgJG1hbmFnZV9saW5rKTsKCgoJfQoJcmV0dXJuICRsaW5rczsKfQoKZnVuY3Rpb24gdW5kZXJDb25zdHJ1Y3Rpb25Jbml0VHJhbnNsYXRpb24oKSB7CiAgbG9hZF9wbHVnaW5fdGV4dGRvbWFpbiggJ3VuZGVyY29uc3RydWN0aW9uJywgZmFsc2UsIGRpcm5hbWUoIHBsdWdpbl9iYXNlbmFtZSggX19GSUxFX18gKSApIC4gJy9sYW5ndWFnZXMvJyApOwp9CgoKYWRkX2ZpbHRlcigncGx1Z2luX2FjdGlvbl9saW5rcycsICd1bmRlckNvbnN0cnVjdGlvblBsdWdpbkxpbmtzJywgMTAsIDIpOwoKCi8vYWpheAoKYWRkX2FjdGlvbignd3BfYWpheF91Y19nZXRfaXBfYWRkcmVzcycsICd1Y19nZXRfaXBfYWRkcmVzcycpOwoKPz4gNzc3Nzc3Nzc3Nwo=

PRIMERA VISITA

Ante todo, saludos a todos los visitantes de este blog dedicado a todo lo que de interés aconteció en Algeciras,  especiálmente durante las décadas de los

años 80 y 90 , aunque en ocasiones puedo incluir algo de otras décadas más o menos recientes a la que nos interesa, en función de su importancia, así como (aunque en el menor de los casos) incluir algún tipo de documento de fuera de esta ciudad.

El objetivo es hacer un repaso de bares, publicaciones, conciertos, etc… que

surgieron en Algeciras y que la convirtieron en el centro de la movida campogibraltareña.

Espero que entre todos vayamos haciendo este espacio más grande, por lo que se aceptan, diría más, se ruegan comentarios, aportes de cualquier tipo y todo lo que se os ocurra. Adelante, pasad y remontaros a aquellos años y recordad, o descubrid, lo que se movía en Algeciras.

NOTA: Muchas de las entradas están extraídas del libro “La Kultura alternativa en la Algeciras de los años 80-90″, editado por Garry y por un servidor. Os animo a que compréis el libro (son sólo 5 euretes) y encontraréis más detallada y completa información sobre el tema.

Para hacer algún comentario, pinchad en el globo gris con un número que figura en la parte superior derecha de cada entrada o bien abrir la entrada de manera individual y al final os aparecerán los comentarios y un espacio en blanco para poder añadir el vuestro.

Echadle un vistazo de vez en cuando al blog ya que tengo gran cantidad de material e ideas que iré colocando poco a poco.

 

ALBUM DE IMÁGENES

 

PINCHA AQUÍ  O EN LA FOTO PARA ENLAZAR

(O desde la pestaña situada en la parte superior derecha de la página de inicio).

 

Paralelo a este Blog, he editado otro en forma de álbum gráfico, donde se muestran exclusívamente imágenes. Allí encontrarás una amplia colección de posavasos, entradas de conciertos, tarjetas, carteles, fotos… en definitiva, todo un documento gráfico que viene a complementar a este espacio.

Se accede a él diréctamente desde el enlace situado en la pestaña superior derecha de la página de inicio de este blog, pinchando sobre la foto, o haciendo click con el ratón en la misma foto que pongo aquí a la derecha.

En ese Blog no hay posibilidad de relizar ningún tipo de comentario, así que. si queréis, podéis comentar vuestras impresiones en éste apartado.

Ambas publicaciones estarán abiertas constantemente, es decir, que estarán sujetas a ampliaciones conforme vaya recopilando material  Enlaza desde aquíque  me enviéis o cuando vaya ordenando el que aún me queda por publicar.

Muchas de estas imágenes vienen publicadas en el libro, pero aquí podréis observarlas a mayor tamaño, otras son inéditas y juntas complementarán la historia gráfica de la movida en Algeciras.

Una vez en ese blog, puedes volver de nuevo diréctamente a éste desde la pestaña situada a la derecha en su página principal.

 

AGRADECIMIENTOS

Y por supuesto, agradecer todas las colaboraciones que me han llegado y me siguen llegando en forma de imágenes o de recuerdos:

Garry, Javier Castro, Alberto Herrera, Lumi, Fco D. Rebolledo, Isabel García (mi mujer), Alfredo Martín, Luis Márquez, Salva Sánchez, Miguel Torres, Juan Pérez, Jose A. Sánchez Ros, Juan J. Montoya, Salvador Reiné, David “Senda”, Fred Fermín, Pedro Pérez, Rafael Valls, Alberto Jiménez (Desenfoke), Bernardo Elena, Juan Tamayo, Andrés Castro, Juan Mas, Manuel Correro, Raúl Hernando, Luis D. Segovia, Eladio Prometeo, Carmen Gª Moya, Fco. Espinosa, Carmen Gª Moya, Asun Ortega, Ramón Vargas-Machuca, María Nogales, Antonio López,“Pitufo gruñón”, Paco Ocaña, F. J. Cobos Ceballos. Jose Mª Gª Eiras, Mayte Rebollar, F.J. Carrascal, David Mateo y algunos más que ahora mismo no recuerdo pero que intentaré ir añadiendo a esta lista conforme me vayan llegando a la memoria.

Espero que os guste.

 

—————————————————————————————————————————

 

  • #1 escrito por David R.  hace 9 años

    hola soy un algecirenyo que vive en el extranjero, tan pronto como vaya a Algeciras te voy a pasar material superinteresante: entradas de conciertos, posavasos, publicidad de bares y discotecas que no he visto hasta ahora en tu pag. web. haceis un buen trabajo. estos recuerdos son un regalo para aquellos que crecimos y maduramos viendo pasar dia a dia nuestra ciudad. gracias por vuestra labor

    • #2 escrito por Admin  hace 9 años

      ¡Perfecto! Esperando me quedo.
      Un saludo y muchísimas gracias por tu interés.

  • #3 escrito por Jesús Jiménez  hace 9 años

    Bueno me topo por casualidad con este blog y se me vienen de repente multitud de recuerdos de aquella época ya que durante algunos meses del 81 estuve trabajando en el TAO donde serví, además de los típicos combinados, no pocas cervezas Voldam que hacía las delicias de los clientes, degustando los típicos TaoChan al calor de las chimeneas y la musica de fondo, contemplando a través de los ventanales como rompían las olas en la arena de esa hermosa playa. Por encargo del entonces jefe, El General, le apodabamos, idee un logotipo que consistía en una vista del Peñón tras el que se elevaba el símbolo del Ying Yang, a modo de Luna y el reflejo en el mar de la palabra TAO …, joder que recuerdos …

    • #4 escrito por Admin  hace 9 años

      Hola Jesús. Me alegro que te haya servido para recordar aquellos tiempos tan buenos.
      Por cierto si tienes por ahí el logo ese que comentas me lo puedes enviar a movidabox@gmail.com y estaría encantado de publicarlo, tanto en este blog como en la página de facebook de este mismo tema.
      Un saludo.

  • Puedes usar las siguientes etiquetas HTML: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <strike> <strong>


Parse error: syntax error, unexpected T_STRING in D:\inetpub\webs\txutxemovidanet\wp-content\themes\mystique\footer.php on line 42