
The new campaigns are not compatible with the previous, you must import the old campaigns. Follow the instructions in the video below.
I will be waiting for the comments and feedback from users about this version and also you can donate for a better free release. Thanks.
THE COMMENTS RELATED WITH WPEMATICO SENDED BY CONTACT FORM WILL NOT BE ANSWERED Please test it and comment here if you find something wrong.

Las nuevas campañas no son compatibles con las anteriores, debes importar las antiguas campañas. Sigue las instrucciones en el video de abajo.
Estaré esperando por comentarios y feedback de esta versión de todos los usuarios y también puedes hacer una donación para ir mejorando la versión libre. Gracias.
LOS COMENTARIOS RELACIONADOS CON WPEMATICO ENVIADOS POR EL FORMULARIO DE CONTACTO NO SERAN RESPONDIDOS. Por favor deja tu consulta aquí.
WPeMatico 1.0 Download (from wordpress repository)
Simple instructions for import old campaigns to new version.
Some news for 1.0 (I can’t remember all)
WPeMatico is for autoblogging. Drink a coffee meanwhile WPeMatico publish your posts.
Automatically create posts from the RSS/Atom feeds you choose, which are organized into campaigns.
1.0
This is a really update. Lot of things that you asked for, are ready in 1.0 version.
* Now use WordPress custom post types for campaigns.
* Now you can move and close metaboxes.
* Now you can paginate and filter campaigns list by name.
* Now we have an image background at WP repository. 🙂
* Improved feed list with scroll into campaign.
* Improved feed search filter.
* Better help.
* Better performance.
* Colored boxes for knowing what I’m doing.
* More options on Settings.
* New logo and images.
* Totally translatable.
* Better use of Ajax.
* Better use of class SimplePie included into WordPress core.
* Deactivated WordPress Autosave only editing WPeMatico campaigns.
* Automatic check fields values before save campaign without reload page and/or lost fields content.
* Option to activate or deactivate automatic feed check before save campaign.
* Added option for test only one feed.
* Added description field for every campaign.
* New option to del hash on feeds for fetch duplicated posts. (Advanced config)
* New option to see last log of every campaign. (Advanced config)
* Now you can Disable Check Feeds before Save. (Advanced config)
* Now you can choose which roles can see the dashboard widget.
* Fixed rewrite to also rewrite html code.
* First image on content as WP feature image.
* Now support relative paths for upload images from source content.
* [PRO]
* Option to automatic create author names based on source or custom typed author.
* Option to assign author per feed, instead campaign or both options.
* Option for correct and fix wrong html code with a lot of options from htmLawed.
* [/PRO]
26e69441746217900da2a05b5a1f73a7cadadf98e0eb5ce914f044d536f24b6d.eyJibG9ja05hbWUiOm51bGwsImF0dHJzIjp7ImRpc2FibGVDYWNoZSI6ZmFsc2V9LCJpbm5lckJsb2NrcyI6W10sImlubmVySFRNTCI6Ilt0YWJzXVt0YWIgdGl0bGU9XCJFbmdsaXNoXCJdXG48aW1nIGNsYXNzPVwiYWxpZ25sZWZ0ICB3cC1pbWFnZS0yNTA0XCIgdGl0bGU9XCJDb2ZmZWVDdXAgRmVlZCBBZGRcIiBzcmM9XCJodHRwczpcL1wvd3d3Lm5ldG1kcC5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcL0NvZmZlZUN1cC1GZWVkLUFkZC5wbmdcIiBhbHQ9XCJcIiB3aWR0aD1cIjEyNVwiIGhlaWdodD1cIjEyNVwiIFwvPlJlbGVhc2UgMS4wLCBsb25nLWF3YWl0ZWQgcmlzZSBhbmQgYXZhaWxhYmxlIGZyb20gdGhlIFdvcmRwcmVzcyByZXBvc2l0b3J5LiBUaGUgUFJPIHZlcnNpb24gbm93IHdvcmtzIGFzIGEgcGx1Zy1wbHVnaW4gdG9nZXRoZXIgd2l0aCB0aGUgZnJlZSB2ZXJzaW9uLlxuVGhlIG5ldyBjYW1wYWlnbnMgYXJlIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIHByZXZpb3VzLCB5b3UgbXVzdCBpbXBvcnQgdGhlIG9sZCBjYW1wYWlnbnMuIEZvbGxvdyB0aGUgaW5zdHJ1Y3Rpb25zIGluIHRoZSB2aWRlbyBiZWxvdy5cblxuPHN0cm9uZz5JIHdpbGwgYmUgd2FpdGluZyBmb3IgdGhlIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3Lm5ldG1kcC5jb21cL3dwZW1hdGljb1wvXCIgdGFyZ2V0PVwiX3NlbGZcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+Y29tbWVudHMgYW5kIGZlZWRiYWNrPFwvYT4gZnJvbSB1c2VycyBhYm91dCB0aGlzIHZlcnNpb24gYW5kIGFsc28geW91IGNhbiA8YSBocmVmPVwiaHR0cHM6XC9cL3d3dy5wYXlwYWwuY29tXC9jZ2ktYmluXC93ZWJzY3I/Y21kPV9zLXhjbGljayZhbXA7aG9zdGVkX2J1dHRvbl9pZD1COFYzOU5XSzNORlFVXCIgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPmRvbmF0ZTxcL2E+IGZvciBhIGJldHRlciBmcmVlIHJlbGVhc2UuIFRoYW5rcy48XC9zdHJvbmc+XG48c3Ryb25nIGRpcj1cImx0clwiPjxcL3N0cm9uZz48c3BhbiBzdHlsZT1cImNvbG9yOiAjZmYwMDAwO1wiPlRIRSBDT01NRU5UUyBSRUxBVEVEIFdJVEggV1BFTUFUSUNPIFNFTkRFRCBCWSBDT05UQUNUIEZPUk0gV0lMTCBOT1QgQkUgQU5TV0VSRUQgPHN0cm9uZz5QbGVhc2UgdGVzdCBpdCBhbmQgPGEgaHJlZj1cIlwvd3BlbWF0aWNvXC9cIiB0YXJnZXQ9XCJfc2VsZlwiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj48c3BhbiBzdHlsZT1cImNvbG9yOiAjZmYwMDAwO1wiPmNvbW1lbnQgaGVyZTxcL3NwYW4+PFwvYT4gaWYgeW91IGZpbmQgc29tZXRoaW5nIHdyb25nLjxcL3N0cm9uZz48XC9zcGFuPlxuW1wvdGFiXVxuW3RhYiB0aXRsZT1cIkVzcGFcdTAwZjFvbFwiXVxuPGltZyBjbGFzcz1cImFsaWdubGVmdFwiIHRpdGxlPVwiQ29mZmVlQ3VwIEZlZWQgQWRkXCIgc3JjPVwiaHR0cHM6XC9cL3d3dy5uZXRtZHAuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC9Db2ZmZWVDdXAtRmVlZC1BZGQucG5nXCIgYWx0PVwiXCIgd2lkdGg9XCIxMjVcIiBoZWlnaHQ9XCIxMjVcIiBcLz5VbHRpbWEgdmVyc2lcdTAwZjNuIDEuMCwgbGFyZ2FtZW50ZSBlc3BlcmFkYSwgc3ViaWRhIHkgZGlzcG9uaWJsZSBkZXNkZSBlbCByZXBvc2l0b3JpbyBkZSBXb3JkcHJlc3MuIFx1MDBhMExhIHZlcnNpXHUwMGYzbiBQUk8gYWhvcmEgZnVuY2lvbmEgY29tbyB1biBwbHVnLXBsdWdpbiBjb25qdW50YW1lbnRlIGNvbiBsYSB2ZXJzaVx1MDBmM24gZ3JhdGlzLlxuTGFzIG51ZXZhcyBjYW1wYVx1MDBmMWFzIG5vIHNvbiBjb21wYXRpYmxlcyBjb24gbGFzIGFudGVyaW9yZXMsIGRlYmVzIGltcG9ydGFyIGxhcyBhbnRpZ3VhcyBjYW1wYVx1MDBmMWFzLiBTaWd1ZSBsYXMgaW5zdHJ1Y2Npb25lcyBlbiBlbCB2aWRlbyBkZSBhYmFqby5cbjxzdHJvbmc+RXN0YXJcdTAwZTkgZXNwZXJhbmRvIHBvciA8YSBocmVmPVwiaHR0cHM6XC9cL3d3dy5uZXRtZHAuY29tXC93cGVtYXRpY29cL1wiIHRhcmdldD1cIl9zZWxmXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPmNvbWVudGFyaW9zIHkgZmVlZGJhY2s8XC9hPiBkZSBlc3RhIHZlcnNpXHUwMGYzbiBkZSB0b2RvcyBsb3MgdXN1YXJpb3MgeSB0YW1iaVx1MDBlOW4gcHVlZGVzIGhhY2VyIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3LnBheXBhbC5jb21cL2NnaS1iaW5cL3dlYnNjcj9jbWQ9X3MteGNsaWNrJmFtcDtob3N0ZWRfYnV0dG9uX2lkPUI4VjM5TldLM05GUVVcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+dW5hIGRvbmFjaVx1MDBmM248XC9hPiBwYXJhIGlyIG1lam9yYW5kbyBsYSB2ZXJzaVx1MDBmM24gbGlicmUuIEdyYWNpYXMuPFwvc3Ryb25nPlxuXG48c3BhbiBzdHlsZT1cImNvbG9yOiAjZmYwMDAwO1wiPkxPUyBDT01FTlRBUklPUyBSRUxBQ0lPTkFET1MgQ09OIFdQRU1BVElDTyBFTlZJQURPUyBQT1IgRUwgRk9STVVMQVJJTyBERSBDT05UQUNUTyBOTyBTRVJBTiBSRVNQT05ESURPUy48c3Ryb25nPjxzdHJvbmc+IFBvciBmYXZvciA8YSBocmVmPVwiXC93cGVtYXRpY29cL1wiIHRhcmdldD1cIl9zZWxmXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPjxzcGFuIHN0eWxlPVwiY29sb3I6ICNmZjAwMDA7XCI+ZGVqYSB0dSBjb25zdWx0YSBhcXVcdTAwZWQ8XC9zcGFuPjxcL2E+LjxcL3N0cm9uZz48XC9zdHJvbmc+PFwvc3Bhbj5cbltcL3RhYl1cbltcL3RhYnNdXG5cblxuPGEgaHJlZj1cImh0dHBzOlwvXC93d3cubmV0bWRwLmNvbVwvZG93bmxvYWRcLzlcL3dwZW1hdGljby0xLTBcIj48c3Ryb25nPldQZU1hdGljbyAxLjAgRG93bmxvYWQ8XC9zdHJvbmc+PFwvYT4gKGZyb20gd29yZHByZXNzIHJlcG9zaXRvcnkpXG5cbjxzcGFuIHN0eWxlPVwidGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XCI+PHN0cm9uZz5TaW1wbGUgaW5zdHJ1Y3Rpb25zIGZvciBpbXBvcnQgb2xkIGNhbXBhaWducyB0byBuZXcgdmVyc2lvbi48XC9zdHJvbmc+PFwvc3Bhbj5cblxuPGEgaHJlZj1cImh0dHBzOlwvXC93d3cubmV0bWRwLmNvbVwvd3BlbWF0aWNvZmlsZXNcL1dQZU1hdGljb19pbXBvcnRfT2xkX0NhbXBhaWducy5zd2ZcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+PHN0cm9uZz5TZWUgVmlkZW88XC9zdHJvbmc+PFwvYT5cblxuXG5cbjxzdHJvbmc+U29tZSBuZXdzIGZvciAxLjAgKEkgY2FuJ3QgcmVtZW1iZXIgYWxsKTxcL3N0cm9uZz5cblxuV1BlTWF0aWNvIGlzIGZvciBhdXRvYmxvZ2dpbmcuIERyaW5rIGEgY29mZmVlIG1lYW53aGlsZSBXUGVNYXRpY28gcHVibGlzaCB5b3VyIHBvc3RzLlxuQXV0b21hdGljYWxseSBjcmVhdGUgcG9zdHMgZnJvbSB0aGUgUlNTXC9BdG9tIGZlZWRzIHlvdSBjaG9vc2UsIHdoaWNoIGFyZSBvcmdhbml6ZWQgaW50byBjYW1wYWlnbnMuXG4xLjBcblxuVGhpcyBpcyBhIHJlYWxseSB1cGRhdGUuIExvdCBvZiB0aGluZ3MgdGhhdCB5b3UgYXNrZWQgZm9yLCBhcmUgcmVhZHkgaW4gMS4wIHZlcnNpb24uXG5cbiogTm93IHVzZSBXb3JkcHJlc3MgY3VzdG9tIHBvc3QgdHlwZXMgZm9yIGNhbXBhaWducy5cbiogTm93IHlvdSBjYW4gbW92ZSBhbmQgY2xvc2UgbWV0YWJveGVzLlxuKiBOb3cgeW91IGNhbiBwYWdpbmF0ZSBhbmQgZmlsdGVyIGNhbXBhaWducyBsaXN0IGJ5IG5hbWUuXG4qIE5vdyB3ZSBoYXZlIGFuIGltYWdlIGJhY2tncm91bmQgYXQgV1AgcmVwb3NpdG9yeS4gOilcbiogSW1wcm92ZWQgZmVlZCBsaXN0IHdpdGggc2Nyb2xsIGludG8gY2FtcGFpZ24uXG4qIEltcHJvdmVkIGZlZWQgc2VhcmNoIGZpbHRlci5cbiogQmV0dGVyIGhlbHAuXG4qIEJldHRlciBwZXJmb3JtYW5jZS5cbiogQ29sb3JlZCBib3hlcyBmb3Iga25vd2luZyB3aGF0IEknbSBkb2luZy5cbiogTW9yZSBvcHRpb25zIG9uIFNldHRpbmdzLlxuKiBOZXcgbG9nbyBhbmQgaW1hZ2VzLlxuKiBUb3RhbGx5IHRyYW5zbGF0YWJsZS5cbiogQmV0dGVyIHVzZSBvZiBBamF4LlxuKiBCZXR0ZXIgdXNlIG9mIGNsYXNzIFNpbXBsZVBpZSBpbmNsdWRlZCBpbnRvIFdvcmRwcmVzcyBjb3JlLlxuKiBEZWFjdGl2YXRlZCBXb3JkcHJlc3MgQXV0b3NhdmUgb25seSBlZGl0aW5nIFdQZU1hdGljbyBjYW1wYWlnbnMuXG4qIEF1dG9tYXRpYyBjaGVjayBmaWVsZHMgdmFsdWVzIGJlZm9yZSBzYXZlIGNhbXBhaWduIHdpdGhvdXQgcmVsb2FkIHBhZ2UgYW5kXC9vciBsb3N0IGZpZWxkcyBjb250ZW50LlxuKiBPcHRpb24gdG8gYWN0aXZhdGUgb3IgZGVhY3RpdmF0ZSBhdXRvbWF0aWMgZmVlZCBjaGVjayBiZWZvcmUgc2F2ZSBjYW1wYWlnbi5cbiogQWRkZWQgb3B0aW9uIGZvciB0ZXN0IG9ubHkgb25lIGZlZWQuXG4qIEFkZGVkIGRlc2NyaXB0aW9uIGZpZWxkIGZvciBldmVyeSBjYW1wYWlnbi5cbiogTmV3IG9wdGlvbiB0byBkZWwgaGFzaCBvbiBmZWVkcyBmb3IgZmV0Y2ggZHVwbGljYXRlZCBwb3N0cy4gKEFkdmFuY2VkIGNvbmZpZylcbiogTmV3IG9wdGlvbiB0byBzZWUgbGFzdCBsb2cgb2YgZXZlcnkgY2FtcGFpZ24uIChBZHZhbmNlZCBjb25maWcpXG4qIE5vdyB5b3UgY2FuIERpc2FibGUgQ2hlY2sgRmVlZHMgYmVmb3JlIFNhdmUuIChBZHZhbmNlZCBjb25maWcpXG4qIE5vdyB5b3UgY2FuIGNob29zZSB3aGljaCByb2xlcyBjYW4gc2VlIHRoZSBkYXNoYm9hcmQgd2lkZ2V0LlxuKiBGaXhlZCByZXdyaXRlIHRvIGFsc28gcmV3cml0ZSBodG1sIGNvZGUuXG4qIEZpcnN0IGltYWdlIG9uIGNvbnRlbnQgYXMgV1AgZmVhdHVyZSBpbWFnZS5cbiogTm93IHN1cHBvcnQgcmVsYXRpdmUgcGF0aHMgZm9yIHVwbG9hZCBpbWFnZXMgZnJvbSBzb3VyY2UgY29udGVudC5cbiogW1BST11cbiogT3B0aW9uIHRvIGF1dG9tYXRpYyBjcmVhdGUgYXV0aG9yIG5hbWVzIGJhc2VkIG9uIHNvdXJjZSBvciBjdXN0b20gdHlwZWQgYXV0aG9yLlxuKiBPcHRpb24gdG8gYXNzaWduIGF1dGhvciBwZXIgZmVlZCwgaW5zdGVhZCBjYW1wYWlnbiBvciBib3RoIG9wdGlvbnMuXG4qIE9wdGlvbiBmb3IgY29ycmVjdCBhbmQgZml4IHdyb25nIGh0bWwgY29kZSB3aXRoIGEgbG90IG9mIG9wdGlvbnMgZnJvbSBodG1MYXdlZC5cbiogW1wvUFJPXVxuPHN0cm9uZz5cbjxcL3N0cm9uZz5cblxuPHN0cm9uZz5cbjxcL3N0cm9uZz5cbjxoND4wLjg1QmV0YTxcL2g0PlxuPHVsPlxuXHQ8bGk+W1BST108XC9saT5cblx0PGxpPkFkZGVkIE5ldyBGZWF0dXJlOiBDdXN0b20gVGl0bGUgd2l0aCBjb3VudGVyLjxcL2xpPlxuXHQ8bGk+W1wvUFJPXTxcL2xpPlxuXHQ8bGk+QWRkZWQge2F1dGhvcn0gdGFnIGZvciByZXRyaWV2ZSB0aGUgbmFtZSBvZiB0aGUgQXV0aG9yIG9mIHRoZSBwb3N0LjxcL2xpPlxuXHQ8bGk+QWRkZWQge2F1dGhvcmxpbmt9IHRhZyBmb3IgcmV0cmlldmUgdGhlIG9yaWdpbmFsIGxpbmsgb2YgdGhlIEF1dGhvciBvZiB0aGUgcG9zdC48XC9saT5cblx0PGxpPltoaWdobGlnaHQgYmc9XCIjRERGRjk5XCIgY29sb3I9XCIjMDAwMDAwXCJdQWRkZWQgbmV3IG1ldGhvZCBmb3IgY2hlY2sgZHVwbGljYXRlIHBvc3RzIGFsc28gd2l0aCB0aGUgc291cmNlIHBlcm1hbGluay5bXC9oaWdobGlnaHRdPFwvbGk+XG5cdDxsaT5BZGRlZCBvcHRpb24gZm9yIGRpc3BsYXkgb3Igbm90IHRoZSBkYXNoYm9hcmQgd2lkZ2V0LjxcL2xpPlxuXHQ8bGk+Rml4IGF1dG9tYXRpYyB1cGRhdGUgaXNzdWUgYmV0dHdlbiBzdGFuZGFyZCBhbmQgUHJvIHZlcnNpb25zLjxcL2xpPlxuXHQ8bGk+Rml4IHNvbWUgZGlzcGxheSBpc3N1ZXMgaW4gS2V5d29yZCBGaWx0ZXJzIGJveCBpbiBQUk8uPFwvbGk+XG5cdDxsaT5Xb3JkUHJlc3MgMy4zLjEgY29tcGF0aWJpbGl0eS48XC9saT5cbjxcL3VsPlxuPGg0PjAuODRCZXRhPFwvaDQ+XG48dWw+XG5cdDxsaT5Xb3JkUHJlc3MgMy4zIGNvbXBhdGliaWxpdHkuPFwvbGk+XG5cdDxsaT5zbWFsbCBmaXggd2l0aCBwaHAgZnVuY3Rpb24gc3RyX3JlcGxhY2U8XC9saT5cbjxcL3VsPlxuPGg0PjAuODNCZXRhPFwvaDQ+XG48dWw+XG5cdDxsaT5OZXcgUFJPIHZlcnNpb24gYXZhaWxhYmxlIGF0IHdlYnNpdGUuPFwvbGk+XG5cdDxsaT5bUFJPXTxcL2xpPlxuXHQ8bGk+TmV3IGZlYXR1cmVzOiBEZWxldGUgbGFzdCBIVE1MIHRhZyBvcHRpb24sIFdvcmRzIGNvdW50IGZpbHRlcnMsIEtleXdvcmRzIGZpbHRlcmluZy48XC9saT5cblx0PGxpPk5ldyBvcHRpb25zIGZvciBlbmFibGUgb3Igbm90IG5ldyBmZWF0dXJlczogV29yZHMgY291bnQgZmlsdGVycywgS2V5d29yZHMgZmlsdGVyaW5nLjxcL2xpPlxuXHQ8bGk+V29yZHMgY291bnQgZmlsdGVycy4gQ291bnQgaG93IG1hbnkgd29yZHMgYXJlIGluIGNvbnRlbnQgZm9yIGFzc2lnbiBhIGNhdGVnb3J5IG9yIHNraXAgdGhlIHBvc3QuPFwvbGk+XG5cdDxsaT5BbHNvIHRoZSBjb250ZW50IGNhbiBiZSBjb252ZXJ0ZWQgdG8gdGV4dCBhbmQgY3V0dGVkIGF0IHdhbnRlZCBhbW91bnQgb2Ygd29yZHMgb3IgbGV0dGVycy48XC9saT5cblx0PGxpPktleXdvcmRzIGZpbHRlcmluZy4gWW91IGNhbiBkZXRlcm1pbmUgc2tpcCB0aGUgcG9zdCBmb3IgY2VydGFpbiB3b3JkcyBpbiB0aXRsZSBvciBjb250ZW50LjxcL2xpPlxuXHQ8bGk+W1wvUFJPXTxcL2xpPlxuXHQ8bGk+Rml4ZWQgaW1hZ2VzIHByb2Nlc3MgYWZ0ZXIgcmV3cml0ZSBmdW5jdGlvbnMgZm9yIG5vdCB1cGxvYWQgZGVsZXRlZCBpbWFnZXMgYXQgY29udGVudC48XC9saT5cblx0PGxpPkZpeGVkIHNwYWNlcyBhdCBpbWFnZXMgbmFtZXMuPFwvbGk+XG5cdDxsaT5GaXhlZCBsaXR0bGUgZHVwbGljYXRlIHRoaW5nIG9uIHRpdGxlcyB3aXRoIHNwZWNpYWwgY2hhcnMuPFwvbGk+XG48XC91bD5cbiZuYnNwO1xuXG5XUGVNYXRpY28gaXMgZm9yIGF1dG9ibG9nZ2luZywgYXV0b21hdGljYWxseSBjcmVhdGluZyBwb3N0cyBmcm9tIHRoZSBSU1NcL0F0b20gZmVlZHMgeW91IGNob29zZSwgd2hpY2ggYXJlIG9yZ2FuaXplZCBpbnRvIGNhbXBhaWducy4gRm9yIFJTUyBmZXRjaGluZyBpdCdzIHVzaW5nIHRoZSBzaW1wbGVwaWUgbGlicmFyeSBpbmNsdWRlZCBpbiBXb3JkUHJlc3MuIEFsc28gZm9yIGltYWdlIHByb2Nlc3NpbmcgaXQncyB1c2luZyB0aGUgY29yZSBmdW5jdGlvbnMgb2Ygd29yZHByZXNzLiBUcmFuc2xhdGlvbnMgcmVhZHkuIC5wb3QgZW5nbGlzaCBmaWxlIGluY2x1ZGVkIGZvciBsb2NhbGl6ZS4gVHJhbnNsYXRpb25zIGZpbGVzIGFyZSB3ZWxjb21lLiBJIHRha2UgY29kZSBmcm9tIG1hbnkgbWFueSBvdGhlciBwbHVnaW5zLCBidXQgZm9yIHRoaXMgcGx1Z2luIEkgcmVhZCBhIGxvdCBvZiBjb2RlIG9mIHRoZSBvbGQgV1Atby1NYXRpYyBhbmQgYWxzbyBvbGQgdmVyc2lvbnMgb2YgQmFja1dQVXAuIFRoYW5rcyB0byB0aGUgZGV2ZWxvcGVyczspIElmIHlvdSBsaWtlLCBwbGVhc2UgcmF0ZSA1IHN0YXJzLiB0aGFua3MgOilcblxuU3VwcG9ydGVkIGZlYXR1cmVzOlxuPHVsPlxuXHQ8bGk+Q2FtcGFpZ3MgRmVlZHMgYW5kIG9wdGlvbnMgYXJlIG9yZ2FuaXplZCBpbnRvIGNhbXBhaWducy48XC9saT5cblx0PGxpPkNvbWZvcnRhYmxlIGludGVyZmFjZSBsaWtlIFdvcnByZXNzIHBvc3RzIGVkaXRpbmcgZm9yIGV2ZXJ5IGNhbXBhaWduLjxcL2xpPlxuXHQ8bGk+TXVsdGlwbGUgZmVlZHMgXC8gY2F0ZWdvcmllczogaXRcdTIwMTlzIHBvc3NpYmxlIHRvIGFkZCBhcyBtYW55IGZlZWRzIGFzIHlvdSB3YW50LCBhbmQgYWRkIHRoZW0gdG8gc29tZSBjYXRlZ29yaWVzIGFzIHlvdSB3YW50LjxcL2xpPlxuXHQ8bGk+SW50ZWdyYXRlZCB3aXRoIHRoZSBTaW1wbGVwaWUgbGlicmFyeSB0aGF0IGNvbWUgd2l0aCBXb3JkUHJlc3MuIFRoaXMgaW5jbHVkZXMgUlNTIDAuOTEgYW5kIFJTUyAxLjAgZm9ybWF0cywgdGhlIHBvcHVsYXIgUlNTIDIuMCBmb3JtYXQsIEF0b20uLi48XC9saT5cblx0PGxpPkZlZWQgYXV0b2Rpc2NvdmVyeSwgd2hpY2ggbGV0cyB5b3UgYWRkIGZlZWRzIHdpdGhvdXQgZXZlbiBrbm93aW5nIHRoZSBleGFjdCBVUkwuIChUaGFua3MgU2ltcGxlcGllISk8XC9saT5cblx0PGxpPlVuaXggY3JvbiBhbmQgV29yZFByZXNzIGNyb24gam9icyBGb3IgbWF4aW11bSBwZXJmb3JtYW5jZSwgeW91IGNhbiBtYWtlIHRoZSBSU1MgZmV0Y2hpbmcgcHJvY2VzcyBiZSBjYWxsZWQgYnkgYSBVbml4IGNyb24gam9iLCBvciBzaW1wbHkgbGV0IFdvcmRQcmVzcyBoYW5kbGUgaXQuPFwvbGk+XG5cdDxsaT5JbWFnZXMgY2FjaGluZyBhcmUgaW50ZWdyYXRlZCB3aXRoIFdvcmRQcmVzcyBNZWRpYSBMaWJyYXJ5IGFuZCBwb3N0cyBhdHRhY2guIHVwbG9hZCByZW1vdGUgaW1hZ2VzIG9yIGxpbmsgdG8gc291cmNlLiBGdWxseSBjb25maWd1cmFibGUuPFwvbGk+XG5cdDxsaT5Xb3JkcyBSZXdyaXRpbmcuIFJlZ3VsYXIgZXhwcmVzc2lvbnMgc3VwcG9ydGVkLjxcL2xpPlxuXHQ8bGk+V29yZHMgUmVsaW5raW5nLiBEZWZpbmUgY3VzdG9tIGxpbmtzIGZvciB3b3JkcyB5b3Ugc3BlY2lmeS48XC9saT5cblx0PGxpPldvcmRzIHRvIENhdGVnb3J5LiBEZWZpbmUgY3VzdG9tIHdvcmRzIGZvciBhc3NpZ24gZXZlcnkgcG9zdCB0byBzcGVjaWZpZWQgY2F0ZWdvcmllcy4gVGhhbmtzIHRvIEp1ZXJnZW4gTXVlbGxlciBhdCA8YSBocmVmPVwiaHR0cDpcL1wvd3d3LndpcnRzY2hhZnQuY29tXC9cIiByZWw9XCJub2ZvbGxvd1wiPldpcnRzY2hhZnQ8XC9hPjxcL2xpPlxuXHQ8bGk+RGV0YWlsZWQgTG9nIHNlbmRpbmcgdG8gY3VzdG9tIGUtbWFpbC4gQWx3YXlzIG9uIGV2ZXJ5IGV4ZWN1dGVkIGNyb24gb3Igb25seSBvbiBlcnJvcnMgd2l0aCBjYW1wYWlnbi48XC9saT5cblx0PGxpPk9wdGlvbiB0byByZXBsYWNlIHRpdGxlIGxpbmtzIChQZXJtYWxpbmspIHRvIHNvdXJjZS48XC9saT5cblx0PGxpPlBvc3QgdGVtcGxhdGluZy48XC9saT5cblx0PGxpPk11bHRpbGFuZ3VhZ2UgcmVhZHkuPFwvbGk+XG5cdDxsaT5UZXN0ZWQgaW4gV29yZFByZXNzIE1VTFRJU0lURTxcL2xpPlxuPFwvdWw+XG5FeHRyYSBQUk8gZmVhdHVyZXNcbjx1bD5cblx0PGxpPkRlbGV0ZSBsYXN0IEhUTUwgdGFnIG9wdGlvbi48XC9saT5cblx0PGxpPldvcmRzIGNvdW50IGZpbHRlcnMuIENvdW50IGhvdyBtYW55IHdvcmRzIGFyZSBpbiBjb250ZW50IGZvciBhc3NpZ24gYSBjYXRlZ29yeSBvciBza2lwIHRoZSBwb3N0LjxcL2xpPlxuXHQ8bGk+QWxzbyB0aGUgY29udGVudCBjYW4gYmUgY29udmVydGVkIHRvIHRleHQgYW5kIGN1dHRlZCBhdCB3YW50ZWQgYW1vdW50IG9mIHdvcmRzIG9yIGxldHRlcnMuPFwvbGk+XG5cdDxsaT5LZXl3b3JkcyBmaWx0ZXJpbmcuIFlvdSBjYW4gZGV0ZXJtaW5lIHNraXAgdGhlIHBvc3QgZm9yIGNlcnRhaW4gd29yZHMgaW4gdGl0bGUgb3IgY29udGVudC48XC9saT5cblx0PGxpPkN1c3RvbSBUaXRsZSB3aXRoIGNvdW50ZXIuPFwvbGk+XG48XC91bD5cblBIUDUgaXMgcmVxdWlyZWQhXG5cbkNvcHlyaWdodCAyMDEwLiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kXC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4iLCJpbm5lckNvbnRlbnQiOlsiW3RhYnNdW3RhYiB0aXRsZT1cIkVuZ2xpc2hcIl1cbjxpbWcgY2xhc3M9XCJhbGlnbmxlZnQgIHdwLWltYWdlLTI1MDRcIiB0aXRsZT1cIkNvZmZlZUN1cCBGZWVkIEFkZFwiIHNyYz1cImh0dHBzOlwvXC93d3cubmV0bWRwLmNvbVwvd3AtY29udGVudFwvdXBsb2Fkc1wvQ29mZmVlQ3VwLUZlZWQtQWRkLnBuZ1wiIGFsdD1cIlwiIHdpZHRoPVwiMTI1XCIgaGVpZ2h0PVwiMTI1XCIgXC8+UmVsZWFzZSAxLjAsIGxvbmctYXdhaXRlZCByaXNlIGFuZCBhdmFpbGFibGUgZnJvbSB0aGUgV29yZHByZXNzIHJlcG9zaXRvcnkuIFRoZSBQUk8gdmVyc2lvbiBub3cgd29ya3MgYXMgYSBwbHVnLXBsdWdpbiB0b2dldGhlciB3aXRoIHRoZSBmcmVlIHZlcnNpb24uXG5UaGUgbmV3IGNhbXBhaWducyBhcmUgbm90IGNvbXBhdGlibGUgd2l0aCB0aGUgcHJldmlvdXMsIHlvdSBtdXN0IGltcG9ydCB0aGUgb2xkIGNhbXBhaWducy4gRm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgaW4gdGhlIHZpZGVvIGJlbG93LlxuXG48c3Ryb25nPkkgd2lsbCBiZSB3YWl0aW5nIGZvciB0aGUgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cubmV0bWRwLmNvbVwvd3BlbWF0aWNvXC9cIiB0YXJnZXQ9XCJfc2VsZlwiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj5jb21tZW50cyBhbmQgZmVlZGJhY2s8XC9hPiBmcm9tIHVzZXJzIGFib3V0IHRoaXMgdmVyc2lvbiBhbmQgYWxzbyB5b3UgY2FuIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3LnBheXBhbC5jb21cL2NnaS1iaW5cL3dlYnNjcj9jbWQ9X3MteGNsaWNrJmFtcDtob3N0ZWRfYnV0dG9uX2lkPUI4VjM5TldLM05GUVVcIiB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+ZG9uYXRlPFwvYT4gZm9yIGEgYmV0dGVyIGZyZWUgcmVsZWFzZS4gVGhhbmtzLjxcL3N0cm9uZz5cbjxzdHJvbmcgZGlyPVwibHRyXCI+PFwvc3Ryb25nPjxzcGFuIHN0eWxlPVwiY29sb3I6ICNmZjAwMDA7XCI+VEhFIENPTU1FTlRTIFJFTEFURUQgV0lUSCBXUEVNQVRJQ08gU0VOREVEIEJZIENPTlRBQ1QgRk9STSBXSUxMIE5PVCBCRSBBTlNXRVJFRCA8c3Ryb25nPlBsZWFzZSB0ZXN0IGl0IGFuZCA8YSBocmVmPVwiXC93cGVtYXRpY29cL1wiIHRhcmdldD1cIl9zZWxmXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiPjxzcGFuIHN0eWxlPVwiY29sb3I6ICNmZjAwMDA7XCI+Y29tbWVudCBoZXJlPFwvc3Bhbj48XC9hPiBpZiB5b3UgZmluZCBzb21ldGhpbmcgd3JvbmcuPFwvc3Ryb25nPjxcL3NwYW4+XG5bXC90YWJdXG5bdGFiIHRpdGxlPVwiRXNwYVx1MDBmMW9sXCJdXG48aW1nIGNsYXNzPVwiYWxpZ25sZWZ0XCIgdGl0bGU9XCJDb2ZmZWVDdXAgRmVlZCBBZGRcIiBzcmM9XCJodHRwczpcL1wvd3d3Lm5ldG1kcC5jb21cL3dwLWNvbnRlbnRcL3VwbG9hZHNcL0NvZmZlZUN1cC1GZWVkLUFkZC5wbmdcIiBhbHQ9XCJcIiB3aWR0aD1cIjEyNVwiIGhlaWdodD1cIjEyNVwiIFwvPlVsdGltYSB2ZXJzaVx1MDBmM24gMS4wLCBsYXJnYW1lbnRlIGVzcGVyYWRhLCBzdWJpZGEgeSBkaXNwb25pYmxlIGRlc2RlIGVsIHJlcG9zaXRvcmlvIGRlIFdvcmRwcmVzcy4gXHUwMGEwTGEgdmVyc2lcdTAwZjNuIFBSTyBhaG9yYSBmdW5jaW9uYSBjb21vIHVuIHBsdWctcGx1Z2luIGNvbmp1bnRhbWVudGUgY29uIGxhIHZlcnNpXHUwMGYzbiBncmF0aXMuXG5MYXMgbnVldmFzIGNhbXBhXHUwMGYxYXMgbm8gc29uIGNvbXBhdGlibGVzIGNvbiBsYXMgYW50ZXJpb3JlcywgZGViZXMgaW1wb3J0YXIgbGFzIGFudGlndWFzIGNhbXBhXHUwMGYxYXMuIFNpZ3VlIGxhcyBpbnN0cnVjY2lvbmVzIGVuIGVsIHZpZGVvIGRlIGFiYWpvLlxuPHN0cm9uZz5Fc3Rhclx1MDBlOSBlc3BlcmFuZG8gcG9yIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3Lm5ldG1kcC5jb21cL3dwZW1hdGljb1wvXCIgdGFyZ2V0PVwiX3NlbGZcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+Y29tZW50YXJpb3MgeSBmZWVkYmFjazxcL2E+IGRlIGVzdGEgdmVyc2lcdTAwZjNuIGRlIHRvZG9zIGxvcyB1c3VhcmlvcyB5IHRhbWJpXHUwMGU5biBwdWVkZXMgaGFjZXIgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cucGF5cGFsLmNvbVwvY2dpLWJpblwvd2Vic2NyP2NtZD1fcy14Y2xpY2smYW1wO2hvc3RlZF9idXR0b25faWQ9QjhWMzlOV0szTkZRVVwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj51bmEgZG9uYWNpXHUwMGYzbjxcL2E+IHBhcmEgaXIgbWVqb3JhbmRvIGxhIHZlcnNpXHUwMGYzbiBsaWJyZS4gR3JhY2lhcy48XC9zdHJvbmc+XG5cbjxzcGFuIHN0eWxlPVwiY29sb3I6ICNmZjAwMDA7XCI+TE9TIENPTUVOVEFSSU9TIFJFTEFDSU9OQURPUyBDT04gV1BFTUFUSUNPIEVOVklBRE9TIFBPUiBFTCBGT1JNVUxBUklPIERFIENPTlRBQ1RPIE5PIFNFUkFOIFJFU1BPTkRJRE9TLjxzdHJvbmc+PHN0cm9uZz4gUG9yIGZhdm9yIDxhIGhyZWY9XCJcL3dwZW1hdGljb1wvXCIgdGFyZ2V0PVwiX3NlbGZcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCI+PHNwYW4gc3R5bGU9XCJjb2xvcjogI2ZmMDAwMDtcIj5kZWphIHR1IGNvbnN1bHRhIGFxdVx1MDBlZDxcL3NwYW4+PFwvYT4uPFwvc3Ryb25nPjxcL3N0cm9uZz48XC9zcGFuPlxuW1wvdGFiXVxuW1wvdGFic11cblxuXG48YSBocmVmPVwiaHR0cHM6XC9cL3d3dy5uZXRtZHAuY29tXC9kb3dubG9hZFwvOVwvd3BlbWF0aWNvLTEtMFwiPjxzdHJvbmc+V1BlTWF0aWNvIDEuMCBEb3dubG9hZDxcL3N0cm9uZz48XC9hPiAoZnJvbSB3b3JkcHJlc3MgcmVwb3NpdG9yeSlcblxuPHNwYW4gc3R5bGU9XCJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcIj48c3Ryb25nPlNpbXBsZSBpbnN0cnVjdGlvbnMgZm9yIGltcG9ydCBvbGQgY2FtcGFpZ25zIHRvIG5ldyB2ZXJzaW9uLjxcL3N0cm9uZz48XC9zcGFuPlxuXG48YSBocmVmPVwiaHR0cHM6XC9cL3d3dy5uZXRtZHAuY29tXC93cGVtYXRpY29maWxlc1wvV1BlTWF0aWNvX2ltcG9ydF9PbGRfQ2FtcGFpZ25zLnN3ZlwiIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIj48c3Ryb25nPlNlZSBWaWRlbzxcL3N0cm9uZz48XC9hPlxuXG5cblxuPHN0cm9uZz5Tb21lIG5ld3MgZm9yIDEuMCAoSSBjYW4ndCByZW1lbWJlciBhbGwpPFwvc3Ryb25nPlxuXG5XUGVNYXRpY28gaXMgZm9yIGF1dG9ibG9nZ2luZy4gRHJpbmsgYSBjb2ZmZWUgbWVhbndoaWxlIFdQZU1hdGljbyBwdWJsaXNoIHlvdXIgcG9zdHMuXG5BdXRvbWF0aWNhbGx5IGNyZWF0ZSBwb3N0cyBmcm9tIHRoZSBSU1NcL0F0b20gZmVlZHMgeW91IGNob29zZSwgd2hpY2ggYXJlIG9yZ2FuaXplZCBpbnRvIGNhbXBhaWducy5cbjEuMFxuXG5UaGlzIGlzIGEgcmVhbGx5IHVwZGF0ZS4gTG90IG9mIHRoaW5ncyB0aGF0IHlvdSBhc2tlZCBmb3IsIGFyZSByZWFkeSBpbiAxLjAgdmVyc2lvbi5cblxuKiBOb3cgdXNlIFdvcmRwcmVzcyBjdXN0b20gcG9zdCB0eXBlcyBmb3IgY2FtcGFpZ25zLlxuKiBOb3cgeW91IGNhbiBtb3ZlIGFuZCBjbG9zZSBtZXRhYm94ZXMuXG4qIE5vdyB5b3UgY2FuIHBhZ2luYXRlIGFuZCBmaWx0ZXIgY2FtcGFpZ25zIGxpc3QgYnkgbmFtZS5cbiogTm93IHdlIGhhdmUgYW4gaW1hZ2UgYmFja2dyb3VuZCBhdCBXUCByZXBvc2l0b3J5LiA6KVxuKiBJbXByb3ZlZCBmZWVkIGxpc3Qgd2l0aCBzY3JvbGwgaW50byBjYW1wYWlnbi5cbiogSW1wcm92ZWQgZmVlZCBzZWFyY2ggZmlsdGVyLlxuKiBCZXR0ZXIgaGVscC5cbiogQmV0dGVyIHBlcmZvcm1hbmNlLlxuKiBDb2xvcmVkIGJveGVzIGZvciBrbm93aW5nIHdoYXQgSSdtIGRvaW5nLlxuKiBNb3JlIG9wdGlvbnMgb24gU2V0dGluZ3MuXG4qIE5ldyBsb2dvIGFuZCBpbWFnZXMuXG4qIFRvdGFsbHkgdHJhbnNsYXRhYmxlLlxuKiBCZXR0ZXIgdXNlIG9mIEFqYXguXG4qIEJldHRlciB1c2Ugb2YgY2xhc3MgU2ltcGxlUGllIGluY2x1ZGVkIGludG8gV29yZHByZXNzIGNvcmUuXG4qIERlYWN0aXZhdGVkIFdvcmRwcmVzcyBBdXRvc2F2ZSBvbmx5IGVkaXRpbmcgV1BlTWF0aWNvIGNhbXBhaWducy5cbiogQXV0b21hdGljIGNoZWNrIGZpZWxkcyB2YWx1ZXMgYmVmb3JlIHNhdmUgY2FtcGFpZ24gd2l0aG91dCByZWxvYWQgcGFnZSBhbmRcL29yIGxvc3QgZmllbGRzIGNvbnRlbnQuXG4qIE9wdGlvbiB0byBhY3RpdmF0ZSBvciBkZWFjdGl2YXRlIGF1dG9tYXRpYyBmZWVkIGNoZWNrIGJlZm9yZSBzYXZlIGNhbXBhaWduLlxuKiBBZGRlZCBvcHRpb24gZm9yIHRlc3Qgb25seSBvbmUgZmVlZC5cbiogQWRkZWQgZGVzY3JpcHRpb24gZmllbGQgZm9yIGV2ZXJ5IGNhbXBhaWduLlxuKiBOZXcgb3B0aW9uIHRvIGRlbCBoYXNoIG9uIGZlZWRzIGZvciBmZXRjaCBkdXBsaWNhdGVkIHBvc3RzLiAoQWR2YW5jZWQgY29uZmlnKVxuKiBOZXcgb3B0aW9uIHRvIHNlZSBsYXN0IGxvZyBvZiBldmVyeSBjYW1wYWlnbi4gKEFkdmFuY2VkIGNvbmZpZylcbiogTm93IHlvdSBjYW4gRGlzYWJsZSBDaGVjayBGZWVkcyBiZWZvcmUgU2F2ZS4gKEFkdmFuY2VkIGNvbmZpZylcbiogTm93IHlvdSBjYW4gY2hvb3NlIHdoaWNoIHJvbGVzIGNhbiBzZWUgdGhlIGRhc2hib2FyZCB3aWRnZXQuXG4qIEZpeGVkIHJld3JpdGUgdG8gYWxzbyByZXdyaXRlIGh0bWwgY29kZS5cbiogRmlyc3QgaW1hZ2Ugb24gY29udGVudCBhcyBXUCBmZWF0dXJlIGltYWdlLlxuKiBOb3cgc3VwcG9ydCByZWxhdGl2ZSBwYXRocyBmb3IgdXBsb2FkIGltYWdlcyBmcm9tIHNvdXJjZSBjb250ZW50LlxuKiBbUFJPXVxuKiBPcHRpb24gdG8gYXV0b21hdGljIGNyZWF0ZSBhdXRob3IgbmFtZXMgYmFzZWQgb24gc291cmNlIG9yIGN1c3RvbSB0eXBlZCBhdXRob3IuXG4qIE9wdGlvbiB0byBhc3NpZ24gYXV0aG9yIHBlciBmZWVkLCBpbnN0ZWFkIGNhbXBhaWduIG9yIGJvdGggb3B0aW9ucy5cbiogT3B0aW9uIGZvciBjb3JyZWN0IGFuZCBmaXggd3JvbmcgaHRtbCBjb2RlIHdpdGggYSBsb3Qgb2Ygb3B0aW9ucyBmcm9tIGh0bUxhd2VkLlxuKiBbXC9QUk9dXG48c3Ryb25nPlxuPFwvc3Ryb25nPlxuXG48c3Ryb25nPlxuPFwvc3Ryb25nPlxuPGg0PjAuODVCZXRhPFwvaDQ+XG48dWw+XG5cdDxsaT5bUFJPXTxcL2xpPlxuXHQ8bGk+QWRkZWQgTmV3IEZlYXR1cmU6IEN1c3RvbSBUaXRsZSB3aXRoIGNvdW50ZXIuPFwvbGk+XG5cdDxsaT5bXC9QUk9dPFwvbGk+XG5cdDxsaT5BZGRlZCB7YXV0aG9yfSB0YWcgZm9yIHJldHJpZXZlIHRoZSBuYW1lIG9mIHRoZSBBdXRob3Igb2YgdGhlIHBvc3QuPFwvbGk+XG5cdDxsaT5BZGRlZCB7YXV0aG9ybGlua30gdGFnIGZvciByZXRyaWV2ZSB0aGUgb3JpZ2luYWwgbGluayBvZiB0aGUgQXV0aG9yIG9mIHRoZSBwb3N0LjxcL2xpPlxuXHQ8bGk+W2hpZ2hsaWdodCBiZz1cIiNEREZGOTlcIiBjb2xvcj1cIiMwMDAwMDBcIl1BZGRlZCBuZXcgbWV0aG9kIGZvciBjaGVjayBkdXBsaWNhdGUgcG9zdHMgYWxzbyB3aXRoIHRoZSBzb3VyY2UgcGVybWFsaW5rLltcL2hpZ2hsaWdodF08XC9saT5cblx0PGxpPkFkZGVkIG9wdGlvbiBmb3IgZGlzcGxheSBvciBub3QgdGhlIGRhc2hib2FyZCB3aWRnZXQuPFwvbGk+XG5cdDxsaT5GaXggYXV0b21hdGljIHVwZGF0ZSBpc3N1ZSBiZXR0d2VuIHN0YW5kYXJkIGFuZCBQcm8gdmVyc2lvbnMuPFwvbGk+XG5cdDxsaT5GaXggc29tZSBkaXNwbGF5IGlzc3VlcyBpbiBLZXl3b3JkIEZpbHRlcnMgYm94IGluIFBSTy48XC9saT5cblx0PGxpPldvcmRQcmVzcyAzLjMuMSBjb21wYXRpYmlsaXR5LjxcL2xpPlxuPFwvdWw+XG48aDQ+MC44NEJldGE8XC9oND5cbjx1bD5cblx0PGxpPldvcmRQcmVzcyAzLjMgY29tcGF0aWJpbGl0eS48XC9saT5cblx0PGxpPnNtYWxsIGZpeCB3aXRoIHBocCBmdW5jdGlvbiBzdHJfcmVwbGFjZTxcL2xpPlxuPFwvdWw+XG48aDQ+MC44M0JldGE8XC9oND5cbjx1bD5cblx0PGxpPk5ldyBQUk8gdmVyc2lvbiBhdmFpbGFibGUgYXQgd2Vic2l0ZS48XC9saT5cblx0PGxpPltQUk9dPFwvbGk+XG5cdDxsaT5OZXcgZmVhdHVyZXM6IERlbGV0ZSBsYXN0IEhUTUwgdGFnIG9wdGlvbiwgV29yZHMgY291bnQgZmlsdGVycywgS2V5d29yZHMgZmlsdGVyaW5nLjxcL2xpPlxuXHQ8bGk+TmV3IG9wdGlvbnMgZm9yIGVuYWJsZSBvciBub3QgbmV3IGZlYXR1cmVzOiBXb3JkcyBjb3VudCBmaWx0ZXJzLCBLZXl3b3JkcyBmaWx0ZXJpbmcuPFwvbGk+XG5cdDxsaT5Xb3JkcyBjb3VudCBmaWx0ZXJzLiBDb3VudCBob3cgbWFueSB3b3JkcyBhcmUgaW4gY29udGVudCBmb3IgYXNzaWduIGEgY2F0ZWdvcnkgb3Igc2tpcCB0aGUgcG9zdC48XC9saT5cblx0PGxpPkFsc28gdGhlIGNvbnRlbnQgY2FuIGJlIGNvbnZlcnRlZCB0byB0ZXh0IGFuZCBjdXR0ZWQgYXQgd2FudGVkIGFtb3VudCBvZiB3b3JkcyBvciBsZXR0ZXJzLjxcL2xpPlxuXHQ8bGk+S2V5d29yZHMgZmlsdGVyaW5nLiBZb3UgY2FuIGRldGVybWluZSBza2lwIHRoZSBwb3N0IGZvciBjZXJ0YWluIHdvcmRzIGluIHRpdGxlIG9yIGNvbnRlbnQuPFwvbGk+XG5cdDxsaT5bXC9QUk9dPFwvbGk+XG5cdDxsaT5GaXhlZCBpbWFnZXMgcHJvY2VzcyBhZnRlciByZXdyaXRlIGZ1bmN0aW9ucyBmb3Igbm90IHVwbG9hZCBkZWxldGVkIGltYWdlcyBhdCBjb250ZW50LjxcL2xpPlxuXHQ8bGk+Rml4ZWQgc3BhY2VzIGF0IGltYWdlcyBuYW1lcy48XC9saT5cblx0PGxpPkZpeGVkIGxpdHRsZSBkdXBsaWNhdGUgdGhpbmcgb24gdGl0bGVzIHdpdGggc3BlY2lhbCBjaGFycy48XC9saT5cbjxcL3VsPlxuJm5ic3A7XG5cbldQZU1hdGljbyBpcyBmb3IgYXV0b2Jsb2dnaW5nLCBhdXRvbWF0aWNhbGx5IGNyZWF0aW5nIHBvc3RzIGZyb20gdGhlIFJTU1wvQXRvbSBmZWVkcyB5b3UgY2hvb3NlLCB3aGljaCBhcmUgb3JnYW5pemVkIGludG8gY2FtcGFpZ25zLiBGb3IgUlNTIGZldGNoaW5nIGl0J3MgdXNpbmcgdGhlIHNpbXBsZXBpZSBsaWJyYXJ5IGluY2x1ZGVkIGluIFdvcmRQcmVzcy4gQWxzbyBmb3IgaW1hZ2UgcHJvY2Vzc2luZyBpdCdzIHVzaW5nIHRoZSBjb3JlIGZ1bmN0aW9ucyBvZiB3b3JkcHJlc3MuIFRyYW5zbGF0aW9ucyByZWFkeS4gLnBvdCBlbmdsaXNoIGZpbGUgaW5jbHVkZWQgZm9yIGxvY2FsaXplLiBUcmFuc2xhdGlvbnMgZmlsZXMgYXJlIHdlbGNvbWUuIEkgdGFrZSBjb2RlIGZyb20gbWFueSBtYW55IG90aGVyIHBsdWdpbnMsIGJ1dCBmb3IgdGhpcyBwbHVnaW4gSSByZWFkIGEgbG90IG9mIGNvZGUgb2YgdGhlIG9sZCBXUC1vLU1hdGljIGFuZCBhbHNvIG9sZCB2ZXJzaW9ucyBvZiBCYWNrV1BVcC4gVGhhbmtzIHRvIHRoZSBkZXZlbG9wZXJzOykgSWYgeW91IGxpa2UsIHBsZWFzZSByYXRlIDUgc3RhcnMuIHRoYW5rcyA6KVxuXG5TdXBwb3J0ZWQgZmVhdHVyZXM6XG48dWw+XG5cdDxsaT5DYW1wYWlncyBGZWVkcyBhbmQgb3B0aW9ucyBhcmUgb3JnYW5pemVkIGludG8gY2FtcGFpZ25zLjxcL2xpPlxuXHQ8bGk+Q29tZm9ydGFibGUgaW50ZXJmYWNlIGxpa2UgV29ycHJlc3MgcG9zdHMgZWRpdGluZyBmb3IgZXZlcnkgY2FtcGFpZ24uPFwvbGk+XG5cdDxsaT5NdWx0aXBsZSBmZWVkcyBcLyBjYXRlZ29yaWVzOiBpdFx1MjAxOXMgcG9zc2libGUgdG8gYWRkIGFzIG1hbnkgZmVlZHMgYXMgeW91IHdhbnQsIGFuZCBhZGQgdGhlbSB0byBzb21lIGNhdGVnb3JpZXMgYXMgeW91IHdhbnQuPFwvbGk+XG5cdDxsaT5JbnRlZ3JhdGVkIHdpdGggdGhlIFNpbXBsZXBpZSBsaWJyYXJ5IHRoYXQgY29tZSB3aXRoIFdvcmRQcmVzcy4gVGhpcyBpbmNsdWRlcyBSU1MgMC45MSBhbmQgUlNTIDEuMCBmb3JtYXRzLCB0aGUgcG9wdWxhciBSU1MgMi4wIGZvcm1hdCwgQXRvbS4uLjxcL2xpPlxuXHQ8bGk+RmVlZCBhdXRvZGlzY292ZXJ5LCB3aGljaCBsZXRzIHlvdSBhZGQgZmVlZHMgd2l0aG91dCBldmVuIGtub3dpbmcgdGhlIGV4YWN0IFVSTC4gKFRoYW5rcyBTaW1wbGVwaWUhKTxcL2xpPlxuXHQ8bGk+VW5peCBjcm9uIGFuZCBXb3JkUHJlc3MgY3JvbiBqb2JzIEZvciBtYXhpbXVtIHBlcmZvcm1hbmNlLCB5b3UgY2FuIG1ha2UgdGhlIFJTUyBmZXRjaGluZyBwcm9jZXNzIGJlIGNhbGxlZCBieSBhIFVuaXggY3JvbiBqb2IsIG9yIHNpbXBseSBsZXQgV29yZFByZXNzIGhhbmRsZSBpdC48XC9saT5cblx0PGxpPkltYWdlcyBjYWNoaW5nIGFyZSBpbnRlZ3JhdGVkIHdpdGggV29yZFByZXNzIE1lZGlhIExpYnJhcnkgYW5kIHBvc3RzIGF0dGFjaC4gdXBsb2FkIHJlbW90ZSBpbWFnZXMgb3IgbGluayB0byBzb3VyY2UuIEZ1bGx5IGNvbmZpZ3VyYWJsZS48XC9saT5cblx0PGxpPldvcmRzIFJld3JpdGluZy4gUmVndWxhciBleHByZXNzaW9ucyBzdXBwb3J0ZWQuPFwvbGk+XG5cdDxsaT5Xb3JkcyBSZWxpbmtpbmcuIERlZmluZSBjdXN0b20gbGlua3MgZm9yIHdvcmRzIHlvdSBzcGVjaWZ5LjxcL2xpPlxuXHQ8bGk+V29yZHMgdG8gQ2F0ZWdvcnkuIERlZmluZSBjdXN0b20gd29yZHMgZm9yIGFzc2lnbiBldmVyeSBwb3N0IHRvIHNwZWNpZmllZCBjYXRlZ29yaWVzLiBUaGFua3MgdG8gSnVlcmdlbiBNdWVsbGVyIGF0IDxhIGhyZWY9XCJodHRwOlwvXC93d3cud2lydHNjaGFmdC5jb21cL1wiIHJlbD1cIm5vZm9sbG93XCI+V2lydHNjaGFmdDxcL2E+PFwvbGk+XG5cdDxsaT5EZXRhaWxlZCBMb2cgc2VuZGluZyB0byBjdXN0b20gZS1tYWlsLiBBbHdheXMgb24gZXZlcnkgZXhlY3V0ZWQgY3JvbiBvciBvbmx5IG9uIGVycm9ycyB3aXRoIGNhbXBhaWduLjxcL2xpPlxuXHQ8bGk+T3B0aW9uIHRvIHJlcGxhY2UgdGl0bGUgbGlua3MgKFBlcm1hbGluaykgdG8gc291cmNlLjxcL2xpPlxuXHQ8bGk+UG9zdCB0ZW1wbGF0aW5nLjxcL2xpPlxuXHQ8bGk+TXVsdGlsYW5ndWFnZSByZWFkeS48XC9saT5cblx0PGxpPlRlc3RlZCBpbiBXb3JkUHJlc3MgTVVMVElTSVRFPFwvbGk+XG48XC91bD5cbkV4dHJhIFBSTyBmZWF0dXJlc1xuPHVsPlxuXHQ8bGk+RGVsZXRlIGxhc3QgSFRNTCB0YWcgb3B0aW9uLjxcL2xpPlxuXHQ8bGk+V29yZHMgY291bnQgZmlsdGVycy4gQ291bnQgaG93IG1hbnkgd29yZHMgYXJlIGluIGNvbnRlbnQgZm9yIGFzc2lnbiBhIGNhdGVnb3J5IG9yIHNraXAgdGhlIHBvc3QuPFwvbGk+XG5cdDxsaT5BbHNvIHRoZSBjb250ZW50IGNhbiBiZSBjb252ZXJ0ZWQgdG8gdGV4dCBhbmQgY3V0dGVkIGF0IHdhbnRlZCBhbW91bnQgb2Ygd29yZHMgb3IgbGV0dGVycy48XC9saT5cblx0PGxpPktleXdvcmRzIGZpbHRlcmluZy4gWW91IGNhbiBkZXRlcm1pbmUgc2tpcCB0aGUgcG9zdCBmb3IgY2VydGFpbiB3b3JkcyBpbiB0aXRsZSBvciBjb250ZW50LjxcL2xpPlxuXHQ8bGk+Q3VzdG9tIFRpdGxlIHdpdGggY291bnRlci48XC9saT5cbjxcL3VsPlxuUEhQNSBpcyByZXF1aXJlZCFcblxuQ29weXJpZ2h0IDIwMTAuIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmRcL29yIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiJdLCJjb250ZXh0X3R5cGUiOiJzaW5nbGUifQ==