PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+DQo8aHRtbCBsYW5nPSJqYSI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVNoaWZ0X0pJUyI+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4NCjxsaW5rIHJlbD0idXAiIHRpdGxlPSJGYXRGcyIgaHJlZj0iLi4vMDBpbmRleF9qLmh0bWwiPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9jc3Nfai5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiB0aXRsZT0iRUxNIERlZmF1bHQiPg0KPHRpdGxlPkZhdEZzIC0gZl9sc2VlazwvdGl0bGU+DQo8L2hlYWQ+DQoNCjxib2R5Pg0KDQo8ZGl2IGNsYXNzPSJwYXJhIj4NCjxoMj5mX2xzZWVrPC9oMj4NCjxwPoN0g0CDQ4OLgsxSL1eDfINDg5ODXoLwiNqTroK1gtyCt4FCPC9wPg0KPHByZT4NCkZSRVNVTFQgZl9sc2VlayAoDQogIEZJTCogPGVtPkZpbGVPYmplY3Q8L2VtPiwgICAvKiCDdINAg0ODi4FFg0mDdYNXg0aDToNnjVyRopHMgtaCzIN8g0ODk4NeICovDQogIERXT1JEIDxlbT5PZmZzZXQ8L2VtPiAgICAgICAvKiCI2pOukOaDSYN0g1qDYoNnICovDQopOw0KPC9wcmU+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0icGFyYSI+DQo8aDQ+iPiQlDwvaDQ+DQo8ZGwgY2xhc3M9InBhciI+DQo8ZHQ+RmlsZU9iamVjdDwvZHQ+DQo8ZGQ+kc6P24LGgsiC6YN0g0CDQ4OLgUWDSYN1g1eDRoNOg2eNXJGikcyC1oLMg3yDQ4OTg16C8I53kuiCtYLcgreBQjwvZGQ+DQo8ZHQ+T2Zmc2V0PC9kdD4NCjxkZD6I2pOukOaCzINJg3SDWoNig2eBaVIvV4N8g0ODk4NegWqSbIFCg3SDQINDg4uQ5pOqgqmC54LMg0mDdINag2KDZ4Lwg2+DQ4NnklCIyoLFjneS6IK1gtyCt4FCPC9kZD4NCjwvZGw+DQo8L2Rpdj4NCg0KDQo8ZGl2IGNsYXNzPSJwYXJhIj4NCjxoND6W34Lokmw8L2g0Pg0KPGRsIGNsYXNzPSJyZXQiPg0KPGR0PkZSX09LICgwKTwvZHQ+DQo8ZGQ+kLOP7Y9Jl7mBQjwvZGQ+DQo8ZHQ+RlJfRElTS19FUlI8L2R0Pg0KPGRkPoNmg0KDWINOgUWDR4OJgVuCyYLmgumOuJRzgUI8L2RkPg0KPGR0PkZSX0lOVF9FUlI8L2R0Pg0KPGRkPpVzkLOCyEZBVI1ckaKC3IK9gs2T4JWUg0eDiYFbgsmC5oLpjriUc4FCPC9kZD4NCjxkdD5GUl9OT1RfUkVBRFk8L2R0Pg0KPGRkPoOBg2aDQoNBgqqDWoNig2eCs4LqgsSCooLIgqKCyILHgUGVqJedg2iDiYNDg3WCqpOujeyVc5Rcj/OR1IFCPC9kZD4NCjxkdD5GUl9JTlZBTElEX09CSkVDVDwvZHQ+DQo8ZGQ+lrOM+ILIg3SDQINDg4uBRYNJg3WDV4NGg06DZ4FCPC9kZD4NCjwvZGw+DQo8L2Rpdj4NCg0KDQo8ZGl2IGNsYXNzPSJwYXJhIj4NCjxoND6J8JDgPC9oND4NCjxwPoN0g0CDQ4OLUi9Xg3yDQ4OTg14og3SDQINDg4uBRYNJg3WDV4NGg06DZ5PggsxmcHRyg4GDk4NvgsWBQY6fgsmTx4Ldj2+CtYFFj5GCq42egt2Cs4LqgumDb4NDg2eCzINJg3SDWoNig2eC8I6mgrcpgvCI2pOugrWC3IK3gUKDSYN0g1qDYoNngsyMtJNfgs2DdINAg0ODi5Dmk6qCqYLngsWCt4FCj5GCq42egt2DgoFbg2iCxYN0g0CDQ4OLgUWDVINDg1mC5oLokeWCq4LIkmyC8I53kuiCt4LpgsaBQYK7grGC3ILFg3SDQINDg4uCqopnkqOCs4LqgUGKZ5KjgrOC6oK9lZSVqoLMg2aBW4Negs2WopLoi2CCxoLIguiC3IK3gUKDZoFbg16C8JJ4iYSWs4KtjYKRrILJj5GCq42egt2CvYKigsaCq4LNgUGXXILfgrGCzIrWkJSCxZVLl3aCyINUg0ODWYLcgsWDdINAg0ODi4FFg1SDQ4NZgvCKZ5KjgrWCxIKogq2CxpfHgqKCxYK1guWCpIFCZl9sc2Vla4rWkJSCqpCzj+2PSZe5grWCvYKggsaCzYFBg3SDQINDg4tSL1eDfINDg5ODXoKqkLOCtYKtiNqTroK1gr2CqWZwdHKC8INgg0aDYoNOgreC6YLXgquCxYK3gUKDdINAg0ODi1IvV4N8g0ODk4NegqqOd5LoguaC6I+sgrOCooLGgquCzYFBjp+CzIy0iPaCqo1sgqaC54LqgtyCt4FCPC9wPg0KPHVsPg0KPGxpPpTxj5GCq42egt2DgoFbg2iCzIK9gt+BQYN0g0CDQ4OLgUWDVINDg1mCxYNOg4qDYoN2grOC6oK9gUI8L2xpPg0KPGxpPoN0g0CDQ4OLimeSo5KGgsmDZoNCg1iDToKqlp6UdILJgsiCwYK9gUI8L2xpPg0KPC91bD4NCjwvZGl2Pg0KDQoNCjxkaXYgY2xhc3M9InBhcmEiPg0KPGg0PpHOiZ6P7pXxPC9oND4NCjxwPjx0dD5fRlNfTUlOSU1JWkUgJmx0OyAzPC90dD6CzILGgquOZ5dwicKUXILFgreBQjwvcD4NCjwvZGl2Pg0KDQoNCjxkaXYgY2xhc3M9InBhcmEiPg0KPGg0Po5nl3CX4TwvaDQ+DQo8cHJlPg0KICAgIC8qIINJg3SDWoNig2c1MDAwgtaI2pOuICovDQogICAgcmVzID0gZl9sc2VlaygmYW1wO2ZpbGUsIDUwMDApOw0KDQogICAgLyogg3SDQINDg4uSx4tMgsyPgJT1ICiDdINAg0ODi49JkluC1ojak64pICovDQogICAgcmVzID0gZl9sc2VlaygmYW1wO2ZpbGUsIGZpbGUuZnNpemUpOw0KDQogICAgLyogMzAwMINvg0ODZ5Bpgt+C6SAqLw0KICAgIHJlcyA9IGZfbHNlZWsoJmFtcDtmaWxlLCBmaWxlLmZwdHIgKyAzMDAwKTsNCg0KICAgIC8qIDIwMDCDb4NDg2eW34K3ICiDSYFbg2+BW4N0g42BW4LJko2I0ykgKi8NCiAgICByZXMgPSBmX2xzZWVrKCZhbXA7ZmlsZSwgZmlsZS5mcHRyIC0gMjAwMCk7DQo8L3ByZT4NCjxwcmU+DQogICAgLyogg06DiYNYg16Q5o1zioSC6JOWgsQgKINYg2eDioFbg36Dk4NPgUWDiYNDg2eOnoLMg2+DYoN0g0CBRYNJgVuDb4Fbg4mDk5Zojn4pICovDQoNCiAgICByZXMgPSBmX29wZW4oJmFtcDtmaWxlLCAicmVjb3JkLndhdiIsIEZBX0NSRUFURV9ORVcgfCBGQV9XUklURSk7IC8qIIN0g0CDQ4OLjeyQrCAqLw0KDQogICAgcmVzID0gZl9sc2VlaygmYW1wO2ZpbGUsIE1BWF9TSVpFKTsgICAgICAgIC8qII9claqCyINOg4mDWINegsyQ5o1zioSC6JOWgsQgKi8NCiAgICBpZiAocmVzIHx8IGZpbGUuZnB0ciAhPSBQUkVfU0laRSkgLi4uLiAvKiCQs4K1gq2DdINAg0ODi4KqimeSo4KzguqCvYKpg2CDRoNig04gKi8NCg0KICAgIHJlcyA9IGZfbHNlZWsoJmFtcDtmaWxlLCBEQVRBX1NUQVJUKTsgICAgICAvKiCDZoFbg16BRYNYg2eDioFbg4CCzItMmF4og0GDjYNQgVuDVoOHg5ODZoNCg4yDQ5azgrUpICovDQogICAgLi4uDQoNCiAgICByZXMgPSBmX3RydW5jYXRlKCZhbXA7ZmlsZSk7ICAgICAgICAgICAgICAvKiCVc5d2l8yI5oLMkNiC6I7MgsQgKi8NCiAgICByZXMgPSBmX2xzZWVrKCZhbXA7ZmlsZSwgMCk7ICAgICAgICAgICAgICAvKiCDd4Nig1+CzItMmF4gKi8NCiAgICAuLi4NCg0KICAgIHJlcyA9IGZfY2xvc2UoJmFtcDtmaWxlKTsNCjwvcHJlPg0KPC9kaXY+DQoNCg0KPGRpdiBjbGFzcz0icGFyYSI+DQo8aDQ+jlGPxjwvaDQ+DQo8cD48dHQ+PGEgaHJlZj0ib3Blbi5odG1sIj5mX29wZW48L2E+LCA8YSBocmVmPSJzZmlsZS5odG1sIj5GSUw8L2E+PC90dD48L3A+DQo8L2Rpdj4NCg0KPHAgY2xhc3M9ImZvb3QiPjxhIGhyZWY9Ii4uLzAwaW5kZXhfai5odG1sIj6W34LpPC9hPjwvcD4NCjwvYm9keT4NCjwvaHRtbD4NCg==