PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pg0KPCEtLQ0KLyogICBDb3B5cmlnaHQgMjAwNCBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24NCiAqDQogKiAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICovDQotLT4NCjx4czpzY2hlbWEgeG1sbnM9InVybjplaGQvMDAxIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEiIHRhcmdldE5hbWVzcGFjZT0idXJuOmVoZC8wMDEiIGVsZW1lbnRGb3JtRGVmYXVsdD0icXVhbGlmaWVkIiBhdHRyaWJ1dGVGb3JtRGVmYXVsdD0idW5xdWFsaWZpZWQiIGJsb2NrRGVmYXVsdD0ic3Vic3RpdHV0aW9uIj4NCgk8eHM6aW5jbHVkZSBzY2hlbWFMb2NhdGlvbj0ieG1sYmVhbnNfMTg0X2VoZF9oZWFkZXJfVjEuMzAueHNkXyIvPg0KCTx4czpjb21wbGV4VHlwZSBuYW1lPSJ2ZHhfb3JnYW5pemF0aW9uX3R5cCI+DQoJCTx4czpjb21wbGV4Q29udGVudD4NCgkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJvcmdhbml6YXRpb25fdHlwIj4NCgkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCTx4czplbGVtZW50IG5hbWU9ImlkIiB0eXBlPSJ2ZHhfb3JnYW5pemF0aW9uX2lkX3R5cCIvPg0KCQkJCTwveHM6c2VxdWVuY2U+DQoJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KCTwveHM6Y29tcGxleFR5cGU+DQoJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InZkeF9wcm92aWRlcl90eXAiPg0KCQk8eHM6Y29tcGxleENvbnRlbnQ+DQoJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0icHJvdmlkZXJfdHlwIj4NCgkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCTx4czplbGVtZW50IG5hbWU9Im9yZ2FuaXphdGlvbiIgdHlwZT0idmR4X29yZ2FuaXphdGlvbl90eXAiLz4NCgkJCQk8L3hzOnNlcXVlbmNlPg0KCQkJPC94czpyZXN0cmljdGlvbj4NCgkJPC94czpjb21wbGV4Q29udGVudD4NCgk8L3hzOmNvbXBsZXhUeXBlPg0KCTwhLS0gU2NoZW1hIC0tPg0KCTx4czpjb21wbGV4VHlwZSBuYW1lPSJ2ZHhfaGVhZGVyX3R5cCI+DQoJCTx4czpjb21wbGV4Q29udGVudD4NCgkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJlaGRfaGVhZGVyX3R5cCI+DQoJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJpZCIgdHlwZT0idmR4X2hlYWRlcl9pZF90eXAiLz4NCgkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iZG9jdW1lbnRfdHlwZV9jZCIgdHlwZT0idmR4X2RvY3VtZW50X3R5cGVfY2RfdHlwIi8+DQoJCQkJCTx4czplbGVtZW50IHJlZj0ic2VydmljZV90bXIiLz4NCgkJCQkJPCEtLSBBYnJlY2hudW5nc3F1YXJ0YWxfaW1fSGVhZGVyLS0+DQoJCQkJCTx4czplbGVtZW50IG5hbWU9Im9yaWdpbmF0aW9uX2R0dG0iIHR5cGU9Im9yaWdpbmF0aW9uX2R0dG1fdHlwIi8+DQoJCQkJCTx4czplbGVtZW50IG5hbWU9InByb3ZpZGVyIiB0eXBlPSJ2ZHhfcHJvdmlkZXJfdHlwIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJpbnRlcmZhY2UiIHR5cGU9InZkeF9pbnRlcmZhY2VfdHlwIi8+DQoJCQkJPC94czpzZXF1ZW5jZT4NCgkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCTwveHM6Y29tcGxleENvbnRlbnQ+DQoJPC94czpjb21wbGV4VHlwZT4NCgk8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKiB2ZHhfZG9jdW1lbnRfdHlwZV9jZF90eXAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPg0KCTx4czpjb21wbGV4VHlwZSBuYW1lPSJ2ZHhfZG9jdW1lbnRfdHlwZV9jZF90eXAiPg0KCQk8eHM6Y29tcGxleENvbnRlbnQ+DQoJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0iZG9jdW1lbnRfdHlwZV9jZF90eXAiPg0KCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iViIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQkJPHhzOnBhdHRlcm4gdmFsdWU9IkRcZFxkIi8+DQoJCQkJCQkJPCEtLSBEYXMgZ3Jv32UgIkQiIHN0ZWh0IGb8ciBkaWUgU2Nobml0dHN0ZWxsZSB2ZHhfZGF0YS4gRvxyIGRpZSBkZXIgS0JWIHp1IPxiZXJtaXR0ZWxuZGUgRGF0ZWkgaXN0IGhpZXIgZGllIERhdGVuYXJ0IEQwNiBlaW56dXRyYWdlbiAtLT4NCgkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCTwveHM6Y29tcGxleENvbnRlbnQ+DQoJPC94czpjb21wbGV4VHlwZT4NCgk8IS0tICoqKioqKioqKioqKioqKioqKioqKioqKiB2ZHhfaW50ZXJmYWNlX3R5cCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+DQoJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InZkeF9pbnRlcmZhY2VfdHlwIj4NCgkJPHhzOmNvbXBsZXhDb250ZW50Pg0KCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9ImludGVyZmFjZV90eXAiPg0KCQkJCTx4czpzZXF1ZW5jZT4NCgkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iaWQiPg0KCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTx4czpjb21wbGV4Q29udGVudD4NCgkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9ImludGVyZmFjZV9pZF90eXAiPg0KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJFWCIgdHlwZT0ieHM6c3RyaW5nIiB1c2U9InJlcXVpcmVkIiBmaXhlZD0iVkRYX0RBVEEiLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJPC94czplbGVtZW50Pg0KCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJpbnRlcmZhY2Uubm0iPg0KCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTx4czpjb21wbGV4Q29udGVudD4NCgkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9ImludGVyZmFjZV9ubV90eXAiPg0KCQkJCQkJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJWIiB0eXBlPSJ4czpzdHJpbmciIHVzZT0icmVxdWlyZWQiIGZpeGVkPSJWRFhfREFUQSIvPg0KCQkJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQkJCTwveHM6Y29tcGxleENvbnRlbnQ+DQoJCQkJCQk8L3hzOmNvbXBsZXhUeXBlPg0KCQkJCQk8L3hzOmVsZW1lbnQ+DQoJCQkJCTx4czplbGVtZW50IG5hbWU9InZlcnNpb24iPg0KCQkJCQkJPHhzOmNvbXBsZXhUeXBlPg0KCQkJCQkJCTx4czpjb21wbGV4Q29udGVudD4NCgkJCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9ImludGVyZmFjZV92ZXJzaW9uX3R5cCI+DQoJCQkJCQkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlYiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJyZXF1aXJlZCIgZml4ZWQ9IjEuMDQiLz4NCgkJCQkJCQkJPC94czpyZXN0cmljdGlvbj4NCgkJCQkJCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KCQkJCQkJPC94czpjb21wbGV4VHlwZT4NCgkJCQkJPC94czplbGVtZW50Pg0KCQkJCTwveHM6c2VxdWVuY2U+DQoJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KCTwveHM6Y29tcGxleFR5cGU+DQoJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InZkeF9vcmlnaW5hdG9yX3R5cCI+DQoJCTx4czpjb21wbGV4Q29udGVudD4NCgkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJvcmlnaW5hdG9yX3R5cCI+DQoJCQkJPHhzOnNlcXVlbmNlPg0KCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJvcmlnaW5hdG9yLnR5cGVfY2QiIHR5cGU9Im9yaWdpbmF0b3IudHlwZV9jZF90eXAiLz4NCgkJCQk8L3hzOnNlcXVlbmNlPg0KCQkJPC94czpyZXN0cmljdGlvbj4NCgkJPC94czpjb21wbGV4Q29udGVudD4NCgk8L3hzOmNvbXBsZXhUeXBlPg0KCTx4czpjb21wbGV4VHlwZSBuYW1lPSJ2ZHhfaGVhZGVyX2lkX3R5cCI+DQoJCTx4czphbm5vdGF0aW9uPg0KCQkJPHhzOmRvY3VtZW50YXRpb24+aWQgd2lyZCBpbSBUZWlsbGllZmVydW5nc2tvbnplcHQgdmVyd2VuZGV0PC94czpkb2N1bWVudGF0aW9uPg0KCQk8L3hzOmFubm90YXRpb24+DQoJCTx4czpjb21wbGV4Q29udGVudD4NCgkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJpZF90eXAiPg0KCQkJCTx4czphdHRyaWJ1dGUgbmFtZT0iRVgiIHVzZT0icmVxdWlyZWQiPg0KCQkJCQk8eHM6c2ltcGxlVHlwZT4NCgkJCQkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJ4czpzdHJpbmciPg0KCQkJCQkJCTx4czptaW5MZW5ndGggdmFsdWU9IjkiLz4NCgkJCQkJCQk8eHM6bWF4TGVuZ3RoIHZhbHVlPSIxMjgiLz4NCgkJCQkJCTwveHM6cmVzdHJpY3Rpb24+DQoJCQkJCTwveHM6c2ltcGxlVHlwZT4NCgkJCQk8L3hzOmF0dHJpYnV0ZT4NCgkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IlJUIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQk8eHM6bGVuZ3RoIHZhbHVlPSIyIi8+DQoJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSVFYiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJwcm9oaWJpdGVkIi8+DQoJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KCTwveHM6Y29tcGxleFR5cGU+DQoJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InZkeF9vcmdhbml6YXRpb25faWRfdHlwIj4NCgkJPHhzOmFubm90YXRpb24+DQoJCQk8eHM6ZG9jdW1lbnRhdGlvbj5FWC1BdHRyaWJ1dCBiZWluaGFsdGV0IGRpZSAyc3RlbGxpZ2UgemFobHVuZ3Nmb3JkZXJuZGUgS1YtU3RlbGxlIHVuZCBpbSBSVC1BdHRyaWJ1dCBkaWUgT0lEIGRlciBTY2hsdWVzc2VsdGFiZWxsZSBTX1ZEWF9LVjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJPC94czphbm5vdGF0aW9uPg0KCQk8eHM6Y29tcGxleENvbnRlbnQ+DQoJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0iaWRfdHlwIj4NCgkJCQk8eHM6YXR0cmlidXRlIG5hbWU9IkVYIiB1c2U9InJlcXVpcmVkIj4NCgkJCQkJPHhzOnNpbXBsZVR5cGU+DQoJCQkJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0ieHM6c3RyaW5nIj4NCgkJCQkJCQk8eHM6bGVuZ3RoIHZhbHVlPSIyIi8+DQoJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSVCIgdXNlPSJyZXF1aXJlZCI+DQoJCQkJCTx4czpzaW1wbGVUeXBlPg0KCQkJCQkJPHhzOnJlc3RyaWN0aW9uIGJhc2U9InhzOnN0cmluZyI+DQoJCQkJCQkJPHhzOmVudW1lcmF0aW9uIHZhbHVlPSIxLjIuMjc2LjAuNzYuMy4xLjEuNS4xLjEyIi8+DQoJCQkJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQkJCQk8L3hzOnNpbXBsZVR5cGU+DQoJCQkJPC94czphdHRyaWJ1dGU+DQoJCQkJPHhzOmF0dHJpYnV0ZSBuYW1lPSJSVFYiIHR5cGU9InhzOnN0cmluZyIgdXNlPSJwcm9oaWJpdGVkIi8+DQoJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KCTwveHM6Y29tcGxleFR5cGU+DQo8L3hzOnNjaGVtYT4NCg==