Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales

Uno de los grandes retos de cualquier empresa de distribución y comercialización de servicios públicos domiciliarios en el mundo es el control de perdidas, estas tienen diversas causas que suelen clasificarse como técnicas (propias de la operación del negocio y que se deben tener controladas) y no t...

Full description

Autores:
Pachón Rodríguez, Willian Antonio
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2023
Institución:
Universidad Distrital Francisco José de Caldas
Repositorio:
RIUD: repositorio U. Distrital
Idioma:
OAI Identifier:
oai:repository.udistrital.edu.co:11349/41616
Acceso en línea:
http://hdl.handle.net/11349/41616
Palabra clave:
Analisis de Datos
Analisis Geoespacial
Ciencias de la Información
Detección de Fraudes
Pérdidas No Técnicas
Servicios Públicos
Data Analysis
Geoespatial Analysis
Information Sciences
Fraud Detection
Non Technical losses
Utilities
Rights
License
Attribution-NonCommercial-NoDerivatives 4.0 Internacional
id UDISTRITA2_c50f5bef71c421d3456f780f0db24c55
oai_identifier_str oai:repository.udistrital.edu.co:11349/41616
network_acronym_str UDISTRITA2
network_name_str RIUD: repositorio U. Distrital
repository_id_str
dc.title.spa.fl_str_mv Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales
dc.title.titleenglish.spa.fl_str_mv Fraud Detection in Utilities Using Data Science and Geospatial Analysis
title Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales
spellingShingle Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales
Analisis de Datos
Analisis Geoespacial
Ciencias de la Información
Detección de Fraudes
Pérdidas No Técnicas
Servicios Públicos
Data Analysis
Geoespatial Analysis
Information Sciences
Fraud Detection
Non Technical losses
Utilities
title_short Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales
title_full Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales
title_fullStr Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales
title_full_unstemmed Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales
title_sort Detección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespaciales
dc.creator.fl_str_mv Pachón Rodríguez, Willian Antonio
dc.contributor.advisor.none.fl_str_mv Melo Martinez, Carlos Eduardo
dc.contributor.author.none.fl_str_mv Pachón Rodríguez, Willian Antonio
dc.contributor.orcid.spa.fl_str_mv 0000-0002-6570-8144
0000-0002-5598-1913
dc.subject.spa.fl_str_mv Analisis de Datos
Analisis Geoespacial
Ciencias de la Información
Detección de Fraudes
Pérdidas No Técnicas
Servicios Públicos
topic Analisis de Datos
Analisis Geoespacial
Ciencias de la Información
Detección de Fraudes
Pérdidas No Técnicas
Servicios Públicos
Data Analysis
Geoespatial Analysis
Information Sciences
Fraud Detection
Non Technical losses
Utilities
dc.subject.keyword.spa.fl_str_mv Data Analysis
Geoespatial Analysis
Information Sciences
Fraud Detection
Non Technical losses
Utilities
description Uno de los grandes retos de cualquier empresa de distribución y comercialización de servicios públicos domiciliarios en el mundo es el control de perdidas, estas tienen diversas causas que suelen clasificarse como técnicas (propias de la operación del negocio y que se deben tener controladas) y no técnicas (asociadas a fraudes), afectando en mayor o menor grado temas como; inversiones para la expansión y mantenimiento de las redes, la rentabilidad de los accionistas e incluso la continuidad del servicio. Esta investigación propone una metodología para la detección de fraudes, clasificados como perdidas NO técnicas común a cualquier empresa de servicios públicos domiciliarios, basada en analítica de datos sobre información propia del negocio enriquecida con datos de terceros a través de análisis geoespaciales a partir de su ubicación geográfica y una segmentación por mercados, que permiten encontrar patrones sobre situaciones anómalas a través de modelos de machine learning supervisado y no supervisado. La metodología se implementó en una empresa de distribución de gas natural en Colombia y se contrasto contra metodologías propuestas por otros autores para empresas de distribución de energía eléctrica de otros países, que consideran que el problema debe ser abordado a partir de análisis de históricos de consumo y sus desviaciones. Los resultados obtenidos con la metodología propuesta mejoran la precisión y sensibilidad de los modelos en más del 20% y disminuyen los falsos negativos en el mismo porcentaje, facilitando la verificación y normalización de clientes en situaciones anómalas y/o fraudulentas.
publishDate 2023
dc.date.created.none.fl_str_mv 2023-12-04
dc.date.accessioned.none.fl_str_mv 2024-10-16T19:48:32Z
dc.date.available.none.fl_str_mv 2024-10-16T19:48:32Z
dc.type.spa.fl_str_mv masterThesis
dc.type.degree.spa.fl_str_mv Investigación-Innovación
dc.type.coar.spa.fl_str_mv http://purl.org/coar/resource_type/c_7a1f
format http://purl.org/coar/resource_type/c_7a1f
dc.identifier.uri.none.fl_str_mv http://hdl.handle.net/11349/41616
url http://hdl.handle.net/11349/41616
dc.rights.*.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
dc.rights.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.uri.*.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0/
dc.rights.acceso.spa.fl_str_mv Abierto (Texto Completo)
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 Internacional
http://creativecommons.org/licenses/by-nc-nd/4.0/
Abierto (Texto Completo)
http://purl.org/coar/access_right/c_abf2
dc.format.mimetype.spa.fl_str_mv pdf
institution Universidad Distrital Francisco José de Caldas
bitstream.url.fl_str_mv https://repository.udistrital.edu.co/bitstreams/c2642358-f484-4d26-b3f4-ae53722a0906/download
https://repository.udistrital.edu.co/bitstreams/08d4334c-4edd-4dd1-8793-3d1b583a4475/download
https://repository.udistrital.edu.co/bitstreams/039d26bb-6bed-430c-9246-f3f1d87d8111/download
https://repository.udistrital.edu.co/bitstreams/7dd82608-8246-4d28-b314-c87919828127/download
https://repository.udistrital.edu.co/bitstreams/f31f5353-84d5-447c-b155-6a713fb051f4/download
https://repository.udistrital.edu.co/bitstreams/3335bbf7-b1e1-4394-864a-2fa524b00a4a/download
bitstream.checksum.fl_str_mv 997daf6c648c962d566d7b082dac908d
13234f687bdb13555e03218d34fd7275
07b72c07fce976d33312639c831bf3db
4460e5956bc1d1639be9ae6146a50347
e2c872e73327be98c84e574cb674cfae
407ed95067b22ed09d45c1d670730a94
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Universidad Distrital
repository.mail.fl_str_mv repositorio@udistrital.edu.co
_version_ 1828164847696609280
spelling Melo Martinez, Carlos EduardoPachón Rodríguez, Willian Antonio0000-0002-6570-81440000-0002-5598-19132024-10-16T19:48:32Z2024-10-16T19:48:32Z2023-12-04http://hdl.handle.net/11349/41616Uno de los grandes retos de cualquier empresa de distribución y comercialización de servicios públicos domiciliarios en el mundo es el control de perdidas, estas tienen diversas causas que suelen clasificarse como técnicas (propias de la operación del negocio y que se deben tener controladas) y no técnicas (asociadas a fraudes), afectando en mayor o menor grado temas como; inversiones para la expansión y mantenimiento de las redes, la rentabilidad de los accionistas e incluso la continuidad del servicio. Esta investigación propone una metodología para la detección de fraudes, clasificados como perdidas NO técnicas común a cualquier empresa de servicios públicos domiciliarios, basada en analítica de datos sobre información propia del negocio enriquecida con datos de terceros a través de análisis geoespaciales a partir de su ubicación geográfica y una segmentación por mercados, que permiten encontrar patrones sobre situaciones anómalas a través de modelos de machine learning supervisado y no supervisado. La metodología se implementó en una empresa de distribución de gas natural en Colombia y se contrasto contra metodologías propuestas por otros autores para empresas de distribución de energía eléctrica de otros países, que consideran que el problema debe ser abordado a partir de análisis de históricos de consumo y sus desviaciones. Los resultados obtenidos con la metodología propuesta mejoran la precisión y sensibilidad de los modelos en más del 20% y disminuyen los falsos negativos en el mismo porcentaje, facilitando la verificación y normalización de clientes en situaciones anómalas y/o fraudulentas.One of the great challenges of any utilities around the world is the control of losses, which have different causes that are usually classified as technical (accuracy of equipment, leaks and breaks, construction and maintenance procedures) and NON-technical (thefts and frauds), affecting issues such: as investments for the expansion and maintenance of the networks, the profitability of the shareholders and even the continuity of the service. This research proposes a methodology for the detection of NON-technical losses common to any utility company, based on data analytics on business information enriched with data from third parties through geospatial analysis from its geographic location and market segmentation, which allows finding patterns on anomalous situations through supervised (on historical information) and unsupervised (if no information is available) machine learning models. The results of different classification algorithms used in data analytics were analyzed and the one with the highest accuracy and lowest type two error rates (false negatives) was selected to perform field verification work. The methodology was implemented in a natural gas distribution company and was contrasted with methodologies proposed by other authors for electric energy distribution companies, who consider that the problem should be addressed based on an analysis of historical consumption and its deviations. The results obtained with the proposed methodology improve the accuracy and sensitivity of the models by more than 20% and decrease false negatives by the same percentage, facilitating the verification and normalization of customers in anomalous situations and/or fraudulent conditions.pdfAttribution-NonCommercial-NoDerivatives 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc-nd/4.0/Abierto (Texto Completo)http://purl.org/coar/access_right/c_abf2Analisis de DatosAnalisis GeoespacialCiencias de la InformaciónDetección de FraudesPérdidas No TécnicasServicios PúblicosData AnalysisGeoespatial AnalysisInformation SciencesFraud DetectionNon Technical lossesUtilitiesDetección de Fraudes en Empresas de Servicios Públicos Domiciliarios utilizando ciencia de datos y análisis geoespacialesFraud Detection in Utilities Using Data Science and Geospatial AnalysismasterThesisInvestigación-Innovaciónhttp://purl.org/coar/resource_type/c_7a1fLICENSElicense.txtlicense.txttext/plain; charset=utf-87167https://repository.udistrital.edu.co/bitstreams/c2642358-f484-4d26-b3f4-ae53722a0906/download997daf6c648c962d566d7b082dac908dMD54ORIGINALPachonRodriguezWillianAntonio2023.pdfPachonRodriguezWillianAntonio2023.pdfTrabajo de Maestriaapplication/pdf3506667https://repository.udistrital.edu.co/bitstreams/08d4334c-4edd-4dd1-8793-3d1b583a4475/download13234f687bdb13555e03218d34fd7275MD51Licenciadeusoyautorizacionparapublicar.pdfLicenciadeusoyautorizacionparapublicar.pdfLicencia de Publicacionapplication/pdf202199https://repository.udistrital.edu.co/bitstreams/039d26bb-6bed-430c-9246-f3f1d87d8111/download07b72c07fce976d33312639c831bf3dbMD52CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8805https://repository.udistrital.edu.co/bitstreams/7dd82608-8246-4d28-b314-c87919828127/download4460e5956bc1d1639be9ae6146a50347MD53THUMBNAILPachonRodriguezWillianAntonio2023.pdf.jpgPachonRodriguezWillianAntonio2023.pdf.jpgIM Thumbnailimage/jpeg5509https://repository.udistrital.edu.co/bitstreams/f31f5353-84d5-447c-b155-6a713fb051f4/downloade2c872e73327be98c84e574cb674cfaeMD55Licenciadeusoyautorizacionparapublicar.pdf.jpgLicenciadeusoyautorizacionparapublicar.pdf.jpgIM Thumbnailimage/jpeg9517https://repository.udistrital.edu.co/bitstreams/3335bbf7-b1e1-4394-864a-2fa524b00a4a/download407ed95067b22ed09d45c1d670730a94MD5611349/41616oai:repository.udistrital.edu.co:11349/416162024-11-02 01:02:03.449http://creativecommons.org/licenses/by-nc-nd/4.0/Attribution-NonCommercial-NoDerivatives 4.0 Internacionalopen.accesshttps://repository.udistrital.edu.coRepositorio Universidad Distritalrepositorio@udistrital.edu.coTElDRU5DSUEgWSBBVVRPUklaQUNJw5NOIEVTUEVDSUFMIFBBUkEgUFVCTElDQVIgWSBQRVJNSVRJUiBMQSBDT05TVUxUQSBZIFVTTyBERSBDT05URU5JRE9TIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgREUgTEEgVU5JVkVSU0lEQUQgRElTVFJJVEFMCgpUw6lybWlub3MgeSBjb25kaWNpb25lcyBkZSB1c28gcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyAoUklVRCkKCkNvbW8gdGl0dWxhcihlcykgZGVsKG9zKSBkZXJlY2hvKHMpIGRlIGF1dG9yLCBjb25maWVybyAoZXJpbW9zKSBhIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIChlbiBhZGVsYW50ZSwgTEEgVU5JVkVSU0lEQUQpIHVuYSBsaWNlbmNpYSBwYXJhIHVzbyBubyBleGNsdXNpdmEsIGxpbWl0YWRhIHkgZ3JhdHVpdGEgc29icmUgbGEgb2JyYSBxdWUgaW50ZWdyYXLDoSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIChlbiBhZGVsYW50ZSwgUklVRCksIGRlIGFjdWVyZG8gYSBsYXMgc2lndWllbnRlcyByZWdsYXMsIGxhcyBjdWFsZXMgZGVjbGFybyAoYW1vcykgY29ub2NlciB5IGFjZXB0YXI6CgphKQlFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWEgZW4gZWwgUklVRCB5IGhhc3RhIHBvciB1biBwbGF6byBkZSBkaWV6ICgxMCkgQcOxb3MsIHByb3Jyb2dhYmxlIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gUGF0cmltb25pYWwgZGVsIGF1dG9yOyBsYSBjdWFsIHBvZHLDoSBkYXJzZSBwb3IgdGVybWluYWRhIHByZXZpYSBzb2xpY2l0dWQgYSBMQSBVTklWRVJTSURBRCBwb3IgZXNjcml0byBjb24gdW5hIGFudGVsYWNpw7NuIGRlIGRvcyAoMikgbWVzZXMgYW50ZXMgZGVsIHZlbmNpbWllbnRvIGRlbCBwbGF6byBpbmljaWFsIG8gZWwgZGUgc3UocykgcHLDs3Jyb2dhKHMpLgoKYikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIHB1YmxpY2FyIGxhIG9icmEgZW4gbGFzIGRpc3RpbnRhcyB2ZXJzaW9uZXMgcmVxdWVyaWRhcyBwb3IgZWwgUklVRCAoZGlnaXRhbCwgaW1wcmVzbywgZWxlY3Ryw7NuaWNvIHUgb3RybyBtZWRpbyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSBMQSBVTklWRVJTSURBRCBubyBzZXLDoSByZXNwb25zYWJsZSBlbiBlbCBldmVudG8gcXVlIGVsIGRvY3VtZW50byBhcGFyZXpjYSByZWZlcmVuY2lhZG8gZW4gbW90b3JlcyBkZSBiw7pzcXVlZGEgbyByZXBvc2l0b3Jpb3MgZGlmZXJlbnRlcyBhbCBSSVVELCB1bmEgdmV6IGVsKG9zKSBhdXRvcihlcykgc29saWNpdGVuIHN1IGVsaW1pbmFjacOzbiBkZWwgUklVRCwgZGFkbyBxdWUgbGEgbWlzbWEgc2Vyw6EgcHVibGljYWRhIGVuIEludGVybmV0LgoKYykJTGEgYXV0b3JpemFjacOzbiBzZSBoYWNlIGEgdMOtdHVsbyBncmF0dWl0bywgcG9yIGxvIHRhbnRvLCBsb3MgYXV0b3JlcyByZW51bmNpYW4gYSByZWNpYmlyIGJlbmVmaWNpbyBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgZGUgdXNvIGNvbiBxdWUgc2UgcHVibGljYSAoQ3JlYXRpdmUgQ29tbW9ucykuCgpkKQlMb3MgY29udGVuaWRvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQgc29uIG9icmEocykgb3JpZ2luYWwoZXMpIHNvYnJlIGxhIGN1YWwoZXMpIGVsKG9zKSBhdXRvcihlcykgY29tbyB0aXR1bGFyZXMgZGUgbG9zIGRlcmVjaG9zIGRlIGF1dG9yLCBhc3VtZW4gdG90YWwgcmVzcG9uc2FiaWxpZGFkIHBvciBlbCBjb250ZW5pZG8gZGUgc3Ugb2JyYSBhbnRlIExBIFVOSVZFUlNJREFEIHkgYW50ZSB0ZXJjZXJvcy4gRW4gdG9kbyBjYXNvIExBIFVOSVZFUlNJREFEIHNlIGNvbXByb21ldGUgYSBpbmRpY2FyIHNpZW1wcmUgbGEgYXV0b3LDrWEgaW5jbHV5ZW5kbyBlbCBub21icmUgZGVsIGF1dG9yIHkgbGEgZmVjaGEgZGUgcHVibGljYWNpw7NuLgoKZSkJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGluY2x1aXIgbGEgb2JyYSBlbiBsb3Mgw61uZGljZXMgeSBidXNjYWRvcmVzIHF1ZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBtYXhpbWl6YXIgbGEgdmlzaWJpbGlkYWQgZWwgdXNvIHkgZWwgaW1wYWN0byBkZSBsYSBwcm9kdWNjacOzbiBjaWVudMOtZmljYSwgYXJ0w61zdGljYSB5IGFjYWTDqW1pY2EgZW4gbGEgY29tdW5pZGFkIGxvY2FsLCBuYWNpb25hbCBvIGludGVybmFjaW9uYWwuCgoKZikJTEEgVU5JVkVSU0lEQUQgcG9kcsOhIGNvbnZlcnRpciBsYSBvYnJhIGEgY3VhbHF1aWVyIG1lZGlvIG8gZm9ybWF0byBjb24gZWwgZmluIGRlIHN1IHByZXNlcnZhY2nDs24gZW4gZWwgdGllbXBvIHF1ZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSB5IGxhIGRlIHN1cyBwcsOzcnJvZ2FzLgoKCkNvbiBiYXNlIGVuIGxvIGFudGVyaW9yIGF1dG9yaXpvKGFtb3MpLCBhIGZhdm9yIGRlbCBSSVVEIHkgZGUgc3VzIHVzdWFyaW9zLCBsYSBwdWJsaWNhY2nDs24geSBjb25zdWx0YSBkZSBsYSBzaWd1aWVudGUgb2JyYToKClRpdHVsbwoKQXV0b3IgICAgICAgQXBlbGxpZG9zICAgICAgICAgTm9tYnJlcwoKMQoKMgoKMwoKCmcpCUF1dG9yaXpvKGFtb3MpLCBxdWUgbGEgb2JyYSBzZWEgcHVlc3RhIGEgZGlzcG9zaWNpw7NuIGRlbCBww7pibGljbyBlbiBsb3MgdMOpcm1pbm9zIGVzdGFibGVjaWRvcyBlbiBsb3MgbGl0ZXJhbGVzIGFudGVyaW9yZXMsIGJham8gbG9zIGzDrW1pdGVzIGRlZmluaWRvcyBwb3IgTEEgVU5JVkVSU0lEQUQsIGVuIGxhcyDigJxDb25kaWNpb25lcyBkZSB1c28gZGUgZXN0cmljdG8gY3VtcGxpbWllbnRv4oCdIGRlIGxvcyByZWN1cnNvcyBwdWJsaWNhZG9zIGVuIGVsIFJJVUQsIGN1eW8gdGV4dG8gY29tcGxldG8gc2UgcHVlZGUgY29uc3VsdGFyIGVuIGh0dHA6Ly9yZXBvc2l0b3J5LnVkaXN0cml0YWwuZWR1LmNvLwoKaCkJQ29ub3pjbyhjZW1vcykgeSBhY2VwdG8oYW1vcykgcXVlIG90b3JnbyhhbW9zKSB1bmEgbGljZW5jaWEgZXNwZWNpYWwgcGFyYSBwdWJsaWNhY2nDs24gZGUgb2JyYXMgZW4gZWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcywgbGljZW5jaWEgICBkZSBsYSBjdWFsIGhlIChoZW1vcykgb2J0ZW5pZG8gdW5hIGNvcGlhLgoKaSkJTWFuaWZpZXN0byhhbW9zKSBtaSAobnVlc3RybykgdG90YWwgYWN1ZXJkbyBjb24gbGFzIGNvbmRpY2lvbmVzIGRlIHVzbyB5IHB1YmxpY2FjacOzbiBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIHF1ZSBzZSBkZXNjcmliZW4geSBleHBsaWNhbiBlbiBlbCBwcmVzZW50ZSBkb2N1bWVudG8uCgpqKQlDb25vemNvKGNlbW9zKSBsYSBub3JtYXRpdmlkYWQgaW50ZXJuYSBkZSAgTEEgVU5JVkVSU0lEQUQ7IGVuIGNvbmNyZXRvLCBlbCBBY3VlcmRvIDAwNCBkZSAyMDEyIGRlbCBDU1UsIEFjdWVyZG8gMDIzIGRlIDIwMTIgZGVsIENTVSBzb2JyZSBQb2zDrXRpY2EgRWRpdG9yaWFsLCBBY3VlcmRvIDAyNiAgZGVsIDMxIGRlIGp1bGlvIGRlIDIwMTIgc29icmUgZWwgcHJvY2VkaW1pZW50byBwYXJhIGxhIHB1YmxpY2FjacOzbiBkZSB0ZXNpcyBkZSBwb3N0Z3JhZG8gZGUgbG9zIGVzdHVkaWFudGVzIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzLCAgQWN1ZXJkbyAwMzAgZGVsIDAzIGRlIGRpY2llbWJyZSBkZSAyMDEzIHBvciBtZWRpbyBkZWwgY3VhbCBzZSBjcmVhIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwgZGUgbGEgVW5pdmVyc2lkYWQgRGlzdHJpdGFsIEZyYW5jaXNjbyBKb3PDqSBkZSBDYWxkYXMsIEFjdWVyZG8gMDM4IGRlIDIwMTUgMjAxNSDigJxwb3IgZWwgY3VhbCBzZSBtb2RpZmljYSBlbCBBY3VlcmRvIDAzMSBkZSAyMDE0IGRlIDIwMTQgcXVlIHJlZ2xhbWVudGEgZWwgdHJhYmFqbyBkZSBncmFkbyBwYXJhIGxvcyBlc3R1ZGlhbnRlcyBkZSBwcmVncmFkbyBkZSBsYSBVbml2ZXJzaWRhZCBEaXN0cml0YWwgRnJhbmNpc2NvIEpvc8OpIGRlIENhbGRhcyB5IHNlIGRpY3RhbiBvdHJhcyBkaXJlY3RyaWNlc+KAnSB5IGxhcyBkZW3DoXMgbm9ybWFzIGNvbmNvcmRhbnRlIHkgY29tcGxlbWVudGFyaWFzIHF1ZSByaWdlbiBhbCByZXNwZWN0bywgZXNwZWNpYWxtZW50ZSBsYSBsZXkgMjMgZGUgMTk4MiwgbGEgbGV5IDQ0IGRlIDE5OTMgeSBsYSBkZWNpc2nDs24gQW5kaW5hIDM1MSBkZSAxOTkzLiBFc3RvcyBkb2N1bWVudG9zIHBvZHLDoW4gc2VyIGNvbnN1bHRhZG9zIHkgZGVzY2FyZ2Fkb3MgZW4gZWwgcG9ydGFsIHdlYiBkZSBsYSBiaWJsaW90ZWNhIGh0dHA6Ly9zaXN0ZW1hZGViaWJsaW90ZWNhcy51ZGlzdHJpdGFsLmVkdS5jby8KCmspCUFjZXB0byhhbW9zKSBxdWUgTEEgVU5JVkVSU0lEQUQgbm8gc2UgcmVzcG9uc2FiaWxpemEgcG9yIGxhcyBpbmZyYWNjaW9uZXMgYSBsYSBwcm9waWVkYWQgaW50ZWxlY3R1YWwgbyBEZXJlY2hvcyBkZSBBdXRvciBjYXVzYWRhcyBwb3IgbG9zIHRpdHVsYXJlcyBkZSBsYSBwcmVzZW50ZSBMaWNlbmNpYSB5IGRlY2xhcmFtb3MgcXVlIG1hbnRlbmRyw6kgKGVtb3MpIGluZGVtbmUgYSBMQSBVTklWRVJTSURBRCBwb3IgbGFzIHJlY2xhbWFjaW9uZXMgbGVnYWxlcyBkZSBjdWFscXVpZXIgdGlwbyBxdWUgbGxlZ2FyZW4gYSBwcmVzZW50YXJzZSBwb3IgdmlvbGFjacOzbiBkZSBkZXJlY2hvcyBhIGxhIHByb3BpZWRhZCBpbnRlbGVjdHVhbCBvIGRlIEF1dG9yIHJlbGFjaW9uYWRvcyBjb24gbG9zIGRvY3VtZW50b3MgcmVnaXN0cmFkb3MgZW4gZWwgUklVRC4KCmwpCUVsIChsb3MpIGF1dG9yKGVzKSBtYW5pZmllc3RhKG1vcykgcXVlIGxhIG9icmEgb2JqZXRvIGRlIGxhIHByZXNlbnRlIGF1dG9yaXphY2nDs24gZXMgb3JpZ2luYWwsIGRlIGV4Y2x1c2l2YSBhdXRvcsOtYSwgeSBzZSByZWFsaXrDsyBzaW4gdmlvbGFyIG8gdXN1cnBhciBkZXJlY2hvcyBkZSBhdXRvciBkZSB0ZXJjZXJvczsgZGUgdGFsIHN1ZXJ0ZSwgZW4gY2FzbyBkZSBwcmVzZW50YXJzZSBjdWFscXVpZXIgcmVjbGFtYWNpw7NuIG8gYWNjacOzbiBwb3IgcGFydGUgZGUgdW4gdGVyY2VybyBlbiBjdWFudG8gYSBsb3MgZGVyZWNob3MgZGUgYXV0b3Igc29icmUgbGEgb2JyYSwgZWwgKGxvcykgZXN0dWRpYW50ZShzKSDigJMgYXV0b3IoZXMpIGFzdW1pcsOhKG4pIHRvZGEgbGEgcmVzcG9uc2FiaWxpZGFkIHkgc2FsZHLDoShuKSBlbiBkZWZlbnNhIGRlIGxvcyBkZXJlY2hvcyBhcXXDrSBhdXRvcml6YWRvcy4gUGFyYSB0b2RvcyBsb3MgZWZlY3RvcywgTEEgVU5JVkVSU0lEQUQgYWN0w7phIGNvbW8gdW4gdGVyY2VybyBkZSBidWVuYSBmZS4KCgptKQlFbCAobG9zKSBhdXRvcihlcykgbWFuaWZpZXN0YShtb3MpIHF1ZSBjb25vemNvKGNlbW9zKSBsYSBhdXRvbm9tw61hIHkgbG9zIGRlcmVjaG9zLCBxdWUgcG9zZWUobW9zKSBzb2JyZSBsYSBvYnJhIHksIGNvbW8gdGFsLCBlcyAoc29tb3MpIHJlc3BvbnNhYmxlKHMpIGRlbCBhbGNhbmNlIGp1csOtZGljbyB5IGxlZ2FsLCBkZSBlc2NvZ2VyIGxhIG9wY2nDs24gZGUgbGEgcHVibGljYWNpw7NuIG8gZGUgcmVzdHJpY2Npw7NuIGRlIGxhIHB1YmxpY2FjacOzbiBkZWwgZG9jdW1lbnRvIHJlZ2lzdHJhZG8gZW4gZWwgUklVRC4KCgoKCgoKU0kgRUwgRE9DVU1FTlRPIFNFIEJBU0EgRU4gVU4gVFJBQkFKTyBRVUUgSEEgU0lETyBQQVRST0NJTkFETyBPIEFQT1lBRE8gUE9SIFVOQSBBR0VOQ0lBIE8gVU5BIE9SR0FOSVpBQ0nDk04sIENPTiBFWENFUENJw5NOIERFIExBIFVOSVZFUlNJREFEIERJU1RSSVRBTCBGUkFOQ0lTQ08gSk9TRSBERSBDQUxEQVMsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MKREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uCgoKCgoKCgoKCgoKCgoKCgoKCgoKCkVuIGNvbnN0YW5jaWEgZGUgbG8gYW50ZXJpb3IsIGZpcm1vKGFtb3MpIGVsIHByZXNlbnRlIGRvY3VtZW50bywgZW4gbGEgY2l1ZGFkIGRlIEJvZ290w6EsIEQuQy4sIGEgbG9zCgoKRklSTUEgREUgTE9TIFRJVFVMQVJFUyBERSBERVJFQ0hPUyBERSBBVVRPUgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fICAgQy5DLiBOby4gX19fX19fX19fX19fX19fX19fCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18gICBDLkMuIE5vLiBfX19fX19fX19fX19fX19fX18KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyAgIEMuQy4gTm8uIF9fX19fX19fX19fX19fX19fXwoKCgpDb3JyZW8gRWxlY3Ryw7NuaWNvIEluc3RpdHVjaW9uYWwgZGVsIChkZSBsb3MpIEF1dG9yKGVzKToKCkF1dG9yCSAgICAgIENvcnJlbyBFbGVjdHLDs25pY28KCjEKCjIKCjMKCk5vbWJyZSBkZSBEaXJlY3RvcihlcykgZGUgR3JhZG86CgoxCgoyCgozCgpOb21icmUgRmFjdWx0YWQgeSBQcm95ZWN0byBDdXJyaWN1bGFyOgoKRmFjdWx0YWQJUHJveWVjdG8gQ3VycmljdWxhcgoKCgoKCgoKCk5vdGE6IEVuIGNhc28gcXVlIG5vIGVzdMOpIGRlIGFjdWVyZG8gY29uIGxhcyBjb25kaWNpb25lcyBkZSBsYSBwcmVzZW50ZSBsaWNlbmNpYSwgeSBtYW5pZmllc3RlIGFsZ3VuYSByZXN0cmljY2nDs24gc29icmUgbGEgb2JyYSwganVzdGlmaXF1ZSBsb3MgbW90aXZvcyBwb3IgbG9zIGN1YWxlcyBlbCBkb2N1bWVudG8geSBzdXMgYW5leG9zIG5vIHB1ZWRlbiBzZXIgcHVibGljYWRvcyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIGRlIGxhIFVuaXZlcnNpZGFkIERpc3RyaXRhbCBGcmFuY2lzY28gSm9zw6kgZGUgQ2FsZGFzIFJJVUQuCgoKU2kgcmVxdWllcmUgbcOhcyBlc3BhY2lvLCBwdWVkZSBhbmV4YXIgdW5hIGNvcGlhIHNpbWlsYXIgYSBlc3RhIGhvamEK