Skip to content

Instantly share code, notes, and snippets.

@zoomequipd
Created March 30, 2024 06:02
Show Gist options
  • Save zoomequipd/f6251494737b74dcbbf9f6ac8c9bed05 to your computer and use it in GitHub Desktop.
Save zoomequipd/f6251494737b74dcbbf9f6ac8c9bed05 to your computer and use it in GitHub Desktop.
2001375 Alert
[
{
"timestamp": "2024-03-30T05:59:33.956031+0000",
"flow_id": 1572849402698563,
"event_type": "alert",
"src_ip": "172.16.77.61",
"src_port": 80,
"dest_ip": "192.168.83.82",
"dest_port": 35858,
"proto": "TCP",
"pkt_src": "stream (flow timeout)",
"community_id": "1:QW1OJvacZpKJIqgf5qYq6QgCW9I=",
"alert": {
"action": "allowed",
"gid": 1,
"signature_id": 2001375,
"rev": 12,
"signature": "ET POLICY Credit Card Number Detected in Clear (16 digit spaced)",
"category": "Potential Corporate Privacy Violation",
"severity": 1,
"metadata": {
"created_at": [
"2010_07_30"
],
"updated_at": [
"2019_07_26"
]
}
},
"http": {
"hostname": "foo.com",
"url": "/",
"http_method": "GET",
"protocol": "HTTP/1.1",
"status": 200,
"length": 75582,
"http_response_body_printable": "<!DOCTYPE html>\r\n<html lang=\"en\">\r\n<head>\r\n <meta charset=\"UTF-8\">\r\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n <title>Test HTML</title>\r\n</head>\r\n<body>\r\n <h1>This is a test HTML document</h1>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n \r\n <!-- Your string goes here -->\r\n <p>Sample number: 4111 1111 1111 1111 (16 digits)</p>\r\n <!-- Your string ends here -->\r\n <!-- Adding filler content to reach approximately 87000 bytes -->\r\n <p>Donec ullamcorper risus et varius convallis. Morbi vitae enim aliquam, tincidunt justo vitae, eleifend metus. Ut venenatis nisl a sapien placerat, quis feugiat nunc hendrerit. Proin ut turpis eget felis dignissim bibendum. Aliquam erat volutpat. Integer maximus, odio vitae fermentum feugiat, nisi ipsum fermentum velit, nec aliquam velit magna id lectus. Maecenas in nibh ut tortor ullamcorper scelerisque. Nulla euismod, enim nec lacinia sodales, purus nisi gravida nisi, eget elementum odio ligula at libero. Phasellus tempor nibh nec nisi sodales, non consectetur sapien consectetur. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed posuere justo vitae odio lobortis, non condimentum ex ultrices.</p>\r\n <!-- Adding more filler content -->\r\n <!-- Continue adding filler content until the size is around 87000 bytes -->\r\n</body>\r\n</html>",
"http_response_body": "PCFET0NUWVBFIGh0bWw+DQo8aHRtbCBsYW5nPSJlbiI+DQo8aGVhZD4NCiAgICA8bWV0YSBjaGFyc2V0PSJVVEYtOCI+DQogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiPg0KICAgIDx0aXRsZT5UZXN0IEhUTUw8L3RpdGxlPg0KPC9oZWFkPg0KPGJvZHk+DQogICAgPGgxPlRoaXMgaXMgYSB0ZXN0IEhUTUwgZG9jdW1lbnQ8L2gxPg0KICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1ZSB2ZWxpdCB2ZWwgbmlzaSB0cmlzdGlxdWUsIGEgdGVtcG9yIG51bGxhIGZldWdpYXQuIFZpdmFtdXMgc2l0IGFtZXQgdWx0cmljZXMgbmlzbC4gTnVsbGFtIHBvc3VlcmUsIG51bGxhIHNpdCBhbWV0IGdyYXZpZGEgcGxhY2VyYXQsIGp1c3RvIHVybmEgZGljdHVtIHF1YW0sIHZpdGFlIGNvbW1vZG8ganVzdG8gbGliZXJvIGluIGVzdC4gVXQgc2VkIG1hZ25hIG1hc3NhLiBOdWxsYSBmYWNpbGlzaS4gUGhhc2VsbHVzIG5vbiBtYWduYSBpbiB0ZWxsdXMgbG9ib3J0aXMgZWdlc3Rhcy4gUHJvaW4gbm9uIG51bGxhIGlkIHF1YW0gYWNjdW1zYW4gdnVscHV0YXRlIG5lYyBhdCBsaWJlcm8uIE1hdXJpcyBwbGFjZXJhdCByaXN1cyBxdWlzIGF1Z3VlIHBoYXJldHJhIHZlc3RpYnVsdW0uIEludGVnZXIgZWdldCBkdWkgZXJvcy4gSW4gY29uc2VjdGV0dXIgYWNjdW1zYW4gbWV0dXMgYXQgcGhhcmV0cmEuPC9wPg0KICAgIDxwPlF1aXNxdWUgZ3JhdmlkYSB2aXRhZSBtYWduYSB1dCBzdXNjaXBpdC4gRnVzY2UgZWdldCBkb2xvciBuZWMgbG9yZW0gZWZmaWNpdHVyIGZlcm1lbnR1bS4gVXQgc2l0IGFtZXQgbG9yZW0ganVzdG8uIEFsaXF1YW0gdml0YWUgYXJjdSBpbnRlcmR1bSwgdmVuZW5hdGlzIGxpYmVybyBldCwgdm9sdXRwYXQgbmVxdWUuIE1vcmJpIGNvbW1vZG8gbmlzaSBuZWMgZmVsaXMgc29sbGljaXR1ZGluIGZldWdpYXQuIEZ1c2NlIGVnZXQgYWxpcXVldCBuaXNsLiBDdXJhYml0dXIgbHVjdHVzIHZlbCBlbGl0IGEgZ3JhdmlkYS4gRG9uZWMgYWxpcXVldCwgYXJjdSB2ZWwgdWxsYW1jb3JwZXIgaWFjdWxpcywgbGFjdXMgZXJvcyBmaW5pYnVzIHZlbGl0LCBlZ2V0IGxhY2luaWEgbWV0dXMgbmVxdWUgZWdldCBhcmN1LiBNYXVyaXMgY29uc2VxdWF0IHZlaGljdWxhIHJpc3VzLCBzaXQgYW1ldCBlZmZpY2l0dXIgZG9sb3IgZWZmaWNpdHVyIHZpdGFlLiBGdXNjZSB1dCBwdXJ1cyBxdWlzIGxpYmVybyBmaW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICANCiAgICA8IS0tIFlvdXIgc3RyaW5nIGdvZXMgaGVyZSAtLT4NCiAgICA8cD5TYW1wbGUgbnVtYmVyOiA0MTExIDExMTEgMTExMSAxMTExICgxNiBkaWdpdHMpPC9wPg0KICAgIDwhLS0gWW91ciBzdHJpbmcgZW5kcyBoZXJlIC0tPg0KICAgIDwhLS0gQWRkaW5nIGZpbGxlciBjb250ZW50IHRvIHJlYWNoIGFwcHJveGltYXRlbHkgODcwMDAgYnl0ZXMgLS0+DQogICAgPHA+RG9uZWMgdWxsYW1jb3JwZXIgcmlzdXMgZXQgdmFyaXVzIGNvbnZhbGxpcy4gTW9yYmkgdml0YWUgZW5pbSBhbGlxdWFtLCB0aW5jaWR1bnQganVzdG8gdml0YWUsIGVsZWlmZW5kIG1ldHVzLiBVdCB2ZW5lbmF0aXMgbmlzbCBhIHNhcGllbiBwbGFjZXJhdCwgcXVpcyBmZXVnaWF0IG51bmMgaGVuZHJlcml0LiBQcm9pbiB1dCB0dXJwaXMgZWdldCBmZWxpcyBkaWduaXNzaW0gYmliZW5kdW0uIEFsaXF1YW0gZXJhdCB2b2x1dHBhdC4gSW50ZWdlciBtYXhpbXVzLCBvZGlvIHZpdGFlIGZlcm1lbnR1bSBmZXVnaWF0LCBuaXNpIGlwc3VtIGZlcm1lbnR1bSB2ZWxpdCwgbmVjIGFsaXF1YW0gdmVsaXQgbWFnbmEgaWQgbGVjdHVzLiBNYWVjZW5hcyBpbiBuaWJoIHV0IHRvcnRvciB1bGxhbWNvcnBlciBzY2VsZXJpc3F1ZS4gTnVsbGEgZXVpc21vZCwgZW5pbSBuZWMgbGFjaW5pYSBzb2RhbGVzLCBwdXJ1cyBuaXNpIGdyYXZpZGEgbmlzaSwgZWdldCBlbGVtZW50dW0gb2RpbyBsaWd1bGEgYXQgbGliZXJvLiBQaGFzZWxsdXMgdGVtcG9yIG5pYmggbmVjIG5pc2kgc29kYWxlcywgbm9uIGNvbnNlY3RldHVyIHNhcGllbiBjb25zZWN0ZXR1ci4gVmVzdGlidWx1bSBhbnRlIGlwc3VtIHByaW1pcyBpbiBmYXVjaWJ1cyBvcmNpIGx1Y3R1cyBldCB1bHRyaWNlcyBwb3N1ZXJlIGN1YmlsaWEgY3VyYWU7IFNlZCBwb3N1ZXJlIGp1c3RvIHZpdGFlIG9kaW8gbG9ib3J0aXMsIG5vbiBjb25kaW1lbnR1bSBleCB1bHRyaWNlcy48L3A+DQogICAgPCEtLSBBZGRpbmcgbW9yZSBmaWxsZXIgY29udGVudCAtLT4NCiAgICA8IS0tIENvbnRpbnVlIGFkZGluZyBmaWxsZXIgY29udGVudCB1bnRpbCB0aGUgc2l6ZSBpcyBhcm91bmQgODcwMDAgYnl0ZXMgLS0+DQo8L2JvZHk+DQo8L2h0bWw+"
},
"files": [
{
"filename": "/",
"gaps": false,
"state": "CLOSED",
"stored": false,
"size": 75582,
"tx_id": 0
}
],
"app_proto": "http",
"direction": "to_client",
"flow": {
"pkts_toserver": 55,
"pkts_toclient": 54,
"bytes_toserver": 3003,
"bytes_toclient": 78540,
"start": "2024-03-30T05:59:33.956031+0000",
"src_ip": "192.168.83.82",
"dest_ip": "172.16.77.61",
"src_port": 35858,
"dest_port": 80
},
"payload": "aW5pYnVzIG1hbGVzdWFkYSBub24gdml0YWUgbGliZXJvLiBOdWxsYW0gYWNjdW1zYW4gYWxpcXVldCBmcmluZ2lsbGEuIEFsaXF1YW0gc2FnaXR0aXMgYXVndWUgc2l0IGFtZXQgc2VtIGJpYmVuZHVtLCBuZWMgZGlnbmlzc2ltIGVsaXQgc29sbGljaXR1ZGluLiBOdWxsYSBzaXQgYW1ldCBhcmN1IGlkIGxvcmVtIGFjY3Vtc2FuIHNjZWxlcmlzcXVlLiBQaGFzZWxsdXMgdmVzdGlidWx1bSBmZWxpcyB2aXRhZSB2YXJpdXMgbWFsZXN1YWRhLiBQZWxsZW50ZXNxdWUgaGFiaXRhbnQgbW9yYmkgdHJpc3RpcXVlIHNlbmVjdHVzIGV0IG5ldHVzIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyB0dXJwaXMgZWdlc3Rhcy48L3A+DQogICAgICAgIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFNlZCB0ZW1wb3IganVzdG8gZWdldCBlbmltIGNvbmRpbWVudHVtLCBldCBsYWNpbmlhIGVzdCBtYXR0aXMuIEludGVnZXIgY29udmFsbGlzIGxpYmVybyBuZWMgbWF1cmlzIHVsbGFtY29ycGVyLCBzZWQgZmV1Z2lhdCBlbGl0IHZlc3RpYnVsdW0uIE1hdXJpcyBhdWN0b3Igc3VzY2lwaXQgYXJjdSwgbm9uIGNvbnNlcXVhdCBsaWJlcm8gZGljdHVtIGV1LiBGdXNjZSBhYyB0ZWxsdXMgbGFjaW5pYSwgaGVuZHJlcml0IG1ldHVzIGVnZXQsIGJpYmVuZHVtIGp1c3RvLiBBZW5lYW4gaWQgYWxpcXVldCBzZW0uIER1aXMgdHJpc3RpcXVlIHZlbGl0IHZlbCBuaXNpIHRyaXN0aXF1ZSwgYSB0ZW1wb3IgbnVsbGEgZmV1Z2lhdC4gVml2YW11cyBzaXQgYW1ldCB1bHRyaWNlcyBuaXNsLiBOdWxsYW0gcG9zdWVyZSwgbnVsbGEgc2l0IGFtZXQgZ3JhdmlkYSBwbGFjZXJhdCwganVzdG8gdXJuYSBkaWN0dW0gcXVhbSwgdml0YWUgY29tbW9kbyBqdXN0byBsaWJlcm8gaW4gZXN0LiBVdCBzZWQgbWFnbmEgbWFzc2EuIE51bGxhIGZhY2lsaXNpLiBQaGFzZWxsdXMgbm9uIG1hZ25hIGluIHRlbGx1cyBsb2JvcnRpcyBlZ2VzdGFzLiBQcm9pbiBub24gbnVsbGEgaWQgcXVhbSBhY2N1bXNhbiB2dWxwdXRhdGUgbmVjIGF0IGxpYmVyby4gTWF1cmlzIHBsYWNlcmF0IHJpc3VzIHF1aXMgYXVndWUgcGhhcmV0cmEgdmVzdGlidWx1bS4gSW50ZWdlciBlZ2V0IGR1aSBlcm9zLiBJbiBjb25zZWN0ZXR1ciBhY2N1bXNhbiBtZXR1cyBhdCBwaGFyZXRyYS48L3A+DQogICAgPHA+UXVpc3F1ZSBncmF2aWRhIHZpdGFlIG1hZ25hIHV0IHN1c2NpcGl0LiBGdXNjZSBlZ2V0IGRvbG9yIG5lYyBsb3JlbSBlZmZpY2l0dXIgZmVybWVudHVtLiBVdCBzaXQgYW1ldCBsb3JlbSBqdXN0by4gQWxpcXVhbSB2aXRhZSBhcmN1IGludGVyZHVtLCB2ZW5lbmF0aXMgbGliZXJvIGV0LCB2b2x1dHBhdCBuZXF1ZS4gTW9yYmkgY29tbW9kbyBuaXNpIG5lYyBmZWxpcyBzb2xsaWNpdHVkaW4gZmV1Z2lhdC4gRnVzY2UgZWdldCBhbGlxdWV0IG5pc2wuIEN1cmFiaXR1ciBsdWN0dXMgdmVsIGVsaXQgYSBncmF2aWRhLiBEb25lYyBhbGlxdWV0LCBhcmN1IHZlbCB1bGxhbWNvcnBlciBpYWN1bGlzLCBsYWN1cyBlcm9zIGZpbmlidXMgdmVsaXQsIGVnZXQgbGFjaW5pYSBtZXR1cyBuZXF1ZSBlZ2V0IGFyY3UuIE1hdXJpcyBjb25zZXF1YXQgdmVoaWN1bGEgcmlzdXMsIHNpdCBhbWV0IGVmZmljaXR1ciBkb2xvciBlZmZpY2l0dXIgdml0YWUuIEZ1c2NlIHV0IHB1cnVzIHF1aXMgbGliZXJvIGZpbmlidXMgbWFsZXN1YWRhIG5vbiB2aXRhZSBsaWJlcm8uIE51bGxhbSBhY2N1bXNhbiBhbGlxdWV0IGZyaW5naWxsYS4gQWxpcXVhbSBzYWdpdHRpcyBhdWd1ZSBzaXQgYW1ldCBzZW0gYmliZW5kdW0sIG5lYyBkaWduaXNzaW0gZWxpdCBzb2xsaWNpdHVkaW4uIE51bGxhIHNpdCBhbWV0IGFyY3UgaWQgbG9yZW0gYWNjdW1zYW4gc2NlbGVyaXNxdWUuIFBoYXNlbGx1cyB2ZXN0aWJ1bHVtIGZlbGlzIHZpdGFlIHZhcml1cyBtYWxlc3VhZGEuIFBlbGxlbnRlc3F1ZSBoYWJpdGFudCBtb3JiaSB0cmlzdGlxdWUgc2VuZWN0dXMgZXQgbmV0dXMgZXQgbWFsZXN1YWRhIGZhbWVzIGFjIHR1cnBpcyBlZ2VzdGFzLjwvcD4NCiAgICAgICAgPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU2VkIHRlbXBvciBqdXN0byBlZ2V0IGVuaW0gY29uZGltZW50dW0sIGV0IGxhY2luaWEgZXN0IG1hdHRpcy4gSW50ZWdlciBjb252YWxsaXMgbGliZXJvIG5lYyBtYXVyaXMgdWxsYW1jb3JwZXIsIHNlZCBmZXVnaWF0IGVsaXQgdmVzdGlidWx1bS4gTWF1cmlzIGF1Y3RvciBzdXNjaXBpdCBhcmN1LCBub24gY29uc2VxdWF0IGxpYmVybyBkaWN0dW0gZXUuIEZ1c2NlIGFjIHRlbGx1cyBsYWNpbmlhLCBoZW5kcmVyaXQgbWV0dXMgZWdldCwgYmliZW5kdW0ganVzdG8uIEFlbmVhbiBpZCBhbGlxdWV0IHNlbS4gRHVpcyB0cmlzdGlxdWUgdmVsaXQgdmVsIG5pc2kgdHJpc3RpcXVlLCBhIHRlbXBvciBudWxsYSBmZXVnaWF0LiBWaXZhbXVzIHNpdCBhbWV0IHVsdHJpY2VzIG5pc2wuIE51bGxhbSBwb3N1ZXJlLCBudWxsYSBzaXQgYW1ldCBncmF2aWRhIHBsYWNlcmF0LCBqdXN0byB1cm5hIGRpY3R1bSBxdWFtLCB2aXRhZSBjb21tb2RvIGp1c3RvIGxpYmVybyBpbiBlc3QuIFV0IHNlZCBtYWduYSBtYXNzYS4gTnVsbGEgZmFjaWxpc2kuIFBoYXNlbGx1cyBub24gbWFnbmEgaW4gdGVsbHVzIGxvYm9ydGlzIGVnZXN0YXMuIFByb2luIG5vbiBudWxsYSBpZCBxdWFtIGFjY3Vtc2FuIHZ1bHB1dGF0ZSBuZWMgYXQgbGliZXJvLiBNYXVyaXMgcGxhY2VyYXQgcmlzdXMgcXVpcyBhdWd1ZSBwaGFyZXRyYSB2ZXN0aWJ1bHVtLiBJbnRlZ2VyIGVnZXQgZHVpIGVyb3MuIEluIGNvbnNlY3RldHVyIGFjY3Vtc2FuIG1ldHVzIGF0IHBoYXJldHJhLjwvcD4NCiAgICA8cD5RdWlzcXVlIGdyYXZpZGEgdml0YWUgbWFnbmEgdXQgc3VzY2lwaXQuIEZ1c2NlIGVnZXQgZG9sb3IgbmVjIGxvcmVtIGVmZmljaXR1ciBmZXJtZW50dW0uIFV0IHNpdCBhbWV0IGxvcmVtIGp1c3RvLiBBbGlxdWFtIHZpdGFlIGFyY3UgaW50ZXJkdW0sIHZlbmVuYXRpcyBsaWJlcm8gZXQsIHZvbHV0cGF0IG5lcXVlLiBNb3JiaSBjb21tb2RvIG5pc2kgbmVjIGZlbGlzIHNvbGxpY2l0dWRpbiBmZXVnaWF0LiBGdXNjZSBlZ2V0IGFsaXF1ZXQgbmlzbC4gQ3VyYWJpdHVyIGx1Y3R1cyB2ZWwgZWxpdCBhIGdyYXZpZGEuIERvbmVjIGFsaXF1ZXQsIGFyY3UgdmVsIHVsbGFtY29ycGVyIGlhY3VsaXMsIGxhY3VzIGVyb3MgZmluaWJ1cyB2ZWxpdCwgZWdldCBsYWNpbmlhIG1ldHVzIG5lcXVlIGVnZXQgYXJjdS4gTWF1cmlzIGNvbnNlcXVhdCB2ZWhpY3VsYSByaXN1cywgc2l0IGFtZXQgZWZmaWNpdHVyIGRvbG9yIGVmZmljaXR1ciB2aXRhZS4gRnVzY2UgdXQgcHVydXMgcXVpcyBsaWJlcm8gZmluaWJ1cyBtYWxlc3VhZGEgbm9uIHZpdGFlIGxpYmVyby4gTnVsbGFtIGFjY3Vtc2FuIGFsaXF1ZXQgZnJpbmdpbGxhLiBBbGlxdWFtIHNhZ2l0dGlzIGF1Z3VlIHNpdCBhbWV0IHNlbSBiaWJlbmR1bSwgbmVjIGRpZ25pc3NpbSBlbGl0IHNvbGxpY2l0dWRpbi4gTnVsbGEgc2l0IGFtZXQgYXJjdSBpZCBsb3JlbSBhY2N1bXNhbiBzY2VsZXJpc3F1ZS4gUGhhc2VsbHVzIHZlc3RpYnVsdW0gZmVsaXMgdml0YWUgdmFyaXVzIG1hbGVzdWFkYS4gUGVsbGVudGVzcXVlIGhhYml0YW50IG1vcmJpIHRyaXN0aXF1ZSBzZW5lY3R1cyBldCBuZXR1cyBldCBtYWxlc3VhZGEgZmFtZXMgYWMgdHVycGlzIGVnZXN0YXMuPC9wPg0KICAgICAgICA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgdGVtcG9yIGp1c3RvIGVnZXQgZW5pbSBjb25kaW1lbnR1bSwgZXQgbGFjaW5pYSBlc3QgbWF0dGlzLiBJbnRlZ2VyIGNvbnZhbGxpcyBsaWJlcm8gbmVjIG1hdXJpcyB1bGxhbWNvcnBlciwgc2VkIGZldWdpYXQgZWxpdCB2ZXN0aWJ1bHVtLiBNYXVyaXMgYXVjdG9yIHN1c2NpcGl0IGFyY3UsIG5vbiBjb25zZXF1YXQgbGliZXJvIGRpY3R1bSBldS4gRnVzY2UgYWMgdGVsbHVzIGxhY2luaWEsIGhlbmRyZXJpdCBtZXR1cyBlZ2V0LCBiaWJlbmR1bSBqdXN0by4gQWVuZWFuIGlkIGFsaXF1ZXQgc2VtLiBEdWlzIHRyaXN0aXF1",
"payload_printable": "inibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristique velit vel nisi tristique, a tempor nulla feugiat. Vivamus sit amet ultrices nisl. Nullam posuere, nulla sit amet gravida placerat, justo urna dictum quam, vitae commodo justo libero in est. Ut sed magna massa. Nulla facilisi. Phasellus non magna in tellus lobortis egestas. Proin non nulla id quam accumsan vulputate nec at libero. Mauris placerat risus quis augue pharetra vestibulum. Integer eget dui eros. In consectetur accumsan metus at pharetra.</p>\r\n <p>Quisque gravida vitae magna ut suscipit. Fusce eget dolor nec lorem efficitur fermentum. Ut sit amet lorem justo. Aliquam vitae arcu interdum, venenatis libero et, volutpat neque. Morbi commodo nisi nec felis sollicitudin feugiat. Fusce eget aliquet nisl. Curabitur luctus vel elit a gravida. Donec aliquet, arcu vel ullamcorper iaculis, lacus eros finibus velit, eget lacinia metus neque eget arcu. Mauris consequat vehicula risus, sit amet efficitur dolor efficitur vitae. Fusce ut purus quis libero finibus malesuada non vitae libero. Nullam accumsan aliquet fringilla. Aliquam sagittis augue sit amet sem bibendum, nec dignissim elit sollicitudin. Nulla sit amet arcu id lorem accumsan scelerisque. Phasellus vestibulum felis vitae varius malesuada. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.</p>\r\n <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor justo eget enim condimentum, et lacinia est mattis. Integer convallis libero nec mauris ullamcorper, sed feugiat elit vestibulum. Mauris auctor suscipit arcu, non consequat libero dictum eu. Fusce ac tellus lacinia, hendrerit metus eget, bibendum justo. Aenean id aliquet sem. Duis tristiqu",
"stream": 1,
"packet": "RQAAKAAAAABABm2IrBBNPcCoU1IAUIwSAAEnzQAAACxQAAoA5D8AAA==",
"packet_info": {
"linktype": 1
}
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment