Strategies for monitoring and updating clinical practice guidelines: a systematic review

Background: Scientific knowledge is in constant change. The flow of new information requires a frequent re-evaluation of the available research results. Clinical practice guidelines (CPGs) are not exempted from this phenomenon and need to be kept updated to maintain the validity of their recommendat...

Full description

Autores:
Martínez García, Laura
Arévalo Rodríguez, Ingrid
Solá, Iván
Haynes, R. Brian
Vandvik, Per Olav
Alonso Coello, Pablo
Tipo de recurso:
Article of journal
Fecha de publicación:
2012
Institución:
Fundación Universitaria de Ciencias de la Salud - FUCS
Repositorio:
Repositorio Digital Institucional ReDi
Idioma:
eng
OAI Identifier:
oai:repositorio.fucsalud.edu.co:001/1870
Acceso en línea:
https://repositorio.fucsalud.edu.co/handle/001/1870
Palabra clave:
Guías de práctica clínica como asunto
Difusión de innovaciones
Medicina basada en la evidencia
Almacenamiento y recuperación de la información
Metodología
Ciencia de la implementación
Difusión de la información
Conocimiento
Rights
openAccess
License
Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
id FUCS2_a87da64419890bdbbdb6f82fef1ed56e
oai_identifier_str oai:repositorio.fucsalud.edu.co:001/1870
network_acronym_str FUCS2
network_name_str Repositorio Digital Institucional ReDi
repository_id_str
dc.title.eng.fl_str_mv Strategies for monitoring and updating clinical practice guidelines: a systematic review
title Strategies for monitoring and updating clinical practice guidelines: a systematic review
spellingShingle Strategies for monitoring and updating clinical practice guidelines: a systematic review
Guías de práctica clínica como asunto
Difusión de innovaciones
Medicina basada en la evidencia
Almacenamiento y recuperación de la información
Metodología
Ciencia de la implementación
Difusión de la información
Conocimiento
title_short Strategies for monitoring and updating clinical practice guidelines: a systematic review
title_full Strategies for monitoring and updating clinical practice guidelines: a systematic review
title_fullStr Strategies for monitoring and updating clinical practice guidelines: a systematic review
title_full_unstemmed Strategies for monitoring and updating clinical practice guidelines: a systematic review
title_sort Strategies for monitoring and updating clinical practice guidelines: a systematic review
dc.creator.fl_str_mv Martínez García, Laura
Arévalo Rodríguez, Ingrid
Solá, Iván
Haynes, R. Brian
Vandvik, Per Olav
Alonso Coello, Pablo
dc.contributor.author.none.fl_str_mv Martínez García, Laura
Arévalo Rodríguez, Ingrid
Solá, Iván
Haynes, R. Brian
Vandvik, Per Olav
Alonso Coello, Pablo
dc.subject.proposal.spa.fl_str_mv Guías de práctica clínica como asunto
Difusión de innovaciones
Medicina basada en la evidencia
Almacenamiento y recuperación de la información
Metodología
Ciencia de la implementación
Difusión de la información
Conocimiento
topic Guías de práctica clínica como asunto
Difusión de innovaciones
Medicina basada en la evidencia
Almacenamiento y recuperación de la información
Metodología
Ciencia de la implementación
Difusión de la información
Conocimiento
description Background: Scientific knowledge is in constant change. The flow of new information requires a frequent re-evaluation of the available research results. Clinical practice guidelines (CPGs) are not exempted from this phenomenon and need to be kept updated to maintain the validity of their recommendations. The objective of our review is to systematically identify, describe and assess strategies for monitoring and updating CPGs. Study design and setting: We conducted a systematic review of studies evaluating one or more methods of updating (with or without monitoring) CPGs or recommendations. We searched MEDLINE (PubMed) and The Cochrane Methodology Register (The Cochrane Library) from 1966 to June 2012. Additionally, we hand-searched reference lists of the included studies and the Guidelines International Network book of abstracts. If necessary, we contacted study authors to obtain additional information. Results: We included a total of eight studies. Four evaluated if CPGs were out of date, three updated CPGs, and one continuously monitored and updated CPGs. The most detailed reported phase of the process was the identification of new evidence. As opposed to studies updating guidelines, studies evaluating if CPGs were out of date applied restricted searches. Only one study compared a restricted versus an exhaustive search suggesting that a restricted search is sufficient to assess recommendations’ Validity. One study analyzed the survival time of CPGs and suggested that these should be reassessed every three years. Conclusions: There is limited evidence about the optimal strategies for monitoring and updating clinical practice guidelines. A restricted search is likely to be sufficient to monitor new evidence and assess the need to update, however, more information is needed about the timing and type of search. Only the exhaustive search strategy has been assessed for the update of CPGs. The development and evaluation of more efficient strategies is needed to improve the timeliness and reduce the burden of maintaining the validity of CPGs. Keywords: Clinical practice guidelines, Diffusion of innovation, Evidence-based medicine, Information storage and retrieval, Methodology, Updating, Implementation science, Dissemination and implementation, Knowledge translation.
publishDate 2012
dc.date.issued.none.fl_str_mv 2012-11-19
dc.date.accessioned.none.fl_str_mv 2021-10-27T16:44:29Z
dc.date.available.none.fl_str_mv 2021-10-27T16:44:29Z
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.fl_str_mv http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_6501
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/article
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv https://purl.org/redcol/resource_type/WP
dc.type.coarversion.spa.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_6501
status_str publishedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.fucsalud.edu.co/handle/001/1870
url https://repositorio.fucsalud.edu.co/handle/001/1870
dc.language.iso.spa.fl_str_mv eng
language eng
dc.relation.ispartof.none.fl_str_mv Implementation Science ISSN:1748-5908 Vol.7 Núm.109 (2012)
dc.relation.citationendpage.spa.fl_str_mv 10
dc.relation.citationissue.spa.fl_str_mv 109
dc.relation.citationstartpage.spa.fl_str_mv 1
dc.relation.citationvolume.spa.fl_str_mv 7
dc.relation.ispartofjournal.spa.fl_str_mv Implementation Science
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.creativecommons.spa.fl_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
dc.rights.uri.spa.fl_str_mv https://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.coar.spa.fl_str_mv http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
rights_invalid_str_mv Atribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)
https://creativecommons.org/licenses/by-nc-nd/4.0/
http://purl.org/coar/access_right/c_abf2
dc.format.extent.spa.fl_str_mv 10 p.
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv BioMed Central
dc.publisher.place.spa.fl_str_mv Reino Unido
dc.source.spa.fl_str_mv https://implementationscience.biomedcentral.com/articles/10.1186/1748-5908-7-109
institution Fundación Universitaria de Ciencias de la Salud - FUCS
bitstream.url.fl_str_mv https://repositorio.fucsalud.edu.co/bitstreams/7876e9f5-df59-49b2-a77c-0d65fddda87a/download
https://repositorio.fucsalud.edu.co/bitstreams/6d708e82-fee9-4c86-b45a-9a15544fca30/download
https://repositorio.fucsalud.edu.co/bitstreams/d1655bc3-9a35-4985-a7f0-01ae22f14b6b/download
https://repositorio.fucsalud.edu.co/bitstreams/f6ec55dc-b293-44cc-a9ba-707af760d786/download
bitstream.checksum.fl_str_mv 3bf4914920d27b2a1f63b60c99bd9478
f6cfdd0a0be8a7a8b575d6cd88a94402
a631ecb8d2933f260501cbca8d11a893
12ca78da607077d8670310e14c6e3ac2
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Digital de la Fundación Universitaria de Ciencias de la Salud
repository.mail.fl_str_mv redi@fucsalud.edu.co
_version_ 1814355535710912512
spelling Martínez García, Laura10c3b10e609e24c37d1b38fb9d9c6b5fArévalo Rodríguez, Ingridf073a1a12ebab527be55de84d54b403bSolá, Ivánac7bef839561d69e3e8f435581151974Haynes, R. Brianabdf6696a1b6d53a60ba4b31836ec05fVandvik, Per Olavc77442c16f3d6e945bb2106462f2b572Alonso Coello, Pablo8eaaf715ecedf788887269d48fcf7f462021-10-27T16:44:29Z2012-11-192021-10-27T16:44:29ZBioMed CentralReino UnidoBackground: Scientific knowledge is in constant change. The flow of new information requires a frequent re-evaluation of the available research results. Clinical practice guidelines (CPGs) are not exempted from this phenomenon and need to be kept updated to maintain the validity of their recommendations. The objective of our review is to systematically identify, describe and assess strategies for monitoring and updating CPGs. Study design and setting: We conducted a systematic review of studies evaluating one or more methods of updating (with or without monitoring) CPGs or recommendations. We searched MEDLINE (PubMed) and The Cochrane Methodology Register (The Cochrane Library) from 1966 to June 2012. Additionally, we hand-searched reference lists of the included studies and the Guidelines International Network book of abstracts. If necessary, we contacted study authors to obtain additional information. Results: We included a total of eight studies. Four evaluated if CPGs were out of date, three updated CPGs, and one continuously monitored and updated CPGs. The most detailed reported phase of the process was the identification of new evidence. As opposed to studies updating guidelines, studies evaluating if CPGs were out of date applied restricted searches. Only one study compared a restricted versus an exhaustive search suggesting that a restricted search is sufficient to assess recommendations’ Validity. One study analyzed the survival time of CPGs and suggested that these should be reassessed every three years. Conclusions: There is limited evidence about the optimal strategies for monitoring and updating clinical practice guidelines. A restricted search is likely to be sufficient to monitor new evidence and assess the need to update, however, more information is needed about the timing and type of search. Only the exhaustive search strategy has been assessed for the update of CPGs. The development and evaluation of more efficient strategies is needed to improve the timeliness and reduce the burden of maintaining the validity of CPGs. Keywords: Clinical practice guidelines, Diffusion of innovation, Evidence-based medicine, Information storage and retrieval, Methodology, Updating, Implementation science, Dissemination and implementation, Knowledge translation.https://implementationscience.biomedcentral.com/articles/10.1186/1748-5908-7-10910 p.application/pdfStrategies for monitoring and updating clinical practice guidelines: a systematic reviewArtículo de revistahttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionTexthttps://purl.org/redcol/resource_type/WPhttp://purl.org/coar/version/c_970fb48d4fbd8a85https://repositorio.fucsalud.edu.co/handle/001/1870engImplementation Science ISSN:1748-5908 Vol.7 Núm.109 (2012)1010917Implementation Scienceinfo:eu-repo/semantics/openAccessAtribución-NoComercial-SinDerivadas 4.0 Internacional (CC BY-NC-ND 4.0)https://creativecommons.org/licenses/by-nc-nd/4.0/http://purl.org/coar/access_right/c_abf2Guías de práctica clínica como asuntoDifusión de innovacionesMedicina basada en la evidenciaAlmacenamiento y recuperación de la informaciónMetodologíaCiencia de la implementaciónDifusión de la informaciónConocimientoPublicationORIGINALStrategies for monitoring and updating clinical.pdfStrategies for monitoring and updating clinical.pdfArtículoapplication/pdf150866https://repositorio.fucsalud.edu.co/bitstreams/7876e9f5-df59-49b2-a77c-0d65fddda87a/download3bf4914920d27b2a1f63b60c99bd9478MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-815424https://repositorio.fucsalud.edu.co/bitstreams/6d708e82-fee9-4c86-b45a-9a15544fca30/downloadf6cfdd0a0be8a7a8b575d6cd88a94402MD52TEXTStrategies for monitoring and updating clinical.pdf.txtStrategies for monitoring and updating clinical.pdf.txtExtracted texttext/plain4353https://repositorio.fucsalud.edu.co/bitstreams/d1655bc3-9a35-4985-a7f0-01ae22f14b6b/downloada631ecb8d2933f260501cbca8d11a893MD53THUMBNAILStrategies for monitoring and updating clinical.pdf.jpgStrategies for monitoring and updating clinical.pdf.jpgGenerated Thumbnailimage/jpeg15146https://repositorio.fucsalud.edu.co/bitstreams/f6ec55dc-b293-44cc-a9ba-707af760d786/download12ca78da607077d8670310e14c6e3ac2MD54001/1870oai:repositorio.fucsalud.edu.co:001/18702024-02-02 13:06:14.238https://creativecommons.org/licenses/by-nc-nd/4.0/open.accesshttps://repositorio.fucsalud.edu.coRepositorio Digital de la Fundación Universitaria de Ciencias de la Saludredi@fucsalud.edu.coQ09ORElDSU9ORVMgTEVHQUxFUyBERSBVU08gREVMIFBPUlRBTCBXRUIKd3d3LmZ1Y3NhbHVkLmVkdS5jbwogCkVsIFBvcnRhbCBXZWIgd3d3LmZ1Y3NhbHVkLmVkdS5jbyBoYSBzaWRvIGRpc2XDsWFkbyBwYXJhIGZhY2lsaXRhciBhbCB2aXNpdGFudGUsIGludGVyZXNhZG8sIGVzdHVkaWFudGUsIGRvY2VudGUsIGFkbWluaXN0cmF0aXZvIHkvbyB1c3VhcmlvIGVuIGdlbmVyYWwsIGVsIGFjY2VzbyBhIGxhIGluZm9ybWFjacOzbiBkZSBsYSBJbnN0aXR1Y2nDs24geSBhIHN1cyBzZXJ2aWNpb3MgZW4gbMOtbmVhLCBwb3IgbG8gY3VhbCBlc3RlIHNpdGlvIHdlYiB0aWVuZSBjb21vIGZ1bmNpw7NuIHByaW5jaXBhbCBwcm92ZWVyIGluZm9ybWFjacOzbiB5IHNlcnZpY2lvcywgYXPDrSBjb21vIGRpdnVsZ2FyIHkgcHJvbW92ZXIgbGFzIGFjdGl2aWRhZGVzIGFjYWTDqW1pY2FzLCBjaWVudMOtZmljYXMsIGN1bHR1cmFsZXMgeSBjb21lcmNpYWxlcyBkZSBsYSBGVUNTLCBwb3IgdGFudG8gbGEgYWNlcHRhY2nDs24gZGUgZXN0YXMgY29uZGljaW9uZXMgZGUgdXNvLCBzb24gb2JsaWdhdG9yaWFzIGUgaW5kaXNwZW5zYWJsZXMgcGFyYSBxdWUgZWwgdXN1YXJpbyB1dGlsaWNlIGVsIHNpdGlvLgogCkxhcyBwcmVzZW50ZXMgY29uZGljaW9uZXMgZGUgdXNvLCByZWd1bGFuIGxhIHV0aWxpemFjacOzbiBkZSBsYSBww6FnaW5hIHdlYiB3d3cuZnVjc2FsdWQuZWR1LmNvLgogClNlw7FvciB1c3VhcmlvLCBwb3IgZmF2b3IgbGVhIGRldGFsbGFkYSB5IGN1aWRhZG9zYW1lbnRlIGVzdGUgZG9jdW1lbnRvIGp1bnRvIGNvbiBsYXMgcG9sw610aWNhcyBkZSBwcml2YWNpZGFkIHkgcHJvdGVjY2nDs24gZGUgZGF0b3MsIGFudGVzIGRlIGluaWNpYXIgc3UgbmF2ZWdhY2nDs24uClNpIFVzdGVkIG5vIHNlIGVuY3VlbnRyYSBjb25mb3JtZSBjb24gbG9zIHTDqXJtaW5vcyBkZSB1c28gZGUgbGEgcMOhZ2luYSB3ZWIgbyBjdWFscXVpZXIgb3RyYSBkaXNwb3NpY2nDs24sIHBvciBmYXZvciBhYnN0ZW5nYXNlIGRlIGluZ3Jlc2FyIHkvbyB1dGlsaXphciBlc3RlIHNpdGlvIGRlIGN1YWxxdWllciBmb3JtYS4KIApBbCBhY2NlZGVyIGEgZXN0ZSBwb3J0YWwsIHN1cyBzaXRpb3MgeSB0b2RhcyBsYXMgcMOhZ2luYXMgcXVlIGxvIGNvbmZvcm1hbiwgc2UgZW50aWVuZGUgcXVlIFVzdGVkIGhhIGxlw61kbywgZW50ZW5kaWRvIHkgYWNlcHRhZG8gdG9kb3MgbG9zIHTDqXJtaW5vcyB5IGNvbmRpY2lvbmVzIGV4cHVlc3RvcyBlbiBlc3RlIGRvY3VtZW50bywgZGUgbGEgbWlzbWEgbWFuZXJhIGNvbW8gc2kgaHViaWVyYSBmaXJtYWRvIHVuIGFjdWVyZG8gZXNjcml0bywgZW50ZW5kaWVuZG8gZW4gdG9kbyBjYXNvIHF1ZSBzdSBwb3NpY2nDs24gZW4gZWwgYWN1ZXJkbyBzZXLDoSBpZGVudGlmaWNhZGEgZW4gdG9kbyBlc3RlIGRvY3VtZW50byBjb21vIOKAnGVsIFVzdWFyaW/igJ0uCiAKTGEgRlVDUyBwb2Ryw6EgbW9kaWZpY2FyIGxvcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBkZSBlc3RlIGRvY3VtZW50byBlbiBjdWFscXVpZXIgbW9tZW50bywgeSBlc3RhcyBtb2RpZmljYWNpb25lcyB0ZW5kcsOhbiB2YWxpZGV6IGRlc2RlIGVsIG1vbWVudG8gZW4gcXVlIHNlYW4gcHVibGljYWRhcyBlbiBlbCBzaXRpbyB3ZWIuCiAKMS4gQXNwZWN0b3MgZ2VuZXJhbGVzOgogCmEuIExhIGluZm9ybWFjacOzbiBjb250ZW5pZGEgZW4gZXN0ZSBwb3J0YWwgd2ViIChlbiBhZGVsYW50ZSBjb250ZW5pZG9zKSBkZWJlcsOhIHNlciB1dGlsaXphZGEgw7puaWNhbWVudGUgY29uIGZpbmVzIHBlcnNvbmFsZXMsIHBvciBsbyB0YW50byBlbCBVc3VhcmlvIG5vIHBvZHLDoSBkaXN0cmlidWlyLCBtb2RpZmljYXIsIHRyYW5zbWl0aXIsIGNvcGlhciwgYWxtYWNlbmFyLCBjb2RpZmljYXIsIGVudmlhciBvIHVzYXIgZXN0b3MgY29udGVuaWRvcyBwYXJhIHByb3DDs3NpdG9zIGNvbWVyY2lhbGVzIHUgb3Ryb3MgcXVlIGltcGxpcXVlbiBleHBsb3RhY2nDs24gZWNvbsOzbWljYSwgc2Fsdm8gcHJldmlhIGF1dG9yaXphY2nDs24gZXNjcml0YWxhIEZVQ1MuCiAKYi4gU2UgZW50ZW5kZXLDoSBxdWUgZWwgVXN1YXJpbyBoYSBsZcOtZG8sIGVudGVuZGlkbyB5IGFjZXB0YWRvIHRvZG9zIGxvcyB0w6lybWlub3MgeSBjb25kaWNpb25lcyBleHB1ZXN0b3MgZW4gZXN0ZSBkb2N1bWVudG8gZW4gbG9zIHNpZ3VpZW50ZXMgY2Fzb3M6CiAKQ29uc3VsdGEgZGUgY3VhbHF1aWVyIGNvbnRlbmlkbyBpbmNvcnBvcmFkbyBlbiBlbCBzaXRpbyB3ZWIuCkVudmnDsyBkZSBkYXRvcyBlbiBsb3MgZm9ybXVsYXJpb3MgZGUgcmVnaXN0cm8gZGVsIHNpdGlvIHdlYi4KTGEgdXRpbGl6YWNpw7NuIGRlIGN1YWxxdWllcmEgZGUgbG9zIHNlcnZpY2lvcyBkaXNwb25pYmxlcyBlbiBlbCBzaXRpbyB3ZWIuCkxhIGRlc2NhcmdhIGRlIGNvbnRlbmlkb3MgaW5jb3Jwb3JhZG9zIGVuIGVsIHNpdGlvIHdlYi4KTGEgbmF2ZWdhY2nDs24gZW4gZWwgc2l0aW8gd2ViIGRlIGN1YWxxdWllciBtYW5lcmEgY29ub2NpZGEgbyBwb3IgY29ub2Nlci4KIApjLiBFbCBVc3VhcmlvIHBvZHLDoSBuYXZlZ2FyIGxpYnJlIHkgZ3JhdHVpdGFtZW50ZSBhIHRyYXbDqXMgZGUgZXN0ZSBzaXRpby4KIApkLiBFbCBVc3VhcmlvIHNvbG8gcG9kcsOhIGRlc2NhcmdhciBjb250ZW5pZG9zIGRlbCBtaXNtbywgY3VhbmRvIGVsIHNpdGlvIGV4cHJlc2FtZW50ZSBsbyBhdXRvcmljZS4KIAplLiBQb2Ryw6FuIGV4aXN0aXIgYWxndW5vcyBjYXNvcyBlbiBsb3MgY3VhbGVzIHNlIGNvbmRpY2lvbmUgZWwgc2VydmljaW8gZW4gbMOtbmVhLCBhbCBwcmV2aW8gY3VtcGxpbWllbnRvIGRlbCBkaWxpZ2VuY2lhbWllbnRvIGRlIGZvcm11bGFyaW9zIHkvbyBwYWdvIHBvciBsYSBwcmVzdGFjacOzbiBkZWwgc2VydmljaW8uCiAKZi4gRWwgdXN1YXJpbyBhY2VwdGEgY29ub2NlciB5IGN1bXBsaXIgdG9kYXMgbGFzIGxleWVzIHkgbm9ybWFzIG5hY2lvbmFsZXMsIGNvbXVuaXRhcmlhcyBlIGludGVybmFjaW9uYWxlcyByZWxhY2lvbmFkYXMgY29uIHN1cyBvYmxpZ2FjaW9uZXMgeSBkZWJlcmVzIGJham8gZWwgcHJlc2VudGUgZG9jdW1lbnRvIGRlIGNvbmRpY2lvbmVzIGxlZ2FsZXMgZGUgdXNvLgogCjIuIEluZm9ybWFjacOzbiBkZSByZWdpc3RybzoKIApMb3Mgc2lndWllbnRlcyBzb24gbG9zIGxpbmVhbWllbnRvcyBkZSBudWVzdHJhcyBjb25kaWNpb25lcyBkZSB1c28gZW4gY3VhbnRvIGFsIHJlY2F1ZG8sIGFjY2VzbyB5IHVzbyBkZSBsYSBpbmZvcm1hY2nDs24gZGUgcmVnaXN0cm8gcXVlIHN1bWluaXN0cmEgZWwgdXN1YXJpbyBhIHRyYXbDqXMgZGVsIHNpdGlvIHdlYi4KIApMYSBGVUNTIHByb3RlZ2Vyw6EgbG9zIGRhdG9zIG8gY3VhbHF1aWVyIGluZm9ybWFjacOzbiBwZXJzb25hbCBxdWUgZWwgdXN1YXJpbyBwcm9wb3JjaW9uZSBhbCBtb21lbnRvIGVuIHF1ZSBoYWNlIHVzbyBkZSBlc3RlIHNpdGlvd2VieSwgZXN0b3Mgc2UgdXRpbGl6YXLDoW4gZXhjbHVzaXZhbWVudGUgcGFyYSBjdW1wbGlyIGNvbiBsb3MgcHJvcMOzc2l0b3MgZGUgc3Ugc2l0aW8gd2ViIHkgc3UgdXNvIGVzIGVsIGVzdGFibGVjaWRvIGVuIGVsIHByZXNlbnRlIGRvY3VtZW50by4KRWwgdXN1YXJpbyBxdWUgcHJvcG9yY2lvbmUgc3VzIGRhdG9zIGVuIGVzdGUgc2l0aW8gd2ViIG8gYSB0cmF2w6lzIGRlIMOpbCwgZXhwcmVzYW1lbnRlIGF1dG9yaXphIGEgbGEgRlVDUyBwYXJhIHJlYWxpemFyIHN1IHRyYXRhbWllbnRvIHNlYSBvIG5vIGF1dG9tYXRpemFkbyB5IHBhcmEgdXNhcmxvcyBjb25mb3JtZSBhIGxvIGV4cHJlc2FkbyBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8sIGRlIGFjdWVyZG8gY29uIGxhIHBvbMOtdGljYSBpbnRlcm5hIGRlIHByb3RlY2Npw7NuIGRlIGRhdG9zLgpFbCBVc3VhcmlvIGVudGllbmRlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIHBvZHLDoSBlZmVjdHVhciBlbCB0cmF0YW1pZW50byBkZSBsb3MgZGF0b3MgZGVsIHVzdWFyaW8sIGRlIG1hbmVyYSBkaXJlY3RhIG8gYSB0cmF2w6lzIGRlIHRlcmNlcm9zIGV4cHJlc2FtZW50ZSBkZXNpZ25hZG9zIHBvciBlbGxhLCBxdWllbmVzIGFjdHVhcsOhbiBjb21vIGVuY2FyZ2Fkb3MgZGVsIHRyYXRhbWllbnRvIGRlIHN1IGluZm9ybWFjacOzbiBwZXJzb25hbCwgY29uIGxhcyBvYmxpZ2FjaW9uZXMgcXVlIGxhIGxleSBjb250ZW1wbGUuCkxhIGluZm9ybWFjacOzbiBkZSByZWdpc3RybyBxdWUgc2UgbGUgc29saWNpdGEgYWwgdXN1YXJpbyBlcyBsYSBtw61uaW1hIHBhcmEgZGFyIGN1bXBsaW1pZW50byBhIGxhIHBvbMOtdGljYSBkZSB0cmF0YW1pZW50byB5IHByb3RlY2Npw7NuIGRlIGRhdG9zIHBlcnNvbmFsZXMgZGUgbGEgRlVDUyB5IGFsYXMgbm9ybWFzIGxlZ2FsZXMgdmlnZW50ZXMgZW4gQ29sb21iaWEuCkVuIGVsIHByb2Nlc28gZGUgcmVnaXN0cm8sIHNlIGxlIGFkdmVydGlyw6EgYWwgdXN1YXJpbyBjb24gdW4gYXN0ZXJpc2NvICgqKSBxdcOpIGluZm9ybWFjacOzbiBkZWJlIHNlciBzdW1pbmlzdHJhZGEgb2JsaWdhdG9yaWFtZW50ZSB5IGN1w6FsIGVzIG9wY2lvbmFsLgpFbCB1c3VhcmlvIGRlIGVzdGUgc2l0aW8gd2ViIGVudGllbmRlIHkgYWNlcHRhIHF1ZSBzdXMgZGF0b3MgcGVyc29uYWxlcyBzZSByZWNvcGlsYW4gY29uIGVsIGZpbiBkZSBwcm9jdXJhcmxlIHVuIHNlcnZpY2lvIGVmaWNpZW50ZSB5IHBlcnNvbmFsaXphZG8sIHkgcXVlIHBvZHLDoW4gc2VyIHVzYWRvcyBjb24gZmluZXMgYWNhZMOpbWljb3MsIGludmVzdGlnYXRpdm9zIHkgY29tZXJjaWFsZXMsIHBvciBsbyBjdWFsIGF1dG9yaXphIGV4cHJlc2FtZW50ZSBxdWUgc2VhbiB1c2Fkb3MgcGFyYSByZW1pdGlyIGluZm9ybWFjacOzbiBkZSBzdXMgcHJvZ3JhbWFzIGFjYWTDqW1pY29zIGZvcm1hbGVzIGUgaW5mb3JtYWxlcywgcGFyYSBkYXIgY3VtcGxpbWllbnRvIGEgc3VzIG9ibGlnYWNpb25lcyBjb250cmFjdHVhbGVzIG8gbGVnYWxlcywgcGFyYSBldmFsdWFyIGxhIGNhbGlkYWQgZGVsIHNlcnZpY2lvLCBhc8OtIGNvbW8gcGFyYSByZW1pdGlyIGluZm9ybWFjacOzbiBkZSBzdXMgcHJveWVjdG9zLCBwbGFuZXMgeSBkZW3DoXMgaW5mb3JtYWNpw7NuIGluc3RpdHVjaW9uYWwgZGUgbGEgRlVDUy4gRW4gdG9kbyBjYXNvLCBlc3RhIGluZm9ybWFjacOzbiBzZXLDoSB1dGlsaXphZGEgZW4gZGVzYXJyb2xsbyBkZSBsYXMgZnVuY2lvbmVzIHByb3BpYXMgZGUgbGEgRlVDUy4KMy4gRGl2dWxnYWNpw7NuIGRlIGxhIGluZm9ybWFjacOzbiBkZSByZWdpc3RybzoKIApMYSBpbmZvcm1hY2nDs24gZGUgcmVnaXN0cm8gZGUgY2FkYSB1c3VhcmlvIGVzIGNvbmZpZGVuY2lhbCwgeSBubyBzZSBjb21wYXJ0aXLDoSBjb24gb3RyYXMgcGVyc29uYXMgbyBlbnRpZGFkZXMsIHNhbHZvIGN1YW5kbyBsYSBGVUNTIGNvbnNpZGVyZSBxdWUgc2UgcHJlc2VudGVuIGxvcyBzaWd1aWVudGVzIGNhc29zOgogCkN1YW5kbyBsYSBhdXRvcml6YWNpw7NuIGRlbCB0aXR1bGFyIG5vIHNlYSBvYmxpZ2F0b3JpYSAoTnVtZXJhbCA4LiDigJxBdXRvcml6YWNpw7NuIGRlbCBUaXR1bGFy4oCdIOKAkyBQb2zDrXRpY2EgZGUgVHJhdGFtaWVudG8geSBQcm90ZWNjacOzbiBkZSBEYXRvcyBQZXJzb25hbGVzIGRlIGxhIEZVQ1MpClBvciBsYSBleGlzdGVuY2lhIGRlIHVuIG1hbmRhdG8gbGVnYWwsIGRlYmVyIGVzdGF0dXRhcmlvIG8ganVkaWNpYWwgcXVlIG9ibGlndWUgYSBzdW1pbmlzdHJhcmxhLgpDdWFscXVpZXIgb3RyYSBleGNlcGNpw7NuIGRlZmluaWRhIGVuIGxhcyBsZXllcyBhcGxpY2FibGVzCkVuIHRvZG8gY2FzbywgZWwgVXN1YXJpbyBlbnRpZW5kZSB5IGFjZXB0YSBxdWUgc3VzIGRhdG9zIHBlcnNvbmFsZXMgZXZlbnR1YWxtZW50ZSBzZSBjb21wYXJ0aXLDoW4gY29uIG90cmFzIGVudGlkYWRlcyB1IG9yZ2FuaXphY2lvbmVzIHByaXZhZGFzIG8gZXN0YXRhbGVzLCBjb24gZWwgZmluIGRlIGN1bXBsaXIgY29uIGxvcyBkZWJlcmVzIHkgb2JsaWdhY2lvbmVzIHF1ZSBsZWdhbG1lbnRlIHRpZW5lIGNvbW8gSW5zdGl0dWNpw7NuIGRlIEVkdWNhY2nDs24gU3VwZXJpb3IuCiAKNC4gT2JsaWdhY2lvbmVzIHkgZGViZXJlcyBkZWwgdXN1YXJpbzoKIApFbCB1c3VhcmlvIGVzdMOhIGRlIGFjdWVyZG8gZW4gcHJvcG9yY2lvbmFyIGEgbGEgRlVDUywgaW5mb3JtYWNpw7NuIHZlcmRhZGVyYSwgcHJlY2lzYSwgYWN0dWFsaXphZGEgeSBjb21wbGV0YSwgc2Vnw7puIHNlIGluZGlxdWUgZW4gZWwgZm9ybXVsYXJpbyBkZSByZWdpc3Ryby4gSWd1YWxtZW50ZSwgZWwgdXN1YXJpbyBlc3TDoSBkZSBhY3VlcmRvIGVuIGNvbGFib3JhciBjb24gbGEgRlVDUywgcGFyYSBtYW50ZW5lciBlc3RhIGluZm9ybWFjacOzbiBhY3R1YWxpemFkYSB5IGNvbXBsZXRhLgogCkVsIHVzdWFyaW8gc2Ugb2JsaWdhIGEgbm8gcmVwcm9kdWNpciwgZHVwbGljYXIsIGNvcGlhciwgdmVuZGVyLCByZXZlbmRlciBvIGV4cGxvdGFyIHBhcmEgZmluZXMgY29tZXJjaWFsZXMsIGN1YWxxdWllciBzZWNjacOzbiBkZWwgc2VydmljaW8sIHVzbyBvIGFjY2VzbyBhbCBtaXNtby4gVGFudG8gZWwgc2VydmljaW8gY29tbyB0ZXJjZXJvcyBwb2Ryw6FuIHByb3BvcmNpb25hciB2w61uY3Vsb3MgYSBvdHJvcyBzaXRpb3MgbyByZWN1cnNvcyBkZSBsYSByZWQgbXVuZGlhbC4gRGViaWRvIGEgcXVlIGxhIEZVQ1Mgbm8gdGllbmUgY29udHJvbCBhbGd1bm8gc29icmUgZGljaG9zIHNpdGlvcyBvIHJlY3Vyc29zLCBlbCB1c3VhcmlvIHJlY29ub2NlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIG5vIHNlcsOhIHJlc3BvbnNhYmxlIHBvciBsYSBkaXNwb25pYmlsaWRhZCBkZSBsb3Mgc2l0aW9zIG8gcmVjdXJzb3MgZXh0ZXJub3MgbmkgcG9yIGN1YWxxdWllciBjb250ZW5pZG8sIHB1YmxpY2lkYWQsIHByb2R1Y3Rvcywgc2VydmljaW9zIHUgb3RybyB0aXBvIGRlIG1hdGVyaWFsIGNvbnRlbmlkbyDDsyBhIGRpc3Bvc2ljacOzbiBlbiB0YWxlcyBzaXRpb3MgbyByZWN1cnNvcy4KIApFbCB1c3VhcmlvIHJlY29ub2NlIHkgYWNlcHRhIHF1ZSBsYSBGVUNTIG5vIHNlcsOhIHJlc3BvbnNhYmxlLCBkaXJlY3RhIG8gaW5kaXJlY3RhbWVudGUsIHBvciBjdWFscXVpZXIgZGHDsW8gbyBwZXJqdWljaW8gY2F1c2FkbyBvIHF1ZSBzZSBwcmVzdW1hIHF1ZSBzZWEgY2F1c2FkbyBwb3IgdGFsZXMgY29udGVuaWRvcywgcHJvZHVjdG9zIG8gc2VydmljaW9zIGRpc3BvbmlibGVzIGVuIGRpY2hvcyBzaXRpb3MgbyByZWN1cnNvcyBleHRlcm5vcywgbyBwb3IgbGEgdXRpbGl6YWNpw7NuIG8gY29uZmlhbnphIGRlcG9zaXRhZGEgcG9yIGVsIHVzdWFyaW8gZW4gdGFsZXMgY29udGVuaWRvcywgcHJvZHVjdG9zIG8gc2VydmljaW9zLgogCkVsIHVzdWFyaW8gc2Ugb2JsaWdhIGEgTk8gdXRpbGl6YXIgZWwgcG9ydGFsIHdlYiBuaSBlc3RlIFNlcnZpY2lvIGNvbiBlbCBmaW4gZGU6CiAKUG9uZXIgYSBkaXNwb3NpY2nDs24gZGUgbG9zIGRlbcOhcywgZW52aWFyIHBvciBlLW1haWwgbywgZGUgY3VhbHF1aWVyIG1vZG8sIHRyYW5zbWl0aXIgY29udGVuaWRvcyBpbGVnYWxlcywgZGHDsWlub3MsIG1vbGVzdG9zLCBhbWVuYXphZG9yZXMsIGFidXNpdm9zLCB0b3J0dW9zb3MsIGRpZmFtYXRvcmlvcywgdnVsZ2FyZXMsIG9ic2Nlbm9zLCBpbnZhc29yZXMgZGUgbGEgaW50aW1pZGFkIGRlIHRlcmNlcm9zLCBvZGlvc29zLCB4ZW7Ds2ZvYm9zLCByYWNpc3RhcywgaWxlZ2FsZXMgbywgZGUgYWxnw7puIG1vZG8sIGluYWNlcHRhYmxlczsKSGFjZXJzZSBwYXNhciBvIGZpbmdpciBzZXIgY3VhbHF1aWVyIG90cmEgcGVyc29uYSBvIGVudGlkYWQsIGluY2x1eWVuZG8sIHNpbiBsaW1pdGFjacOzbiwgdW4gcmVwcmVzZW50YW50ZSBkZSBsYSBGVUNTLCBmdW5kYWRvciwgZ3XDrWEgbyBhbmZpdHJpw7NuIGRlIGZvcnVtcywgbyBkZSBjdWFscXVpZXIgb3RybyBtb2RvIG1lbnRpciBvIGZpbmdpciBzb2JyZSBzdSByZWxhY2nDs24gY29uIGN1YWxxdWllciBvdHJhIHBlcnNvbmEgbyBhZmlsaWFjacOzbiBhIGN1YWxxdWllciBlbnRpZGFkOwpQb25lciBhIGRpc3Bvc2ljacOzbiBkZSBsb3MgZGVtw6FzIHVzdWFyaW9zLCBlbnZpYXIgcG9yIGUtbWFpbCBvLCBkZSBhbGfDum4gbW9kbyB0cmFuc21pdGlyLCBjdWFscXVpZXIgY29udGVuaWRvIHF1ZSwgZGUgYWN1ZXJkbyBjb24gbGFzIGxleWVzIGFwbGljYWJsZXMgbyByZWxhY2lvbmVzIGNvbnRyYWN0dWFsZXMgZXhpc3RlbnRlcywgZWwgdXN1YXJpbyBubyBlc3TDoSBhdXRvcml6YWRvIGEgdHJhbnNtaXRpciAodGFsZXMgY29tbyBpbmZvcm1hY2nDs24gcHJpdmlsZWdpYWRhLCBpbmZvcm1hY2nDs24gcHJvdGVnaWRhIHBvciBkZXJlY2hvcyBkZSBwcm9waWVkYWQgaW5kdXN0cmlhbCBvIGludGVsZWN0dWFsIG8gaW5mb3JtYWNpw7NuIHNvYnJlIGxhIGN1YWwgdGllbmUgdW4gZGViZXIgZGUgY29uZmlkZW5jaWFsaWRhZCkuClBvbmVyIGEgZGlzcG9zaWNpw7NuIGRlIGxvcyBkZW3DoXMgdXN1YXJpb3MsIGVudmlhciBwb3IgZS1tYWlsIG8sIGRlIGFsZ8O6biBtb2RvLCB0cmFuc21pdGlyIGNvbnRlbmlkbyBhbGd1bm8gc3VzY2VwdGlibGUgZGUgaW5mcmluZ2lyIHBhdGVudGVzLCBtYXJjYXMsIHNlY3JldG9zIGNvbWVyY2lhbGVzLCBkZXJlY2hvcyBkZSBhdXRvciB1IG90cm9zIGRlcmVjaG9zIGRlIHRlcmNlcm9zICgiRGVyZWNob3MiKTsKUG9uZXIgYSBkaXNwb3NpY2nDs24gZGUgbG9zIGRlbcOhcyB1c3VhcmlvcywgZW52aWFyIHBvciBlLW1haWwgbywgZGUgYWxnw7puIG1vZG8sIHRyYW5zbWl0aXIgcHVibGljaWRhZCBubyBzb2xpY2l0YWRhIG8gYXV0b3JpemFkYSwgbWF0ZXJpYWwgcHVibGljaXRhcmlvLCAiY29ycmVvIGJhc3VyYSIsICJjYXJ0YXMgZW4gY2FkZW5hIiwgImVzdHJ1Y3R1cmFzIHBpcmFtaWRhbGVzIiwgbyBjdWFscXVpZXIgb3RyYSBmb3JtYSBkZSBzb2xpY2l0dWQ7ClBvbmVyIGEgZGlzcG9zaWNpw7NuIGRlIGxvcyBkZW3DoXMgdXN1YXJpb3MsIGVudmlhciBwb3IgZS1tYWlsIG8sIGRlIGFsZ8O6biBtb2RvLCB0cmFuc21pdGlyIG1hdGVyaWFsIGFsZ3VubyBxdWUgc2VhIHBvcnRhZG9yIGRlIHZpcnVzIG8gY3VhbHF1aWVyIG90cm8gY8OzZGlnbyBpbmZvcm3DoXRpY28sIGFyY2hpdm9zIG8gcHJvZ3JhbWFzIGRpc2XDsWFkb3MgcGFyYSBpbnRlcnJ1bXBpciwgZGVzdHJ1aXIgbyBsaW1pdGFyIGVsIGZ1bmNpb25hbWllbnRvIGRlIGN1YWxxdWllciBzb2Z0d2FyZSwgaGFyZHdhcmUgbyBlcXVpcG8gZGUgdGVsZWNvbXVuaWNhY2lvbmVzOwpQb25lciBhIGRpc3Bvc2ljacOzbiBkZSBsb3MgZGVtw6FzIHVzdWFyaW9zLCBlbnZpYXIgcG9yIGUtbWFpbCBvLCBkZSBhbGfDum4gbW9kbyB0cmFuc21pdGlyLCBjdWFscXVpZXIgY29udGVuaWRvIHF1ZSwgZGUgYWN1ZXJkbyBjb24gbGFzIGxleWVzIGFwbGljYWJsZXMsIHNlYSBkZSBjYXLDoWN0ZXIgaWxlZ2FsIG8gaW1wbGlxdWUsIGF5dWRlIG8gY29hZHl1dmUgbGEgY29taXNpw7NuIGRlIGNvbmR1Y3RhcyBkZWxpY3R1YWxlcyBvIGlsZWdhbGVzIGRlIGN1YWxxdWllciBtYW5lcmEuCkludGVycnVtcGlyIGVsIGN1cnNvIG5vcm1hbCBkZSBsYXMgY29udmVyc2FjaW9uZXMsIHByb3ZvY2FyIHF1ZSBsYSBwYW50YWxsYSBkZWwgb3JkZW5hZG9yIGFkcXVpZXJhIG1heW9yIHZlbG9jaWRhZCBkZSBsYSBub3JtYWwgY29uIGxhIHF1ZSBsb3MgdXN1YXJpb3MgcHVlZGVuIHBhcnRpY2lwYXIgZW4gZWwgU2VydmljaW8sIG8gZGUgYWxnw7puIG1vZG8gYWN0dWFyIGRlIG1hbmVyYSBxdWUgYWZlY3RlIGRlIGZvcm1hIG5lZ2F0aXZhIGEgbGEgcG9zaWJpbGlkYWQgZGUgY29tdW5pY2Fyc2UgZW4gdGllbXBvIHJlYWw7CkludGVyZmVyaXIgbyBpbnRlcnJ1bXBpciBlbCBTZXJ2aWNpbywgc2Vydmlkb3JlcyBvIHJlZGVzIGNvbmVjdGFkb3MgYWwgU2VydmljaW8sIG8gaW5jdW1wbGlyIGxvcyByZXF1aXNpdG9zLCBwcm9jZWRpbWllbnRvcyB5IHJlZ3VsYWNpb25lcyBkZSBsYSBwb2zDrXRpY2EgZGUgcmVkZXMgY29uZWN0YWRhcyBhbCBzZXJ2aWNpby4KNS4gTGltaXRhY2lvbmVzIGRlIGxhIFJlc3BvbnNhYmlsaWRhZDoKIApDb24gdG9kYSBsYSBleHRlbnNpw7NuIHBlcm1pdGlkYSBwb3IgbGFzIGxleWVzIG5hY2lvbmFsZXMgYXBsaWNhYmxlcywgbGEgRlVDUyBubyBhc3VtZSByZXNwb25zYWJpbGlkYWQgY29udHJhY3R1YWwgbyBleHRyYWNvbnRyYWN0dWFsIGFsZ3VuYSBkZSBsb3MgZGHDsW9zIHkgcGVyanVpY2lvcyBkaXJlY3RvcywgaW5kaXJlY3RvcywgaW5jaWRlbnRhbGVzLCBlc3BlY2lhbGVzIG8gZW1lcmdlbnRlcyAoaW5jbHVzbyBzaSBsYSBGdW5kYWNpw7NuIFVuaXZlcnNpdGFyaWEgZGUgQ2llbmNpYXMgZGUgbGEgU2FsdWQgaHViaWVyYSBzaWRvIGFkdmVydGlkbyBkZSBsYSBwb3NpYmlsaWRhZCBkZSBsb3MgbWlzbW9zKSBxdWUgdHJhaWdhbiBjYXVzYSBkZWw6IGVsIHVzbyBvIGRlIGxhIGltcG9zaWJpbGlkYWQgZGUgdXNhciBlbCBzZXJ2aWNpbzsgZWwgZGVsIGFjY2VzbyBubyBhdXRvcml6YWRvIMOzIGFsdGVyYWNpw7NuIGRlIHN1cyB0cmFuc21pc2lvbmVzIGRlIGRhdG9zOyBlbCBkZWNsYXJhY2lvbmVzIGRlIGNvbmR1Y3RhIGRlIHRlcmNlcm9zIGEgdHJhdsOpcyBkZWwgc2VydmljaW8uCiAKRWwgdXN1YXJpbyBhY3VlcmRhIGFkZW3DoXMgcXVlIGxhIEZ1bmRhY2nDs24gVW5pdmVyc2l0YXJpYSBkZSBDaWVuY2lhcyBkZSBsYSBTYWx1ZCBubyBzZXLDoSByZXNwb25zYWJsZSBkZSBuaW5nw7puIGRhw7FvIG8gcGVyanVpY2lvIGRlcml2YWRvIGRlIGxhIGludGVycnVwY2nDs24sIHN1c3BlbnNpw7NuIG8gdGVybWluYWNpw7NuIGRlbCBzZXJ2aWNpbywgaW5jbHV5ZW5kbywgcGVybyBubyBsaW1pdMOhbmRvc2UsIGEgZGHDsW9zLCBsdWNybyBjZXNhbnRlLCB1c28sIGRhdG9zIHUgb3Ryb3MgYmllbmVzIGludGFuZ2libGVzLCBvIHBlcmp1aWNpb3MgZGlyZWN0b3MsIGluZGlyZWN0b3MsIGluY2lkZW50YWxlcywgZXNwZWNpYWxlcywgY29uc2VjdWVudGVzLCBvIGVqZW1wbGFyZXMsIHlhIHNlYSBxdWUgdGFsIGludGVycnVwY2nDs24sIHN1c3BlbnNpw7NuIG8gdGVybWluYWNpw7NuIHNlYSBqdXN0aWZpY2FkYSBvIG5vLCBuZWdsaWdlbnRlIMOzIGludGVuY2lvbmFsLCBhZHZlcnRpZGEgw7MgaW5hZHZlcnRpZGEuCiAKTGEgRlVDUywgc2UgcmVzZXJ2YSBlbCBkZXJlY2hvIGEgcmV0aXJhciBzaW4gcHJldmlhIG5vdGlmaWNhY2nDs24gYSBjdWFscXVpZXIgdXN1YXJpbyBxdWUgc2UgY29uc2lkZXJlIG9mZW5zaXZvIGVuIGxhcyBjb252ZXJzYWNpb25lcyBvIGRpw6Fsb2dvcyBkZSBsb3MgdXN1YXJpb3MgbyB2aXNpdGFudGVzIGRlbCBzaXRpbyB3ZWIgZW4gZm9yb3MgbyBjaGF0cy4KIApMYSBGVUNTIG5vIGVzIHJlc3BvbnNhYmxlIGNvbiByZXNwZWN0byBhIGxhIHByaXZhY2lkYWQgZGUgbGEgaW5mb3JtYWNpw7NuIHBlcnNvbmFsIHF1ZSBlbCB1c3VhcmlvIGRpdnVsZ3VlIG8gcmVtaXRhIGVuIGZvcm9zLCBzZXNpb25lcyBkZSBjaGF0IGRlbCBzaXRpbyB3ZWIsIGVuIGNvcnJlb3MgZWxlY3Ryw7NuaWNvcyBvIGVuIGN1YWxxdWllciBvdHJvIHNpdGlvIHdlYi4gRWwgdXN1YXJpbyBlcyBleGNsdXNpdm8gcmVzcG9uc2FibGUgZGUgbGEgcHJpdmFjaWRhZCB5IGN1c3RvZGlhIGRlIGN1YWxxdWllciBkYXRvIHBlcnNvbmFsIHF1ZSBlbnRyZWd1ZSBhIHVuYSBwZXJzb25hIG8gZW1wcmVzYSBkaWZlcmVudGUgRlVDUy4KIAo2LiBEZXJlY2hvcyBkZSBQcm9waWVkYWQgSW50ZWxlY3R1YWw6CiAKRWwgVXN1YXJpbyByZWNvbm9jZSB5IGFjZXB0YSBxdWUgZWwgc2VydmljaW8geSBjdWFscXVpZXIgc29mdHdhcmUgdXNhZG8gZW4gcmVsYWNpw7NuIGNvbiBlbCBzZXJ2aWNpbyBxdWUgY29udGllbmUgaW5mb3JtYWNpw7NuIGNvbmZpZGVuY2lhbCB5IGRlIHByb3BpZWRhZCBhamVuYSBwcm90ZWdpZGEgcG9yIGxhIGxlZ2lzbGFjacOzbiBkZSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgeSBvdHJhcyBkaXNwb3NpY2lvbmVzIGxlZ2FsZXMuIEFkZW3DoXMgZWwgdXN1YXJpbyByZWNvbm9jZSB5IGFjZXB0YSBxdWUgZWwgY29udGVuaWRvIGluY2x1eWVuZG8sIHBlcm8gbm8gbGltaXTDoW5kb3NlLCB0ZXh0b3MsIHByb2dyYW1hcyAoYXBwbGV0cyksIGZvdG9ncmFmw61hcywgZ3LDoWZpY29zLCB2aWRlb3MgdSBvdHJvIG1hdGVyaWFsIGNvbnRlbmlkbyBlbiBlbCBzZXJ2aWNpbywgYXPDrSBjb21vIHRhbWJpw6luIGluZm9ybWFjaW9uZXMgZGl2dWxnYWRhcyBhbCB1c3VhcmlvIGEgdHJhdsOpcyBkZWwgc2VydmljaW8sIGVzdMOhIHByb3RlZ2lkbyBwb3IgZGVyZWNob3MgZGUgYXV0b3IsIG1hcmNhcyBjb21lcmNpYWxlcywgcGF0ZW50ZXMgeSBvdHJvcyBkZXJlY2hvcyBkZSBwcm9waWVkYWQgaW50ZWxlY3R1YWwsIGRlIGFjdWVyZG8gY29uIGxhIGxlZ2lzbGFjacOzbiBjb2xvbWJpYW5hLCBjb211bml0YXJpYSBlIGludGVybmFjaW9uYWwgYXBsaWNhYmxlLgogCkVsIFVzdWFyaW8gcmVjb25vY2UgeSBhY3VlcmRhIHF1ZSBzb2xhbWVudGUgcG9kcsOhIHV0aWxpemFyIHRhbGVzIG1hdGVyaWFsZXMgZSBpbmZvcm1hY2lvbmVzIHNlZ8O6biBsbyBleHByZXNhbWVudGUgYXV0b3JpemFkbyBwb3IgbGEgRlVDUywgeSBubyBwb2Ryw6EgY29waWFyLCByZXByb2R1Y2lyLCB0cmFuc21pdGlyLCBkaXN0cmlidWlyIG8gY3JlYXIgb2JyYXMgZGVyaXZhZGFzIGEgcGFydGlyIGRlIHRhbGVzIG1hdGVyaWFsZXMgbyBpbmZvcm1hY2lvbmVzIHNpbiBsYSBleHByZXNhIGF1dG9yaXphY2nDs24gZGVsIHJlc3BlY3Rpdm8gcHJvcGlldGFyaW8uCiAKRWwgVXN1YXJpbyBzZSBvYmxpZ2EgYSBubyBtb2RpZmljYXIgZWwgc29mdHdhcmUgaW52b2x1Y3JhZG8gZW4gZWwgcG9ydGFsIHdlYiBkZSBuaW5ndW5hIG1hbmVyYSwgbyB1dGlsaXphciB2ZXJzaW9uZXMgZGUgc29mdHdhcmUgbW9kaWZpY2FkYXMgY29uIGVsIGZpbiwgZW50cmUgb3Ryb3MsIGRlIG9idGVuZXIgYWNjZXNvIG5vIGF1dG9yaXphZG8gYWwgU2VydmljaW8uIEVsIFVzdWFyaW8gc2Ugb2JsaWdhIGEgbm8gYWNjZWRlciBhbCBTZXJ2aWNpbyBwb3Igb3Ryb3MgbWVkaW9zIHF1ZSBubyBzZWFuIGEgdHJhdsOpcyBkZSBsYSBpbnRlcmZheiBxdWUgbGEgRlVDUyBwcm9wb3JjaW9uYSBwYXJhIGFjY2VkZXIgYWwgU2VydmljaW8uCiAKNy4gR2FyYW50w61hIExpbWl0YWRhOgogCkVsIHVzbyBkZWwgc2VydmljaW8gc2Vyw6EgYmFqbyBleGNsdXNpdm8gcmllc2dvIHkgcmVzcG9uc2FiaWxpZGFkIGRlbCB1c3VhcmlvLiBFbCBzZXJ2aWNpbyBlcyBzdW1pbmlzdHJhZG8gZ3JhdHVpdGFtZW50ZSB5IGRlcGVuZGUgZGUgbGEgZnVuY2lvbmFsaWRhZCBkZSB2YXJpb3MgZmFjdG9yZXMsIGNvbW8gbGEgaW50ZXJhY2Npw7NuIGRlIHNlcnZpZG9yZXMgeSBzZXJ2aWNpb3MgZGUgdGVsZWNvbXVuaWNhY2lvbmVzIGRlIHRlcmNlcm9zLCBsYSBhZGVjdWFjacOzbiBkZSBsb3MgZXF1aXBvcyBkZSB1c3VhcmlvIHkgZGVzdGluYXRhcmlvIGRlbCBtZW5zYWplLiBDb25zaWRlcmFuZG8gdGFsZXMgZmFjdG9yZXMsIGxhIEZVQ1MgZW1wbGVhcsOhIHN1cyBtZWpvcmVzIGVzZnVlcnpvcyBwYXJhIHF1ZSBsb3MgbWVuc2FqZXMgZGUgZS1tYWlsIGVudmlhZG9zIGEgdHJhdsOpcyBkZWwgc2VydmljaW8sIHNlYW4gcmVjaWJpZG9zIHBvciBlbCBkZXN0aW5hdGFyaW8gZW4gZm9ybWEgY29ycmVjdGEgeSBzaW4gaW50ZXJmZXJlbmNpYXMuIFNpbiBlbWJhcmdvLCBwb3IgZXN0YXMgbWlzbWFzIHJhem9uZXMsIGxhIEZVQ1Mgbm8gcHVlZGUgZ2FyYW50aXphciBxdWUgbG9zIG1lbnNhamVzIHNlcsOhbiBlbnRyZWdhZG9zIGFsIGRlc3RpbmF0YXJpbyBjb3JyZWN0bywgZW4gdW4gcGxhem8gYWRlY3VhZG8sIG8gbm8gc3Vmcmlyw6FuIGV4dHJhdsOtbywgZGl2dWxnYWNpw7NuIG8gdmlvbGFjacOzbiBwb3IgcGFydGVzIGRlIHRlcmNlcm9zIG5vIGF1dG9yaXphZG9zLCBjb21vIHBvciBlamVtcGxvcyAiaGFja2VycyIuCiAKU2UgYWNvbnNlamEgYWwgdXN1YXJpbyBubyBjb25maWFyIGV4Y2x1c2l2YW1lbnRlIGVuIGVsIHNlcnZpY2lvIHBhcmEgZW52aWFyIGluZm9ybWFjaW9uZXMgaW1wb3J0YW50ZXMgbyBjb25maWRlbmNpYWxlcyB5IGxhIEZ1bmRhY2nDs24gVW5pdmVyc2l0YXJpYSBkZSBDaWVuY2lhcyBkZSBsYSBTYWx1ZCBubyBzZSByZXNwb25zYWJpbGl6YXLDoSBwb3IgbmluZ3VuYSBmYWxsYSByZXN1bHRhbnRlIGRlbCBlbnbDrW8gZGUgbWVuc2FqZXMgcG9yIHBhcnRlIGRlbCB1c3VhcmlvLgogCkxhIEZVQ1Mgbm8gZ2FyYW50aXphIHF1ZSBlbCBzZXJ2aWNpbyBzZSBwcmVzdGFyw6EgZGUgbWFuZXJhIGluaW50ZXJydW1waWRhLCBzZWd1cmEgbyBsaWJyZSBkZSBlcnJvci4gTGEgRlVDUyB0YW1wb2NvIG90b3JnYSBuaW5ndW5hIGdhcmFudMOtYSBlbiBjdWFudG8gYSBsb3MgcmVzdWx0YWRvcyBxdWUgc2UgcHVlZGFuIG9idGVuZXIgZGVsIHVzbyBkZWwgc2VydmljaW8sIG5pIHF1ZSBsb3MgZGVmZWN0b3MgZW4gbG9zIHByb2dyYW1hcyBzZXLDoW4gY29ycmVnaWRvcy4KIApFbCB1c3VhcmlvIHJlY29ub2NlIHkgYWN1ZXJkYSBxdWUgY3VhbHF1aWVyIG1hdGVyaWFsIHkvbyBpbmZvcm1hY2nDs24gb2J0ZW5pZGEgYSB0cmF2w6lzIGRlbCBzZXJ2aWNpbyBvIGRlIHN1IHV0aWxpemFjacOzbiwgZXN0YXLDoSBzdWpldGEgYSBzdSBlbnRlcm8gY3JpdGVyaW8geSByaWVzZ287IHkgcXVlIHNlcsOhIGVsIMO6bmljbyByZXNwb25zYWJsZSBkZSBjdWFscXVpZXIgZGHDsW8gb2N1cnJpZG8gZW4gc3UgY29tcHV0YWRvcmEgbyBww6lyZGlkYSBkZSBkYXRvcyBxdWUgcHVlZGEgcmVzdWx0YXIgZGUgcmVjaWJpciB0YWwgbWF0ZXJpYWwuCiAKTm90YTogc2kgcmVjaWJlIHVuIG1lbnNhamUgZGUgY29ycmVvIGVsZWN0csOzbmljbyBubyBzb2xpY2l0YWRvLCBvIGN1YWxxdWllciBtZW5zYWplIGFtZW5hemFkb3IgdSBvZmVuc2l2bywgbyBjb25zaWRlcmEgcXVlIG90cm8gdXN1YXJpbyBvIGN1YWxxdWllciBwZXJzb25hIGxlIGVzdMOhIHZ1bG5lcmFuZG8gdW4gZGVyZWNobyBjb25mb3JtZSBhIGVzdGUgZG9jdW1lbnRvLCByZW3DrXRhbm9zIHVuYSBjb3BpYSBjb21wbGV0YSB5IHNpbiBtb2RpZmljYXIgZGVsIG1lbnNhamUgZGUgY29ycmVvIGVsZWN0csOzbmljbyBjb24gbG9zIGVuY2FiZXphZG9zIGNvbXBsZXRvcyBhIGxhIHNpZ3VpZW50ZSBkaXJlY2Npw7NuIGVsZWN0csOzbmljYTogeWx0b3JvQGZ1Y3NhbHVkLmVkdS5jbwoKTGFzIHByZWd1bnRhcyBxdWUgZWwgdXN1YXJpbyBvIGN1YWxxdWllciBwZXJzb25hIGRlc2VlIHJlYWxpemFyIHNvYnJlIGxvIGV4cHJlc2FkbyBlbiBlc3RlIGRvY3VtZW50bywgbGFzIHB1ZWRlIGZvcm11bGFyIGEgbGEgc2lndWllbnRlIGRpcmVjY2nDs24gZWxlY3Ryw7NuaWNhOiB5bHRvcm9AZnVjc2FsdWQuZWR1LmNvCg==