Date: Thu, 08 Jan 2004 18:11:56 +0800 From: "X.F.Deng" <dsnofe@hotmail.com> To: Nate Lawson <nate@root.org> Cc: freebsd-current@freebsd.org Subject: Re: ACPI panic Message-ID: <20040108181141.5082.DSNOFE@hotmail.com> In-Reply-To: <20040107185846.H32803@root.org> References: <20040107151531.161D73B90B@mail.if.lt> <20040107185846.H32803@root.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--------_3FFD2B21507F02BB4B10_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit I have the same box HP NX7000. and the asl is here. maybe it will help you. Sincerely, X.F.Deng ---------------------------------------- MSN Messenger: dsnofe@hotmail.com Yahoo Messager: dsnofe@yahoo.com.cn ---------------------------------------- --------_3FFD2B21507F02BB4B10_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="HP_NX7000.asl" Content-Disposition: attachment; filename="HP_NX7000.asl" Content-Transfer-Encoding: base64 LyoKICBSU0QgUFRSOiBPRU09Q09NUEFRLCBBQ1BJX1Jldj0xLjB4ICgwKQoJUlNEVD0weDFmZmYw Yzg0LCBja3N1bT0xMTQKICovCi8qCiAgUlNEVDogTGVuZ3RoPTQ0LCBSZXZpc2lvbj0xLCBDaGVj a3N1bT0yMDksCglPRU1JRD1IUCwgT0VNIFRhYmxlIElEPUNQUTA4NjAsIE9FTSBSZXZpc2lvbj0w eDMwMDkwMzIwLAoJQ3JlYXRvciBJRD1DUFEsIENyZWF0b3IgUmV2aXNpb249MHgxCglFbnRyaWVz PXsgMHgxZmZmMGMwMCwgMHgxZmZmNWJkNyB9CiAqLwovKgogIEZBRFQ6CUZBQ1M9MHgxZmZmYmU4 MCwgRFNEVD0weDFmZmYwY2IwCglJTlRfTU9ERUw9UElDCglQcmVmZXJyZWRfUE1fUHJvZmlsZT1V bnNwZWNpZmllZCAoMCkKCVNDSV9JTlQ9OQoJU01JX0NNRD0weGIyLCBBQ1BJX0VOQUJMRT0weGYx LCBBQ1BJX0RJU0FCTEU9MHhmMCwgUzRCSU9TX1JFUT0weGYyCglQU1RBVEVfQ05UPTB4ODAKCVBN MWFfRVZUX0JMSz0weDEwMDAtMHgxMDAzCglQTTFhX0NOVF9CTEs9MHgxMDA0LTB4MTAwNQoJUE0y X0NOVF9CTEs9MHgxMDIwLTB4MTAyMAoJUE1fVE1SX0JMSz0weDEwMDgtMHgxMDBiCglHUEUwX0JM Sz0weDEwMjgtMHgxMDJmCglQX0xWTDJfTEFUPTIgdXMsIFBfTFZMM19MQVQ9ODUgdXMKCUZMVVNI X1NJWkU9MCwgRkxVU0hfU1RSSURFPTAKCURVVFlfT0ZGU0VUPTEsIERVVFlfV0lEVEg9MwoJREFZ X0FMUk09MTMsIE1PTl9BTFJNPTAsIENFTlRVUlk9NTAKCUlBUENfQk9PVF9BUkNIPXtMRUdBQ1lf REVWLDgwNDJ9CglGbGFncz17V0JJTlZELFBST0NfQzEsU0xQX0JVVFRPTixSVENfUzR9CiAqLwov KgogIEZBQ1M6CUxlbmd0aD02NCwgSHdTaWc9MHgwMDAwMDAwMCwgRmlybV9XYWtlX1ZlYz0weDAw MDAwMDAwCglHbG9iYWxfTG9jaz0KCUZsYWdzPVM0QklPUwoJVmVyc2lvbj0wCiAqLwovKgogIERT RFQ6IExlbmd0aD0yMDI2MywgUmV2aXNpb249MSwgQ2hlY2tzdW09NjIsCglPRU1JRD1IUCwgT0VN IFRhYmxlIElEPW54NzAwMCwgT0VNIFJldmlzaW9uPTB4MTAwMDAsCglDcmVhdG9yIElEPU1TRlQs IENyZWF0b3IgUmV2aXNpb249MHgxMDAwMDBlCiAqLwovKgogIFNTRFQ6IExlbmd0aD01ODQsIFJl dmlzaW9uPTEsIENoZWNrc3VtPTE2MywKCU9FTUlEPUNPTVBBUSwgT0VNIFRhYmxlIElEPUNQUUd5 c3IsIE9FTSBSZXZpc2lvbj0weDEwMDEsCglDcmVhdG9yIElEPU1TRlQsIENyZWF0b3IgUmV2aXNp b249MHgxMDAwMDBlCiAqLwovKgogKiBJbnRlbCBBQ1BJIENvbXBvbmVudCBBcmNoaXRlY3R1cmUK ICogQU1MIERpc2Fzc2VtYmxlciB2ZXJzaW9uIDIwMDMxMjAzCiAqCiAqIERpc2Fzc2VtYmx5IG9m IC90bXAvYWNwaWR1bXAuNjBjYWlrLCBUaHUgSmFuICA4IDE3OjQ0OjA5IDIwMDQKICovCkRlZmlu aXRpb25CbG9jayAoIkRTRFQuYW1sIiwgIkRTRFQiLCAxLCAiSFAgICAgIiwgIm54NzAwMCIsIDY1 NTM2KQp7CiAgICBQcm9jZXNzb3IgKFxfUFIuQ1BVMCwgMHgwMSwgMHgwMDAwMTAxMCwgMHgwNikK ICAgIHsKICAgICAgICBNZXRob2QgKF9DU1QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLkMwMDAsIDB4MDApKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBSZXR1cm4gKEMwMDEpCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKEMwMDIpCiAgICAgICAgICAg IH0KICAgICAgICB9CiAgICB9CgogICAgTmFtZSAoQzAwMSwgUGFja2FnZSAoMHgwNCkKICAgIHsK ICAgICAgICAweDAzLCAKICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgIHsKICAgICAgICAg ICAgQnVmZmVyICgweDExKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDgyLCAweDBD LCAweDAwLCAweDdGLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzksIAogICAgICAgICAg ICAgICAgMHgwMAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAg ICAweDAxLCAKICAgICAgICAgICAgMHgwM0U4CiAgICAgICAgfSwgCgogICAgICAgIFBhY2thZ2Ug KDB4MDQpCiAgICAgICAgewogICAgICAgICAgICBCdWZmZXIgKDB4MTEpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIDB4ODIsIDB4MEMsIDB4MDAsIDB4MDEsIDB4MDgsIDB4MDAsIDB4MDAs IDB4MTQsIAogICAgICAgICAgICAgICAgMHgxMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHg3OSwgCiAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgIH0sIAoKICAg ICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAweDAxRjQKICAg ICAgICB9LCAKCiAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICB7CiAgICAgICAgICAgIEJ1 ZmZlciAoMHgxMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgMHg4MiwgMHgwQywgMHgw MCwgMHgwMSwgMHgwOCwgMHgwMCwgMHgwMCwgMHgxNSwgCiAgICAgICAgICAgICAgICAweDEwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDc5LCAKICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgMHhC OSwgCiAgICAgICAgICAgIDB4RkEKICAgICAgICB9CiAgICB9KQogICAgTmFtZSAoQzAwMiwgUGFj a2FnZSAoMHgwMykKICAgIHsKICAgICAgICAweDAyLCAKICAgICAgICBQYWNrYWdlICgweDA0KQog ICAgICAgIHsKICAgICAgICAgICAgQnVmZmVyICgweDExKQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweDgyLCAweDBDLCAweDAwLCAweDdGLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAK ICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IDB4NzksIAogICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAg IDB4MDEsIAogICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgMHgwM0U4CiAgICAgICAgfSwg CgogICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgewogICAgICAgICAgICBCdWZmZXIgKDB4 MTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4ODIsIDB4MEMsIDB4MDAsIDB4MDEs IDB4MDgsIDB4MDAsIDB4MDAsIDB4MTQsIAogICAgICAgICAgICAgICAgMHgxMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHg3OSwgCiAgICAgICAgICAgICAgICAweDAwCiAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgIDB4MDIsIAogICAg ICAgICAgICAweDAxRjQKICAgICAgICB9CiAgICB9KQogICAgTmFtZSAoXEMwMDMsIFBhY2thZ2Ug KDB4MTApCiAgICB7CiAgICAgICAgIjAiLCAKICAgICAgICAiMSIsIAogICAgICAgICIyIiwgCiAg ICAgICAgIjMiLCAKICAgICAgICAiNCIsIAogICAgICAgICI1IiwgCiAgICAgICAgIjYiLCAKICAg ICAgICAiNyIsIAogICAgICAgICI4IiwgCiAgICAgICAgIjkiLCAKICAgICAgICAiQSIsIAogICAg ICAgICJCIiwgCiAgICAgICAgIkMiLCAKICAgICAgICAiRCIsIAogICAgICAgICJFIiwgCiAgICAg ICAgIkYiCiAgICB9KQogICAgTWV0aG9kIChcQzAwNCwgMiwgTm90U2VyaWFsaXplZCkKICAgIHsK ICAgICAgICBTdG9yZSAoQXJnMCwgTG9jYWwwKQogICAgICAgIFN0b3JlICgiIiwgTG9jYWw3KQog ICAgICAgIFN0b3JlIChBcmcxLCBMb2NhbDQpCiAgICAgICAgV2hpbGUgKExHcmVhdGVyIChMb2Nh bDQsIDB4MDApKQogICAgICAgIHsKICAgICAgICAgICAgQW5kIChMb2NhbDAsIDB4MEYsIExvY2Fs MSkKICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChcQzAwMywgTG9jYWwxKSksIExv Y2FsMikKICAgICAgICAgICAgQ29uY2F0ZW5hdGUgKExvY2FsMiwgTG9jYWw3LCBMb2NhbDMpCiAg ICAgICAgICAgIFN0b3JlIChMb2NhbDMsIExvY2FsNykKICAgICAgICAgICAgU2hpZnRSaWdodCAo TG9jYWwwLCAweDA0LCBMb2NhbDApCiAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWw0KQogICAg ICAgIH0KCiAgICAgICAgUmV0dXJuIChMb2NhbDcpCiAgICB9CgogICAgTWV0aG9kIChcQzAwNSwg MiwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBTdG9yZSAoU2l6ZU9mIChBcmcwKSwgTG9j YWw3KQogICAgICAgIElmIChMTm90IChMRXF1YWwgKExvY2FsNywgU2l6ZU9mIChBcmcxKSkpKQog ICAgICAgIHsKICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgIH0KCiAgICAgICAgTmFt ZSAoQzAwNiwgQnVmZmVyIChMb2NhbDcpIHt9KQogICAgICAgIE5hbWUgKEMwMDcsIEJ1ZmZlciAo TG9jYWw3KSB7fSkKICAgICAgICBTdG9yZSAoQXJnMCwgQzAwNikKICAgICAgICBTdG9yZSAoQXJn MSwgQzAwNykKICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWw2KQogICAgICAgIFN0b3JlICgweDAx LCBMb2NhbDApCiAgICAgICAgV2hpbGUgKExBbmQgKExOb3QgKExFcXVhbCAoTG9jYWw2LCBMb2Nh bDcpKSwgTG9jYWwwKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRl eCAoQzAwNiwgTG9jYWw2KSksIExvY2FsMikKICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKElu ZGV4IChDMDA3LCBMb2NhbDYpKSwgTG9jYWwzKQogICAgICAgICAgICBJbmNyZW1lbnQgKExvY2Fs NikKICAgICAgICAgICAgSWYgKExOb3QgKExFcXVhbCAoTG9jYWwyLCBMb2NhbDMpKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMCkKICAgICAgICAgICAg fQogICAgICAgIH0KCiAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICB9CgogICAgTmFtZSAoQzAw OCwgMHhGRkZGRkZGRCkKICAgIE5hbWUgKEMwMDksIFBhY2thZ2UgKDB4MDMpCiAgICB7CiAgICAg ICAgIk1pY3Jvc29mdCBXaW5kb3dzIiwgCiAgICAgICAgIk1pY3Jvc29mdCBXaW5kb3dzTUU6IE1p bGxlbm5pdW0gRWRpdGlvbiIsIAogICAgICAgICJNaWNyb3NvZnQgV2luZG93cyBOVCIKICAgIH0p CiAgICBNZXRob2QgKEMwMEEsIDAsIFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgSWYgKExFcXVh bCAoQzAwOCwgMHhGRkZGRkZGRCkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoXF9PUywg TG9jYWwwKQogICAgICAgICAgICBTdG9yZSAoU2l6ZU9mIChDMDA5KSwgTG9jYWw3KQogICAgICAg ICAgICBTdG9yZSAoMHgwMCwgTG9jYWwxKQogICAgICAgICAgICBXaGlsZSAoTEFuZCAoTExlc3Mg KExvY2FsMSwgTG9jYWw3KSwgTEVxdWFsIChDMDA4LCAweEZGRkZGRkZEKSkpCiAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgIFN0b3JlIChcQzAwNSAoTG9jYWwwLCBEZXJlZk9mIChJbmRleCAo QzAwOSwgTG9jYWwxKSkpLCBMb2NhbDIpCiAgICAgICAgICAgICAgICBJZiAoTG9jYWwyKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFkZCAoTG9jYWwxLCAweDAxLCBDMDA4 KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwxKQogICAgICAgICAgICAgICAg fQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEVxdWFsIChDMDA4LCAweEZGRkZGRkZE KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMwMDgpCiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIElmIChMT3IgKExFcXVhbCAoQzAwOCwgMHgwMCksIExFcXVh bCAoQzAwOCwgMHgwMykpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoQ29uZFJl Zk9mIChcX09TSSwgTG9jYWwwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBJZiAoXF9PU0kgKCJXaW5kb3dzIDIwMDEiKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA0LCBDMDA4KQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgU3RvcmUgKEMw MDgsIFxfU0IuQzAwQSkKICAgICAgICB9CgogICAgICAgIFJldHVybiAoQzAwOCkKICAgIH0KCiAg ICBNZXRob2QgKFxfU0IuX0lOSSwgMCwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBcQzAw QSAoKQogICAgfQoKICAgIE1ldGhvZCAoQzAwQiwgMiwgU2VyaWFsaXplZCkKICAgIHsKICAgICAg ICBTdG9yZSAoU2l6ZU9mIChBcmcwKSwgTG9jYWw2KQogICAgICAgIFN0b3JlIChTaXplT2YgKEFy ZzEpLCBMb2NhbDcpCiAgICAgICAgSWYgKExFcXVhbCAoTG9jYWw2LCAweDAwKSkKICAgICAgICB7 CiAgICAgICAgICAgIFN0b3JlIChBcmcxLCBMb2NhbDApCiAgICAgICAgICAgIFJldHVybiAoTG9j YWwwKQogICAgICAgIH0KCiAgICAgICAgSWYgKExFcXVhbCAoTG9jYWw3LCAweDAwKSkKICAgICAg ICB7CiAgICAgICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDApCiAgICAgICAgICAgIFJldHVybiAo TG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgQWRkIChMb2NhbDcsIExvY2FsNiwgTG9jYWwxKQog ICAgICAgIFN1YnRyYWN0IChMb2NhbDEsIDB4MDIsIExvY2FsMSkKICAgICAgICBTdG9yZSAoQnVm ZmVyIChMb2NhbDEpIHt9LCBMb2NhbDApCiAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMSkKICAg ICAgICBXaGlsZSAoTExlc3MgKExvY2FsMSwgU2l6ZU9mIChBcmcwKSkpCiAgICAgICAgewogICAg ICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEFyZzAsIExvY2FsMSkpLCBJbmRleCAoTG9j YWwwLCBMb2NhbDEpKQogICAgICAgICAgICBJbmNyZW1lbnQgKExvY2FsMSkKICAgICAgICB9Cgog ICAgICAgIFN1YnRyYWN0IChMb2NhbDEsIDB4MDIsIExvY2FsMSkKICAgICAgICBTdG9yZSAoMHgw MCwgTG9jYWwyKQogICAgICAgIFdoaWxlIChMTGVzcyAoTG9jYWwyLCBTaXplT2YgKEFyZzEpKSkK ICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoQXJnMSwgTG9jYWwy KSksIEluZGV4IChMb2NhbDAsIExvY2FsMSkpCiAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwx KQogICAgICAgICAgICBJbmNyZW1lbnQgKExvY2FsMikKICAgICAgICB9CgogICAgICAgIFJldHVy biAoTG9jYWwwKQogICAgfQoKICAgIFNjb3BlIChcX1NCKQogICAgewogICAgICAgIERldmljZSAo QzAwQykKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDEi KSkKICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBOYW1lIChDMDBELCBCdWZmZXIgKDB4MjYpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHg4NiwgMHgwOSwgMHgwMCwgMHgwMSwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwQSwg MHgwMCwgMHg4NiwgMHgwOSwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMCwg MHgwMCwgMHgwRiwgMHgwMCwgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgMHg4NiwgMHgwOSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgxMCwgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHhGMCwgMHgwMCwgMHg3OSwgMHgwMAogICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEMwMEQsIDB4 MjAsIEMwMTApCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChDMDBELCAweDFDLCBD MDExKQogICAgICAgICAgICAgICAgU3VidHJhY3QgKFxfU0IuQzAxMiAoKSwgQzAxMSwgQzAxMCkK ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEMwMEQsIDB4MTQsIEMwMTMpCiAgICAg ICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChDMDBELCAweDEwLCBDMDE0KQogICAgICAgICAg ICAgICAgU3RvcmUgKFNoaWZ0TGVmdCAoXF9TQi5DMDE1LCAweDA0KSwgQzAxNCkKICAgICAgICAg ICAgICAgIFN1YnRyYWN0IChDMDExLCBDMDE0LCBDMDEzKQogICAgICAgICAgICAgICAgUmV0dXJu IChDMDBEKQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEMwMTIsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoQzAxNiwgTG9jYWww KQogICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAo QzAxNywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChDMDE4 LCBMb2NhbDApCiAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAg TWV0aG9kIChDMDE5LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQWRk IChDMDE3ICgpLCAweDAwMDJCRUMwLCBMb2NhbDApCiAgICAgICAgICAgIFJldHVybiAoTG9jYWww KQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChDMDFBLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgIHsKICAgICAgICAgICAgQWRkIChDMDE3ICgpLCAweDAwMDIwMDAwLCBMb2NhbDApCiAgICAg ICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9u IChDMDFCLCBTeXN0ZW1NZW1vcnksIDB4MDAwRjgwMDAsIDB4MkMpCiAgICAgICAgRmllbGQgKEMw MUIsIFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAgICAgICBDMDFD LCAgIDE2LCAKICAgICAgICAgICAgT2Zmc2V0ICgweDA4KSwgCiAgICAgICAgICAgIEMwMUQsICAg MTYsIAogICAgICAgICAgICBPZmZzZXQgKDB4MEUpLCAKICAgICAgICAgICAgQzAxOCwgICAzMgog ICAgICAgIH0KCiAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChDMDFFLCBTeXN0ZW1NZW1vcnksIEMw MUEsIDB4MDMwMCkKICAgICAgICBGaWVsZCAoQzAxRSwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgICAgIHsKICAgICAgICAgICAgQzAxRiwgICA2MTQ0CiAgICAgICAgfQoKICAgICAgICBP cGVyYXRpb25SZWdpb24gKEMwMjAsIFN5c3RlbU1lbW9yeSwgQzAxOSwgMHgwMTQwKQogICAgICAg IEZpZWxkIChDMDIwLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgewogICAgICAg ICAgICBDMDIxLCAgIDMyLCAKICAgICAgICAgICAgQzAyMiwgICA0LCAKICAgICAgICAgICAgQzAy MywgICAxLCAKICAgICAgICAgICAgQzAwQSwgICA0LCAKICAgICAgICAgICAgQzAyNCwgICA1LCAK ICAgICAgICAgICAgQzAyNSwgICAxLCAKICAgICAgICAgICAgQzAyNiwgICAxLCAKICAgICAgICAg ICAgQzAyNywgICAyLCAKICAgICAgICAgICAgQzAwMCwgICAxLCAKICAgICAgICAgICAgQzAyOCwg ICAxLCAKICAgICAgICAgICAgQzAyOSwgICAxLCAKICAgICAgICAgICAgQzAyQSwgICAxMSwgCiAg ICAgICAgICAgIEMwMkIsICAgMzIsIAogICAgICAgICAgICBDMDE1LCAgIDE2LCAKICAgICAgICAg ICAgQzAyQywgICAxNiwgCiAgICAgICAgICAgIEMwMkQsICAgMTYsIAogICAgICAgICAgICBDMDJF LCAgIDE2LCAKICAgICAgICAgICAgQzAyRiwgICAxNiwgCiAgICAgICAgICAgIEMwMzAsICAgMTYs IAogICAgICAgICAgICBDMDMxLCAgIDE2LCAKICAgICAgICAgICAgQzAxNiwgICAzMiwgCiAgICAg ICAgICAgIEMwMzIsICAgOCwgCiAgICAgICAgICAgIEMwMzMsICAgOCwgCiAgICAgICAgICAgIEMw MzQsICAgOCwgCiAgICAgICAgICAgIEMwMzUsICAgOCwgCiAgICAgICAgICAgIEMwMzYsICAgOCwg CiAgICAgICAgICAgIEMwMzcsICAgOCwgCiAgICAgICAgICAgIE9mZnNldCAoMHg2OCksIAogICAg ICAgICAgICBDMDM4LCAgIDMyLCAKICAgICAgICAgICAgQzAzOSwgICAzMiwgCiAgICAgICAgICAg IEMwM0EsICAgMzIsIAogICAgICAgICAgICBDMDNCLCAgIDMyLCAKICAgICAgICAgICAgT2Zmc2V0 ICgweDhDKSwgCiAgICAgICAgICAgIEMwM0MsICAgMzIKICAgICAgICB9CgogICAgICAgIE1ldGhv ZCAoQzAzRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIEFkZCAoQzAx QywgMHgwMDBGMDAwMCwgTG9jYWwwKQogICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAg ICB9CgogICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQzAzRSwgU3lzdGVtTWVtb3J5LCBDMDNELCAw eDA2KQogICAgICAgIEZpZWxkIChDMDNFLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAg ICAgewogICAgICAgICAgICBDMDNGLCAgIDgsIAogICAgICAgICAgICBDMDQwLCAgIDgsIAogICAg ICAgICAgICBDMDQxLCAgIDgsIAogICAgICAgICAgICBDMDQyLCAgIDgsIAogICAgICAgICAgICBD MDQzLCAgIDgsIAogICAgICAgICAgICBDMDQ0LCAgIDgKICAgICAgICB9CgogICAgICAgIE1ldGhv ZCAoQzA0NSwgMiwgU2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChBcmcw LCBMb2NhbDApCiAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwMSkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLkMwMkIsIExvY2FsMSkKICAgICAgICAg ICAgICAgIE9yIChMb2NhbDEsIEFyZzEsIExvY2FsMSkKICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDEsIFxfU0IuQzAyQikKICAgICAgICAgICAgfQogICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLkMwMkIsIExvY2FsMSkKICAgICAgICAg ICAgICAgIE5vdCAoQXJnMSwgTG9jYWwyKQogICAgICAgICAgICAgICAgQW5kIChMb2NhbDEsIExv Y2FsMiwgTG9jYWwxKQogICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgXF9TQi5DMDJCKQog ICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBEZXZpY2UgKEMwNDYpCiAgICAgICAgewog ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQTAzIikpCiAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDApCiAgICAgICAgICAgIERldmljZSAoQzA0NykKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDAxMDAwMCkKICAgICAgICAgICAgfQoKICAg ICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChDMDQ4LCBQQ0lfQ29uZmlnLCAweDkxLCAweDA2KQog ICAgICAgICAgICBGaWVsZCAoQzA0OCwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBDMDQ5LCAgIDQ4CiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIEFsaWFzIChDMDQ5LCBcX1NCLkMwNDkpCiAgICAgICAgICAgIFNjb3BlIChcX1NCKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChDMDRBLCBQYWNrYWdlICgweDBDKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4NDAwMCwgCiAgICAgICAgICAgICAg ICAgICAgMHg0MDAwLCAKICAgICAgICAgICAgICAgICAgICAweDQwMDAsIAogICAgICAgICAgICAg ICAgICAgIDB4NDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHg0MDAwLCAKICAgICAgICAgICAg ICAgICAgICAweDQwMDAsIAogICAgICAgICAgICAgICAgICAgIDB4NDAwMCwgCiAgICAgICAgICAg ICAgICAgICAgMHg0MDAwLCAKICAgICAgICAgICAgICAgICAgICAweDQwMDAsIAogICAgICAgICAg ICAgICAgICAgIDB4NDAwMCwgCiAgICAgICAgICAgICAgICAgICAgMHg0MDAwLCAKICAgICAgICAg ICAgICAgICAgICAweDQwMDAKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBNZXRo b2QgKEMwNEIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgQWNxdWlyZSAoQzA0QywgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEMwNEQsIDB4RkZGRkZGRkQpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKExvY2FsMCwgQzA0RCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExv Y2FsMCwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzA0OSwgTG9jYWw1 KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKExvY2FsNSwg TG9jYWwwKSksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAwQzAw MDAsIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNoaWZ0TGVmdCAoQzAx NSwgMHgwNCksIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExBbmQgKExO b3QgKExHcmVhdGVyIChMb2NhbDQsIExvY2FsMykpLCBMTGVzcyAoQzA0RCwgMHgwNikpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChBbmQgKExvY2FsMSwgMHgwMyksIDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMiwg MHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWw0LCBJbmRleCAoQzA0RSwgQzA0RCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMSwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMb2NhbDIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdWJ0cmFjdCAoTG9jYWw0LCAweDAxLCBJbmRleCAoQzA0RiwgQzA0RCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoQzA0RCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChMb2NhbDQsIExvY2FsMykpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QWRkIChMb2NhbDQsIERlcmVmT2YgKEluZGV4IChDMDRBLCBMb2NhbDApKSwgTG9jYWw0KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKExvY2FsMSwgMHgwNCwgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsMCwgMHgw MSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKExvY2FsNCwgTG9jYWwzKSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRSaWdodCAoTG9jYWwwLCAweDAxLCBMb2NhbDYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKExvY2FsNikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoTG9jYWw1 LCBMb2NhbDYpKSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAo TG9jYWw0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChDMDRDKQog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9JTkks IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEMwNEIgKCkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgTmFtZSAoQzA1MCwgQnVmZmVyICgweDg4KQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAweDg4LCAweDBELCAweDAwLCAweDAyLCAweDBELCAw eDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4RkYsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDEsIAogICAgICAgICAgICAgICAgMHg0NywgMHgwMSwgMHhG OCwgMHgwQywgMHhGOCwgMHgwQywgMHgwMSwgMHgwOCwgCiAgICAgICAgICAgICAgICAweDg4LCAw eDBELCAweDAwLCAweDAxLCAweDBDLCAweDAzLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAg IDB4MDAsIDB4MDAsIDB4RjcsIDB4MEMsIDB4MDAsIDB4MDAsIDB4RjgsIDB4MEMsIAogICAgICAg ICAgICAgICAgMHg4OCwgMHgwRCwgMHgwMCwgMHgwMSwgMHgwQywgMHgwMywgMHgwMCwgMHgwMCwg CiAgICAgICAgICAgICAgICAweDAwLCAweDBELCAweEZGLCAweEZGLCAweDAwLCAweDAwLCAweDAw LCAweEYzLCAKICAgICAgICAgICAgICAgIDB4ODcsIDB4MTcsIDB4MDAsIDB4MDAsIDB4MEMsIDB4 MDMsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwQSwgMHgwMCwgMHhGRiwgMHhGRiwgCiAgICAgICAgICAgICAgICAweDBCLCAweDAwLCAweDAw LCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgIDB4MDIsIDB4 MDAsIDB4ODcsIDB4MTcsIDB4MDAsIDB4MDAsIDB4MEMsIDB4MDMsIAogICAgICAgICAgICAgICAg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAg ICAgICAgICAweEZGLCAweDBGLCAweEMwLCAweEZFLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAK ICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4ODcsIDB4MTcsIDB4MDAs IDB4MDAsIAogICAgICAgICAgICAgICAgMHgwQywgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgyMCwgCiAgICAgICAgICAgICAgICAweEMwLCAweEZFLCAweEZGLCAweEZGLCAw eEZGLCAweEZGLCAweDAwLCAweDAwLCAKICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4RkYs IDB4REYsIDB4M0YsIDB4MDEsIDB4NzksIDB4MDAKICAgICAgICAgICAgfSkKICAgICAgICAgICAg U2NvcGUgKFxfU0IpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKEMwNEUsIFBh Y2thZ2UgKDB4MDcpIHt9KQogICAgICAgICAgICAgICAgTmFtZSAoQzA0RiwgUGFja2FnZSAoMHgw Nykge30pCiAgICAgICAgICAgICAgICBOYW1lIChDMDRELCAweEZGRkZGRkZEKQogICAgICAgICAg ICAgICAgTXV0ZXggKEMwNEMsIDB4MDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhv ZCAoQzA1MiwgNCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg U3RvcmUgKEFyZzEsIExvY2FsMikKICAgICAgICAgICAgICAgIFN0b3JlIChBcmczLCBMb2NhbDQp CiAgICAgICAgICAgICAgICBBZGQgKExvY2FsNCwgMHgxQSwgTG9jYWw1KQogICAgICAgICAgICAg ICAgV2hpbGUgKExMZXNzIChMb2NhbDQsIExvY2FsNSkpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChDMDUwLCBMb2NhbDQpKSwgSW5k ZXggKEFyZzAsIExvY2FsMikpCiAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDQp CiAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDIpCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIExvY2FsMikKICAgICAgICAgICAgICAgIEFk ZCAoTG9jYWwyLCAweDBBLCBMb2NhbDIpCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxk IChBcmcwLCBMb2NhbDIsIEMwNTMpCiAgICAgICAgICAgICAgICBBZGQgKExvY2FsMiwgMHgwNCwg TG9jYWwyKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgTG9jYWwyLCBD MDU0KQogICAgICAgICAgICAgICAgQWRkIChMb2NhbDIsIDB4MDgsIExvY2FsMikKICAgICAgICAg ICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIExvY2FsMiwgQzA1NSkKICAgICAgICAgICAg ICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoQzA0RSwgQXJnMikpLCBDMDUzKQogICAgICAgICAg ICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChDMDRGLCBBcmcyKSksIEMwNTQpCiAgICAgICAg ICAgICAgICBTdWJ0cmFjdCAoQzA1NCwgQzA1MywgTG9jYWwzKQogICAgICAgICAgICAgICAgQWRk IChMb2NhbDMsIDB4MDEsIEMwNTUpCiAgICAgICAgICAgICAgICBBZGQgKExvY2FsMiwgMHgwNCwg TG9jYWwyKQogICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDIpCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIE1ldGhvZCAoQzA1NiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgQWNxdWlyZSAoQzA0QywgMHhGRkZGKQogICAgICAgICAgICAgICAgTXVs dGlwbHkgKEMwNEQsIDB4MUEsIExvY2FsMSkKICAgICAgICAgICAgICAgIEFkZCAoU2l6ZU9mIChD MDUwKSwgTG9jYWwxLCBMb2NhbDIpCiAgICAgICAgICAgICAgICBTdG9yZSAoQnVmZmVyIChMb2Nh bDIpIHt9LCBMb2NhbDApCiAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwxKQogICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMikKICAgICAgICAgICAgICAgIFdoaWxlIChM TGVzcyAoTG9jYWwxLCBTaXplT2YgKEMwNTApKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEMwNTAsIExvY2FsMSkpLCBJbmRleCAo TG9jYWwwLCBMb2NhbDIpKQogICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwyKQog ICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwxKQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDEpCiAgICAgICAgICAgICAgICBTdWJ0 cmFjdCAoTG9jYWwyLCAweDAyLCBMb2NhbDIpCiAgICAgICAgICAgICAgICBTdWJ0cmFjdCAoTG9j YWwyLCAweDFBLCBMb2NhbDMpCiAgICAgICAgICAgICAgICBXaGlsZSAoTExlc3MgKExvY2FsMSwg QzA0RCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwNTIg KExvY2FsMCwgTG9jYWwyLCBMb2NhbDEsIExvY2FsMyksIExvY2FsMikKICAgICAgICAgICAgICAg ICAgICBJbmNyZW1lbnQgKExvY2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBDcmVhdGVXb3JkRmllbGQgKExvY2FsMCwgTG9jYWwyLCBDMDU3KQogICAgICAgICAgICAgICAg U3RvcmUgKDB4NzksIEMwNTcpCiAgICAgICAgICAgICAgICBSZWxlYXNlIChDMDRDKQogICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoQzA1MCwgMHg1QywgQzA1MykKICAgICAgICAgICAgICAgIENyZWF0 ZURXb3JkRmllbGQgKEMwNTAsIDB4NjgsIEMwNTUpCiAgICAgICAgICAgICAgICBDcmVhdGVEV29y ZEZpZWxkIChDMDUwLCAweDYwLCBDMDU0KQogICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuQzAx MiAoKSwgTG9jYWwxKQogICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMSwgQzA1MykKICAgICAg ICAgICAgICAgIFN1YnRyYWN0IChDMDU0LCBMb2NhbDEsIExvY2FsMSkKICAgICAgICAgICAgICAg IEFkZCAoTG9jYWwxLCAweDAxLCBDMDU1KQogICAgICAgICAgICAgICAgU3RvcmUgKEMwNTYgKCks IExvY2FsMikKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwyKQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBOYW1lIChfUzNELCAweDAyKQogICAgICAgICAgICBOYW1lIChfUzRELCAweDAz KQogICAgICAgICAgICBEZXZpY2UgKEMwNTgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IE5hbWUgKF9BRFIsIDB4MDAxRTAwMDApCiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNr YWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MEIsIAog ICAgICAgICAgICAgICAgICAgIDB4MDUKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIERldmljZSAoQzA1OSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg TmFtZSAoX0FEUiwgMHgwMDFGMDAwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAo QzA1QSwgUENJX0NvbmZpZywgMHg2MCwgMHhBMCkKICAgICAgICAgICAgICAgIEZpZWxkIChDMDVB LCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgQzA1QiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBDMDVDLCAgIDgsIAogICAg ICAgICAgICAgICAgICAgIEMwNUQsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgQzA1RSwgICA4 LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDgpLCAKICAgICAgICAgICAgICAgICAg ICBDMDVGLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEMwNjAsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgQzA2MSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBDMDYyLCAgIDgsIAogICAg ICAgICAgICAgICAgICAgIE9mZnNldCAoMHgzMCksIAogICAgICAgICAgICAgICAgICAgIEMwNjMs ICAgMTYsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg0MCksIAogICAgICAgICAgICAg ICAgICAgICAgICAsICAgNywgCiAgICAgICAgICAgICAgICAgICAgQzA2NCwgICAxLCAKICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4NTgpLCAKICAgICAgICAgICAgICAgICAgICBDMDY1LCAg IDMyLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NjApLCAKICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDQsIAogICAgICAgICAgICAgICAgICAgIEMwNjYsICAgNCwgCiAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDY0KSwgCiAgICAgICAgICAgICAgICAgICAgQzA2NywgICA2 NCwgCiAgICAgICAgICAgICAgICAgICAgQzA2OCwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDgwKSwgCiAgICAgICAgICAgICAgICAgICAgQzA2OSwgICAzLCAKICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEMwNkEsICAgMywgCiAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDgxKSwgCiAgICAgICAgICAgICAgICAgICAgQzA2 QiwgICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAg ICAgIEMwNkMsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDg0KSwgCiAgICAg ICAgICAgICAgICAgICAgQzA2RCwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgQzA2RSwgICAx LCAKICAgICAgICAgICAgICAgICAgICBDMDZGLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEMw NzAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQzA3MSwgICAxCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChDMDcyLCBTeXN0ZW1JTywgMHhCMiwg MHgwMSkKICAgICAgICAgICAgICAgIEZpZWxkIChDMDcyLCBBbnlBY2MsIE5vTG9jaywgUHJlc2Vy dmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQzA3MywgICA4CiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChDMDc0LCBTeXN0 ZW1JTywgMHgxMDAwLCAweDNDKQogICAgICAgICAgICAgICAgRmllbGQgKEMwNzQsIEFueUFjYywg Tm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MkEpLCAKICAgICAgICAgICAgICAgICAgICBDMDc1LCAgIDE2LCAKICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIEMwNzYsICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDMwKSwgCiAgICAgICAgICAgICAgICAgICAgQzA3 NywgICAxLCAKICAgICAgICAgICAgICAgICAgICBDMDc4LCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgQzA3OSwgICAxLCAKICAgICAgICAg ICAgICAgICAgICBPZmZzZXQgKDB4MzQpLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDUs IAogICAgICAgICAgICAgICAgICAgIEMwN0EsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDNBKSwgCiAgICAgICAgICAgICAgICAgICAgQzA3QiwgICAxNgogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQzA3QywgU3lzdGVtSU8sIDB4 MTA2MCwgMHgxMSkKICAgICAgICAgICAgICAgIEZpZWxkIChDMDdDLCBCeXRlQWNjLCBOb0xvY2ss IFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEMwN0QsICAg OCwgCiAgICAgICAgICAgICAgICAgICAgQzA3RSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4MDQpLCAKICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAg ICAgICAgICAgIEMwN0YsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDA2KSwg CiAgICAgICAgICAgICAgICAgICAgICAgICwgICAxLCAKICAgICAgICAgICAgICAgICAgICBDMDgw LCAgIDEsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCksIAogICAgICAgICAgICAg ICAgICAgICAgICAsICAgMTEsIAogICAgICAgICAgICAgICAgICAgIEMwODEsICAgMQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQzA4MiwgU3lzdGVt TWVtb3J5LCAweEZGQkMwMTAwLCAweDAxKQogICAgICAgICAgICAgICAgRmllbGQgKEMwODIsIEJ5 dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgQzA4MywgICA1CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgT3BlcmF0 aW9uUmVnaW9uIChDMDg0LCBTeXN0ZW1JTywgMHgxMTAwLCAweDNDKQogICAgICAgICAgICAgICAg RmllbGQgKEMwODQsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICAgICAgICAgICAgICBD MDg1LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MkMpLCAKICAgICAgICAg ICAgICAgICAgICBDMDg2LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4Mzgp LCAKICAgICAgICAgICAgICAgICAgICBDMDg3LCAgIDE2CiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChDMDg4LCBTeXN0ZW1JTywgMHgxMjAwLCAweDA2 KQogICAgICAgICAgICAgICAgRmllbGQgKEMwODgsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQzA4OSwgICA4LCAKICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MDIpLCAKICAgICAgICAgICAgICAgICAgICBDMDhBLCAg IDgsIAogICAgICAgICAgICAgICAgICAgIEMwOEIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg QzA4QywgICA4LCAKICAgICAgICAgICAgICAgICAgICBDMDhELCAgIDgKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEMwOEUsIDMsIFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoXF9HTCwgMHhGRkZGKQogICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4RkEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTEFuZCAoQW5k IChDMDg5LCAweDAxKSwgTEdyZWF0ZXIgKExvY2FsMCwgMHgwMCkpKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RhbGwgKDB4NjQpCiAgICAgICAgICAgICAg ICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBDMDhCKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQXJnMCwgQzA4QykKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo QW5kIChBcmcwLCAweDAxKSwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBDMDhEKQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRiwgQzA4OSkKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NDgsIEMwOEEpCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweEZBLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxl IChMQW5kIChMRXF1YWwgKEFuZCAoQzA4OSwgMHgxRSksIDB4MDApLCBMR3JlYXRlciAoTG9jYWww LCAweDAwKSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0YWxsICgweDY0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50 IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIEFuZCAoQzA4OSwgMHgxQywgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHhGRiwgQzA4OSkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExFcXVhbCAo TG9jYWwxLCAweDAwKSwgQW5kIChBcmcwLCAweDAxKSkpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMDhELCBMb2NhbDIpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDEsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFJlbGVhc2UgKFxfR0wpCiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMCwg MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTaGlm dExlZnQgKExvY2FsMSwgMHgwOCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICBPciAo TG9jYWwzLCBMb2NhbDIsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoTG9jYWwxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE1ldGhvZCAoQzA4RiwgMiwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBJZiAoQW5kIChBcmcwLCAweEVGKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoQXJnMCwgTG9jYWw0KQog ICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsNCkKICAgICAgICAgICAgICAg ICAgICAgICAgTXVsdGlwbHkgKExvY2FsNCwgMHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgICAgICBTaGlmdExlZnQgKDB4MDMsIExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICAgICAg ICAgICAgICBTaGlmdExlZnQgKEFyZzEsIExvY2FsMCwgTG9jYWwyKQogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQzA2MywgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICBBbmQg KExvY2FsMywgTm90IChMb2NhbDEpLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgIE9y IChMb2NhbDMsIExvY2FsMiwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo TG9jYWwzLCBDMDYzKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBOYW1lIChDMDkwLCBQYWNrYWdlICgweDA4KQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIDB4MDNGOCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMkY4 LCAKICAgICAgICAgICAgICAgICAgICAweDAyMjAsIAogICAgICAgICAgICAgICAgICAgIDB4MDIy OCwgCiAgICAgICAgICAgICAgICAgICAgMHgwMjM4LCAKICAgICAgICAgICAgICAgICAgICAweDAy RTgsIAogICAgICAgICAgICAgICAgICAgIDB4MDMzOCwgCiAgICAgICAgICAgICAgICAgICAgMHgw M0U4CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoQzA5MSwgUGFja2Fn ZSAoMHgwMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAzNzgsIAog ICAgICAgICAgICAgICAgICAgIDB4MDI3OCwgCiAgICAgICAgICAgICAgICAgICAgMHgwM0JDCiAg ICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTWV0aG9kIChDMDkyLCAzLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAw LCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE1hdGNoIChBcmcwLCBNRVEsIEFy ZzEsIE1UUiwgMHgwMCwgMHgwMCksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBJZiAoTE5v dCAoTEVxdWFsIChMb2NhbDAsIE9uZXMpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBBcmcyLCBMb2NhbDEpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMSkKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEMwOTMsIDMsIFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwNjcsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKExvY2FsMCwgTXVsdGlwbHkg KEFyZzAsIDB4MDIpLCBDMDk0KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBDMDk0 KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIEMwNjcpCiAgICAgICAgICAgICAg ICAgICAgTXVsdGlwbHkgKEFyZzAsIDB4MDQsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBT aGlmdExlZnQgKEFyZzIsIExvY2FsMSwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoMHgwRiwgTG9jYWwxLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgQW5kIChDMDY4 LCBOb3QgKExvY2FsMyksIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWw0LCBM b2NhbDIsIEMwNjgpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChD MDk1LCAzLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IElmIChBcmcxKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAs IExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMykKICAg ICAgICAgICAgICAgICAgICAgICAgQW5kIChDMDY2LCAweDBGLCBMb2NhbDIpCiAgICAgICAgICAg ICAgICAgICAgICAgIFdoaWxlIChMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsMiwgMHgwMSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVs dGlwbHkgKExvY2FsMywgMHgwMiwgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChDMDY3LCBMb2NhbDYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKERlcmVmT2YgKEluZGV4IChMb2NhbDYsIExvY2FsNSkpLCBMb2NhbDQpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFNoaWZ0TGVmdCAoRGVyZWZPZiAoSW5kZXggKExv Y2FsNiwgQWRkIChMb2NhbDUsIDB4MDEpKSksIDB4MDgpLCBMb2NhbDQsIExvY2FsNCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCBMb2NhbDQpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNo aWZ0TGVmdCAoMHgwMSwgTG9jYWwzLCBMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBbmQgKEMwNjYsIE5vdCAoTG9jYWw1KSwgQzA2NikKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMwOTMgKExvY2FsMywgMHgwMCwgMHgwMCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQWRkIChMb2NhbDMsIDB4MDEsIExvY2FsMSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKEFyZzAsIExFcXVhbCAoTG9j YWwwLCAweDAwKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgKExvY2FsMywgMHgwMSwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChMb2NhbDIsIDB4MDEs IExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwzKQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFu ZCAoQXJnMCwgTEVxdWFsIChMb2NhbDEsIDB4MDApKSkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBZGQgKExvY2FsMywgMHgwMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChMb2NhbDAsIDB4MDQpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMw OTMgKExvY2FsMCwgQXJnMSwgQXJnMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoQzA2NiwgU2hpZnRMZWZ0ICgweDAxLCBMb2NhbDApLCBDMDY2KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQzA5NiwgMiwg U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEVx dWFsIChBcmcwLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAwLCBDMDcxKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMwNzApCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcw LCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzA2RSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChB cmcwLCAweDAzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBDMDZGKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDMDk1ICgweDAwLCBBcmcxLCAweDAwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEMwOTcsIDMsIFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcxLCAweDAz NzApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBDMDZDKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMSwgQzA3MSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMDkyIChDMDkxLCBBcmcxLCAweDAwKSwg QzA2QikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBDMDcwKQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoQXJnMCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwOTIgKEMwOTAsIEFyZzEsIDB4MDApLCBDMDY5 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBDMDZFKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwOTIg KEMwOTAsIEFyZzEsIDB4MDApLCBDMDZBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMSwgQzA2RikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQzA5NSAoMHgwMSwgQXJnMiwgMHgwNykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIERldmljZSAoQzA5OCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg TmFtZSAoX0FEUiwgMHgwMDFGMDAwMSkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAo QzA5OSwgUENJX0NvbmZpZywgMHg0MCwgMHgxOCkKICAgICAgICAgICAgICAgIEZpZWxkIChDMDk5 LCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgQzA5QSwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgQzA5QiwgICAxNiwgCiAg ICAgICAgICAgICAgICAgICAgQzA5QywgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4MDgpLCAKICAgICAgICAgICAgICAgICAgICBDMDlELCAgIDgsIAogICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHgwQSksIAogICAgICAgICAgICAgICAgICAgIEMwOUUsICAgMTYsIAogICAg ICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxNCksIAogICAgICAgICAgICAgICAgICAgIEMwOUYs ICAgMzIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEMwQTAsIDIs IFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoQXJnMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQzA5QSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoQzA5QiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMCkpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKExvY2FsMCwgMHgw OSksIDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDM4NCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChMb2NhbDAsIDB4MDkpLCAweDA4KSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAzODQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoTG9jYWwwLCAweDAzMDApLCAweDA4LCBMb2NhbDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoTG9jYWwwLCAweDMwMDApLCAw eDBDLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTXVsdGlwbHkgKDB4 MUUsIFN1YnRyYWN0ICgweDA5LCBBZGQgKExvY2FsMSwgTG9jYWwyKSkpKQogICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKExvY2FsMCwgMHg5MCksIDB4 MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDM4NCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChMb2NhbDAsIDB4OTApLCAweDgwKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDAzODQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChBbmQgKExvY2FsMCwgMHg0MDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwOUMsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDEpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQg KExvY2FsMCwgMHgwNCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTXVsdGlwbHkgKDB4MUUsIFN1YnRyYWN0 ICgweDA5LCBBZGQgKEFuZCAoU2hpZnRSaWdodCAoTG9jYWwwLCAweDAyKSwgMHgwMyksIEFuZCAo TG9jYWwwLCAweDAzKSkpKSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoTG9jYWwwLCAweDAzMDApLCAweDA4LCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChBbmQgKExvY2FsMCwg MHgzMDAwKSwgMHgwQywgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChNdWx0aXBseSAoMHgxRSwgU3VidHJhY3QgKDB4MDksIEFkZCAoTG9jYWwxLCBMb2NhbDIpKSkp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoQzBBMSwgQnVmZmVyICgweDA1KQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4NzAsIDB4NDksIDB4MzYsIDB4Mjcs IDB4MTkKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKEMwQTIsIDIs IFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU2hpZnRM ZWZ0ICgweDAxLCBBZGQgKE11bHRpcGx5IChBcmcwLCAweDAyKSwgQXJnMSksIExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChDMDlELCBMb2NhbDApKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwOUYsIExvY2FsMSkKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoU2hpZnRSaWdodCAoTG9jYWwxLCAweDBDKSwgTG9j YWwwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDExKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoQW5kIChTaGlmdFJpZ2h0IChDMDlFLCBBZGQgKE11bHRpcGx5IChB cmcwLCAweDA4KSwgTXVsdGlwbHkgKEFyZzEsIDB4MDQpKSksIDB4MDMpLCBMb2NhbDIpCiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsMSwgTG9jYWwwKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChMb2NhbDIsIDB4 MDIsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChEZXJlZk9mIChJbmRleCAoQzBBMSwgTG9jYWwyKSkpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChDMEEzLCAxLCBTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAs IDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEMwOUEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEMwOUIsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChTaGlmdFJpZ2h0IChDMDlELCBNdWx0aXBseSAoMHgwMiwgQXJnMCkpLCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMykKICAgICAgICAgICAg ICAgICAgICBJZiAoQW5kIChMb2NhbDEsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMywgMHgwMSwgTG9jYWwzKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWwxLCAweDAyKSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDMs IDB4MDQsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IElmIChBbmQgKExvY2FsMCwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBPciAoTG9jYWwzLCAweDAyLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDAsIDB4MjApKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMywgMHgwOCwg TG9jYWwzKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgT3IgKExv Y2FsMywgMHgxMCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwzKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQzBBNCwgNSwgU2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmll bGQgKEFyZzQsIDB4MDIsIEMwQTUpCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk IChBcmc0LCAweDA0LCBDMEE2KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAo QXJnNCwgMHgwOCwgQzBBNykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQywgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDEpCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw MSwgTG9jYWw1KQogICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChBbmQgKEFyZzMsIFNoaWZ0 TGVmdCAoMHgwMiwgTXVsdGlwbHkgKEFyZzEsIDB4MDIpKSksIEFuZCAoQzBBNSwgMHgwODAwKSkp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBPciAoTG9jYWww LCAweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA4LCBMb2Nh bDUpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAo TE5vdCAoTEdyZWF0ZXIgKEFyZzIsIDB4RjApKSwgQW5kIChDMEE2LCAweDAyKSkpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBPciAoQW5kIChMb2NhbDAsIDB4 RkZGRkZGRjcpLCAweDAxLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5k IChMTm90IChMR3JlYXRlciAoQXJnMiwgMHg3OCkpLCBBbmQgKEMwQTcsIDB4MDIpKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MjMwMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEIsIExv Y2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDUsIDB4MDQsIExvY2Fs NSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMQW5kIChMTm90IChMR3JlYXRlciAoQXJnMiwgMHhCNCkpLCBBbmQgKEMwQTcsIDB4MDEpKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgyMTAwLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDksIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ciAoTG9jYWw1LCAweDAzLCBMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEwMCwgTG9jYWwx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA0LCBMb2NhbDIpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsNSwgMHgwMiwgTG9jYWw1KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcx LCAweDAwKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9y IChMb2NhbDAsIExvY2FsMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHg0MEYwLCBMb2NhbDQpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoTG9jYWwwLCAweDA0LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChB bmQgKEFyZzMsIDB4MTApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDQwMDAsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDApKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChBbmQgKEMwOUMs IDB4RjApLCBMb2NhbDIsIEMwOUMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEFuZCAoQzA5QywgMHgwRiksIFNo aWZ0TGVmdCAoTG9jYWwyLCAweDA0KSwgQzA5QykKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4M0YwRiwgTG9jYWw0KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgT3IgKExvY2FsMCwgMHg4MDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoQXJnMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBPciAoQW5kIChDMDlBLCBMb2NhbDQpLCBMb2NhbDAsIEMwOUEpCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChBbmQgKEMwOUIsIExvY2FsNCksIExvY2Fs MCwgQzA5QikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVy biAoTG9jYWw1KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQzBB OCwgNSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBD cmVhdGVXb3JkRmllbGQgKEFyZzQsIDB4MEMsIEMwQTkpCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwx KQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDIpCiAgICAgICAgICAgICAg ICAgICAgQWRkIChNdWx0aXBseSAoQXJnMCwgMHgwMiksIEFyZzEsIExvY2FsMykKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWw0KQogICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoMHgxMDExLCBMb2NhbDMsIExvY2FsNSkKICAgICAgICAgICAgICAgICAgICBJZiAoQW5k IChBcmczLCBTaGlmdExlZnQgKDB4MDEsIE11bHRpcGx5IChBcmcxLCAweDAyKSkpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2Fs MSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwQUEgKEFyZzAsIEFyZzEpLCBMb2Nh bDYpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMTm90IChMTGVzcyAoTG9jYWw2 LCAweDA1KSksIExBbmQgKExMZXNzIChBcmcyLCAweDE5KSwgQW5kIChDMEE5LCAweDIwKSkpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NDUs IExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgxMDExLCBM b2NhbDMsIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMQW5kIChMTm90IChMTGVzcyAoTG9jYWw2LCAweDA0KSksIExBbmQgKExM ZXNzIChBcmcyLCAweDI3KSwgQW5kIChDMEE5LCAweDEwKSkpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NDQsIExvY2Fs MikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKDB4MTEsIExvY2Fs MywgTG9jYWw0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMTm90IChMTGVzcyAoTG9jYWw2LCAweDAz KSksIExBbmQgKExMZXNzIChBcmcyLCAweDM2KSwgQW5kIChDMEE5LCAweDA4KSkpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4NDMsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2hpZnRMZWZ0ICgweDExLCBMb2NhbDMsIExvY2FsNCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExBbmQgKExOb3QgKExMZXNzIChMb2NhbDYsIDB4MDIpKSwgTEFuZCAoTExl c3MgKEFyZzIsIDB4NDkpLCBBbmQgKEMwQTksIDB4MDQpKSkpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAyLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHg0MiwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExMZXNzIChMb2NhbDYsIDB4MDEpKSwgTEFuZCAo TExlc3MgKEFyZzIsIDB4NzApLCBBbmQgKEMwQTksIDB4MDIpKSkpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0MSwgTG9jYWwyKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4NDAsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg T3IgKEFuZCAoQzA5RCwgTm90IChTaGlmdExlZnQgKDB4MDEsIExvY2FsMykpKSwgU2hpZnRMZWZ0 IChMb2NhbDEsIExvY2FsMyksIEMwOUQpCiAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKExv Y2FsMywgMHgwNCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgIE9yIChBbmQgKEMwOUUsIE5v dCAoU2hpZnRMZWZ0ICgweDAzLCBMb2NhbDMpKSksIFNoaWZ0TGVmdCAoTG9jYWwwLCBMb2NhbDMp LCBDMDlFKQogICAgICAgICAgICAgICAgICAgIE9yIChBbmQgKEMwOUYsIE5vdCAoTG9jYWw1KSks IExvY2FsNCwgQzA5RikKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMikKICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChDMEFCKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDA1KQogICAgICAg ICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEMwQUMpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRDAwMDApCiAgICAgICAgICAgICAgICBPcGVyYXRpb25S ZWdpb24gKEMwQUQsIFBDSV9Db25maWcsIDB4QzQsIDB4MDQpCiAgICAgICAgICAgICAgICBGaWVs ZCAoQzBBRCwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIEMwQUUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgQzBBRiwgICAx CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUFNXLCAxLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChB cmcwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAx KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAxLCBDMEFFKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgQzBBRikKICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMwQUUpCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBDMEFGKQogICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKEMwQjApCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkKICAgICAg ICAgICAgICAgICAgICBEZXZpY2UgKEMwQjEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChDMEIyKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmlj ZSAoQzBCMykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFE MDAwMSkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQzBBRCwgUENJX0NvbmZpZywg MHhDNCwgMHgwNCkKICAgICAgICAgICAgICAgIEZpZWxkIChDMEFELCBBbnlBY2MsIE5vTG9jaywg UHJlc2VydmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQzBBRSwgICAx LCAKICAgICAgICAgICAgICAgICAgICBDMEFGLCAgIDEKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKF9QU1csIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIEMwQUUpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDAxLCBDMEFGKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMCwgQzBBRSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIEMwQUYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIERldmljZSAoQzBCMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBOYW1lIChfQURSLCAweDAwKQogICAgICAgICAgICAgICAgICAgIERldmljZSAoQzBC MSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZp Y2UgKEMwQjIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBO YW1lIChfQURSLCAweDAxKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChDMEI0KQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAyKQogICAgICAgICAgICAgICAgT3Bl cmF0aW9uUmVnaW9uIChDMEFELCBQQ0lfQ29uZmlnLCAweEM0LCAweDAxKQogICAgICAgICAgICAg ICAgRmllbGQgKEMwQUQsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBDMEFFLCAgIDEsIAogICAgICAgICAgICAgICAgICAgIEMw QUYsICAgMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTVywg MSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQXJnMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2Fs MCwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMSwgQzBBRSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIEMw QUYpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBDMEFF KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzBBRikKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChDMEIw KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAp CiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChDMEIxKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoQzBCMikKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKEMwQjUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIs IDB4MDAxRDAwMDcpCiAgICAgICAgICAgICAgICBEZXZpY2UgKEMwQjApCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkKICAgICAgICAgICAgICAg ICAgICBEZXZpY2UgKEMwQjEpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBOYW1lIChfQURSLCAweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgRGV2aWNlIChDMEIyKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIERldmljZSAoQzBCNikKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDIpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKEMwQjcpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAzKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChDMEI4KQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwNCkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoQzBCOSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4 MDUpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9 CgogICAgICAgICAgICBNZXRob2QgKEMwQkEsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE5hbWUgKEMwQkIsIEJ1ZmZlciAoMHgwNikKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAweDIzLCAweDAwLCAweDAwLCAweDE4LCAweDc5LCAweDAw CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChDMEJC LCAweDAxLCBDMEJEKQogICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMSkKICAgICAg ICAgICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDApCiAgICAgICAgICAgICAgICBBbmQgKExvY2Fs MCwgMHg4RiwgTG9jYWwwKQogICAgICAgICAgICAgICAgSWYgKExMZXNzIChMb2NhbDAsIDB4ODAp KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoTG9jYWwwLCAweDBG LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBMb2NhbDAsIExv Y2FsMSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwxLCBD MEJEKQogICAgICAgICAgICAgICAgUmV0dXJuIChDMEJCKQogICAgICAgICAgICB9CgogICAgICAg ICAgICBNZXRob2QgKEMwQkUsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgIFN0b3JlIChBcmcwLCBMb2NhbDApCiAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwg MHg4MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAwKSkK ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQiwgTG9jYWww KQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA5LCBMb2NhbDApCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIE1ldGhvZCAoQzBCRiwgMSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgU3RvcmUgKEFyZzAsIExvY2FsMCkKICAgICAgICAgICAgICAgIEFuZCAoTG9jYWww LCAweEYwLCBMb2NhbDApCiAgICAgICAgICAgICAgICBPciAoTG9jYWwwLCAweDgwLCBMb2NhbDAp CiAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgfQoKICAgICAgICAg ICAgTWV0aG9kIChDMEMwLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEsIEMwQzEpCiAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChDMEMxLCAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdo dEJpdCAoQzBDMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWww KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEMwQzIpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAg IE5hbWUgKF9VSUQsIDB4NjApCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChD MEJFICheXkMwNTkuQzA1QikpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChDMEJGICheXkMwNTkuQzA1QiksIF5eQzA1OS5DMDVCKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzBDMCAoQXJn MCksIF5eQzA1OS5DMDVCKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKEMwQkEgKF5eQzA1OS5DMDVCKSkKICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChDMEMzKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAg ICBOYW1lIChfVUlELCAweDYxKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAo QzBCRSAoXl5DMDU5LkMwNUMpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoQzBCRiAoXl5DMDU5LkMwNUMpLCBeXkMwNTkuQzA1QykKICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwQzAgKEFy ZzApLCBeXkMwNTkuQzA1QykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRo b2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChDMEJBICheXkMwNTkuQzA1QykpCiAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoQzBDNCkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAg ICAgTmFtZSAoX1VJRCwgMHg2MikKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KEMwQkUgKF5eQzA1OS5DMDVEKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEMwQkYgKF5eQzA1OS5DMDVEKSwgXl5DMDU5LkMwNUQpCiAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMEMwIChB cmcwKSwgXl5DMDU5LkMwNUQpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0 aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoQzBCQSAoXl5DMDU5LkMwNUQpKQogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEMwQzUpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAg ICAgIE5hbWUgKF9VSUQsIDB4NjMpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChDMEJFICheXkMwNTkuQzA1RSkpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChDMEJGICheXkMwNTkuQzA1RSksIF5eQzA1OS5DMDVFKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzBDMCAo QXJnMCksIF5eQzA1OS5DMDVFKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKEMwQkEgKF5eQzA1OS5DMDVFKSkKICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChDMEM2KQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAg ICAgICBOYW1lIChfVUlELCAweDY4KQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVy biAoQzBCRSAoXl5DMDU5LkMwNUYpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoQzBCRiAoXl5DMDU5LkMwNUYpLCBeXkMwNTkuQzA1RikKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwQzAg KEFyZzApLCBeXkMwNTkuQzA1RikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBN ZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChDMEJBICheXkMwNTkuQzA1RikpCiAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoQzBDNykKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAg ICAgICAgTmFtZSAoX1VJRCwgMHg2OSkKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKEMwQkUgKF5eQzA1OS5DMDYwKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKEMwQkYgKF5eQzA1OS5DMDYwKSwgXl5DMDU5LkMwNjApCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMEMw IChBcmcwKSwgXl5DMDU5LkMwNjApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg TWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQzBCQSAoXl5DMDU5LkMwNjApKQogICAgICAgICAgICAgICAg fQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEMwQzgpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAg ICAgICAgIE5hbWUgKF9VSUQsIDB4NkEpCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChDMEJFICheXkMwNTkuQzA2MSkpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTWV0aG9kIChfRElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChDMEJGICheXkMwNTkuQzA2MSksIF5eQzA1OS5DMDYxKQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzBD MCAoQXJnMCksIF5eQzA1OS5DMDYxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKEMwQkEgKF5eQzA1OS5DMDYxKSkKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChDMEM5KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAg ICAgICAgICBOYW1lIChfVUlELCAweDZCKQogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJl dHVybiAoQzBCRSAoXl5DMDU5LkMwNjIpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIE1ldGhvZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQzBCRiAoXl5DMDU5LkMwNjIpLCBeXkMwNTkuQzA2MikK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMw QzAgKEFyZzApLCBeXkMwNTkuQzA2MikKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChDMEJBICheXkMwNTkuQzA2MikpCiAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoQzBDQSwgMSwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgV2hpbGUgKF5DMDU5LkMwN0EpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RhbGwgKDB4MDEpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgU3RvcmUgKDB4RjMsIF5DMDU5LkMwNzMpCiAgICAg ICAgICAgICAgICBTdGFsbCAoMHgzMikKICAgICAgICAgICAgICAgIFdoaWxlICheQzA1OS5DMDdB KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0YWxsICgweDAxKQogICAg ICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNdXRleCAoQzBDQiwgMHgw MCkKICAgICAgICAgICAgTmFtZSAoQzBDQywgMHgwMCkKICAgICAgICAgICAgTmFtZSAoQzBDRCwg MHgwMCkKICAgICAgICAgICAgTWV0aG9kIChDMENFLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBBY3F1aXJlIChDMENCLCAweEZGRkYpCiAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChDMENELCAweDAwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMCwgXkMwNTkuQzA3NykKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMCwgXkMwNTkuQzA3OCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBJbmNyZW1lbnQgKEMwQ0QpCiAgICAgICAgICAgICAgICBSZWxlYXNlIChDMENCKQogICAgICAg ICAgICB9CgogICAgICAgICAgICBNZXRob2QgKEMwQ0YsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIEFjcXVpcmUgKEMwQ0IsIDB4RkZGRikKICAgICAgICAg ICAgICAgIERlY3JlbWVudCAoQzBDRCkKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEMwQ0Qs IDB4MDApKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAx LCBeQzA1OS5DMDc4KQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBeQzA1OS5DMDc3 KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJlbGVhc2UgKEMwQ0IpCiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIFNjb3BlIChDMDQ3KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICBEZXZpY2UgKEMwRDApCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgTmFtZSAoX0FEUiwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBOYW1lIChDMEQxLCAweDAw KQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQzBEMiwgUENJX0NvbmZpZywg MHgyQywgMHgwNCkKICAgICAgICAgICAgICAgICAgICBGaWVsZCAoQzBEMiwgRFdvcmRBY2MsIE5v TG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBDMEQzLCAgIDMyCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBPcGVyYXRpb25SZWdpb24gKEMwRDQsIFBDSV9Db25maWcsIDB4NEMsIDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgRmllbGQgKEMwRDQsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQzBENSwgICAzMgogICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUkVHLCAyLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExBbmQgKExFcXVhbCAoQXJnMCwgMHgwMiksIExFcXVhbCAoQXJnMSwgMHgwMSkpKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoQzBEMywgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo QzBEMSwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgQzBEMSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE5v dCAoTEVxdWFsIChMb2NhbDAsIEMwRDEpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMEQxLCBDMEQ1 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1MzRCwgMHgwMykKICAgICAgICAgICAgICAgICAg ICBOYW1lIChfUzRELCAweDAzKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzBENiwgMSwg U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEMw RDcgKDB4MDApLCBBcmcwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElmIChBbmQgKEMwMzQsIEFyZzApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDFELCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQzAzMywgQXJnMCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgxRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEMwRDgsIDEsIFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChDMDM1LCBBcmcw KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKEMwRDksIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzAzNiwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcxLCAweDAxKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMCwgQXJn MCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQW5kIChMb2NhbDAsIE5vdCAoQXJnMCksIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgQzAzNikKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoQXJnMSwgMHg0MDAwMDAwMCkpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2Nh bDAsIEMwMzMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKEFuZCAoQXJnMSwgMHhDMDAwMDAwMCksIDB4ODAwMDAwMDApKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLkMw REEgKDB4RUE3NCwgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf RE9TLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgQW5kIChDMDMyLCAweEY4LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIE9yIChMb2NhbDAsIEFyZzAsIEMwMzIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBEZXZpY2UgKEMwREIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAxMDApCiAgICAgICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX0RDUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDMEQ2ICgweDAyKSkKICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf REdTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEMwRDggKDB4MDIpKQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEMwRDkgKDB4MDIsIEFyZzApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoQzBEQykKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDEx MCkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRENTLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKEMwRDYgKDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9ER1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQzBEOCAo MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX0RTUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQzBEOSAoMHgwMSwgQXJnMCkKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgRGV2aWNlIChDMEREKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMjAwKQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9EQ1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQzBENiAoMHgwNCkpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RHUywgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChDMEQ4ICgweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRFNTLCAxLCBOb3RTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDMEQ5 ICgweDA0LCBBcmcwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKEMwREUpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAyMTApCiAgICAgICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RDUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDMEQ2 ICgweDA4KSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfREdTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEMwRDggKDB4MDgpKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9E U1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEMwRDkgKDB4MDgsIEFyZzApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKEMw REYsIDB4RkZGRkZGRkQpCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChDMEQ3LCAxLCBTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExBbmQgKEFyZzAsIExFcXVhbCAoQzBERiwgMHhGRkZGRkZGRCkpKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwNywgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgQzBERikKICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDMERG KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRE9E LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAzKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEwMTAwLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwMTAxMTAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MDAxMDIwMAogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChcQzBD QSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgXF9TQi5D MDQ2LkMwQ0EgKEFyZzApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoXEMwQ0Us IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuQzA0 Ni5DMENFICgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoXEMwQ0YsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFxfU0IuQzA0Ni5DMENG ICgpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFNjb3BlIChDMDU5KQogICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEMwRTAsIFN5c3RlbUlPLCAweDEwMDAs IDB4M0MpCiAgICAgICAgICAgICAgICBGaWVsZCAoQzBFMCwgQW55QWNjLCBOb0xvY2ssIFByZXNl cnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwOCks IAogICAgICAgICAgICAgICAgICAgIEMwRTEsICAgMzIKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKEMwRTIsIDUsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMSwgMHgwMCkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBeQzA5NiAoQXJnMCwgQXJnMikKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgXkMwOTcgKEFyZzAsIEFyZzEsIEFyZzIpCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAzLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBeQzA4RiAoQXJnNCwgTG9jYWwwKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoQzBFMywgMSwgU2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgIElmIChMT3IgKEMwN0YsIEFyZzApKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIEMwODEpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDAxLCBDMDgwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMSwgQzA3RikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDQsIEMwN0Up CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBDMDdEKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzA4MSkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAg ICAgICAgICBNZXRob2QgKFxfU0IuQzBFNCwgNSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgXkMwNDYuQzA1OS5DMEUyIChBcmcwLCBBcmcxLCBBcmcyLCBBcmczLCBB cmc0KQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKFxfU0IuQzBFNSwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKEFuZCAoXF9TQi5D MDQ2LkMwNTkuQzA4NiwgMHg4MCkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDcsIExvY2FsMCkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg IEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBBbmQgKFxfU0IuQzA0 Ni5DMDU5LkMwODcsIDB4MDMwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIFNoaWZ0Umln aHQgKExvY2FsMCwgMHgwOCwgTG9jYWwwKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKEMw RTYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRjAwMDMp CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFNjb3BlIChDMEFCKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBOYW1lIChfUzFELCAweDAyKQogICAgICAgICAgICAgICAgTmFtZSAoX1Mz RCwgMHgwMikKICAgICAgICAgICAgICAgIE5hbWUgKF9TNEQsIDB4MDIpCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIERldmljZSAoQzBFNykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg TmFtZSAoX0FEUiwgMHgwMDFGMDAwNikKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2th Z2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwNSwgCiAg ICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg IE9wZXJhdGlvblJlZ2lvbiAoQzBFOCwgUENJX0NvbmZpZywgMHgwMCwgMHgwNCkKICAgICAgICAg ICAgICAgIEZpZWxkIChDMEU4LCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDMEU5LCAgIDMyCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEMwRTksIDB4RkZGRkZG RkYpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYp CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBTY29wZSAoQzA1OSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgRGV2 aWNlIChDMEVBKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBDMDkiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfR1BFLCAw eDFDKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw RikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMs IEJ1ZmZlciAoMHgxMikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIDB4NDcsIDB4MDEsIDB4NjIsIDB4MDAsIDB4NjIsIDB4MDAsIDB4MDEsIDB4MDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAweDQ3LCAweDAxLCAweDY2LCAweDAwLCAweDY2LCAweDAwLCAw eDAxLCAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHg3OSwgMHgwMAogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTXV0ZXggKEMwRUIsIDB4MDApCiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoQzBFQywgMHgwMCkKICAgICAgICAgICAgICAgICAgICBOYW1l IChDMEVELCAweDAwKQogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQzBFRSwg RW1iZWRkZWRDb250cm9sLCAweDAwLCAweEZGKQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChD MEVFLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDgwKSwgCiAgICAgICAgICAgICAgICAgICAg ICAgIE9mZnNldCAoMHg4MSksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDQsIAog ICAgICAgICAgICAgICAgICAgICAgICBDMEVGLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDMEYwLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgICAgICBDMEYxLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDMEYyLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEs IAogICAgICAgICAgICAgICAgICAgICAgICBDMEYzLCAgIDEsIAogICAgICAgICAgICAgICAgICAg ICAgICBDMEY0LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAg ICAgICAgICAgICAgICBDMEY1LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDMEY2LCAg IDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDMEY3LCAgIDEsIAogICAgICAgICAgICAgICAg ICAgICAgICBDMEY4LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAg ICBDMEY5LCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBDMEZBLCAgIDQsIAogICAgICAg ICAgICAgICAgICAgICAgICBDMEZCLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4ODYpLCAKICAgICAgICAgICAgICAgICAgICAgICAgQzBGQywgICA0LCAKICAgICAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDg5KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMw RkQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OEQpLCAKICAgICAg ICAgICAgICAgICAgICAgICAgQzBGRSwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHg5MSksIAogICAgICAgICAgICAgICAgICAgICAgICBDMEZGLCAgIDEsIAogICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4OTUpLCAKICAgICAgICAgICAgICAgICAgICAgICAg QzEwMCwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg5OSksIAogICAg ICAgICAgICAgICAgICAgICAgICBDMTAxLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQgKDB4OUQpLCAKICAgICAgICAgICAgICAgICAgICAgICAgQzEwMiwgICAxNiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhBMSksIAogICAgICAgICAgICAgICAgICAgICAg ICBDMTAzLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEE1KSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIEMxMDQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4QTkpLCAKICAgICAgICAgICAgICAgICAgICAgICAgQzEwNSwgICAxNiwgCiAg ICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhBRCksIAogICAgICAgICAgICAgICAgICAg ICAgICBDMTA2LCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweEIwKSwg CiAgICAgICAgICAgICAgICAgICAgICAgIENUTVAsICAgOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEMxMDcsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QjUpLCAK ICAgICAgICAgICAgICAgICAgICAgICAgQzEwOCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAg ICAgT2Zmc2V0ICgweEI5KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxMDksICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhCRCksIAogICAgICAgICAgICAgICAgICAg ICAgICBDMTBBLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBDMTBCLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4QzEpLCAKICAgICAgICAgICAgICAgICAgICAg ICAgQzEwQywgICA2NCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxMEQsICAgNjQsIAogICAg ICAgICAgICAgICAgICAgICAgICBDMTBFLCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICAgICAg QzEwRiwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgQzExMCwgICA4LCAKICAgICAgICAg ICAgICAgICAgICAgICAgQzExMSwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgQzExMiwg ICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgQzExMywgICA4LCAKICAgICAgICAgICAgICAg ICAgICAgICAgQzExNCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgQzExNSwgICA4LCAK ICAgICAgICAgICAgICAgICAgICAgICAgQzExNiwgICA4LCAKICAgICAgICAgICAgICAgICAgICAg ICAgQzExNywgICA0LCAKICAgICAgICAgICAgICAgICAgICAgICAgQzExOCwgICA0LCAKICAgICAg ICAgICAgICAgICAgICAgICAgQzExOSwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMx MUEsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4RTMpLCAKICAgICAg ICAgICAgICAgICAgICAgICAgQzExQiwgICA0CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKF9SRUcsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAz KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEFyZzEsIEMwRUQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQXJnMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDMTFDICgweDA3LCAweEZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChDMTFEICgpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQzEx RSAoTG9jYWwwLCAweDgxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoQzBF QywgMHgwMSwgQzBGMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNoaWZ0 UmlnaHQgKEMwRUMsIDB4MDEpLCAweDAxLCBDMEYyKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQzBFRCkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEs IEMwRjEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzExRSwgMiwgU2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzAsIDB4MDEp KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFxfU0IuQzExRiwgQXJnMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzEyMCwgMHhGRikKICAg ICAgICAgICAgICAgICAgICBOYW1lIChDMTIxLCAweEZGKQogICAgICAgICAgICAgICAgICAgIE5h bWUgKEMxMjIsIDB4MDcpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzEyMywgMHgwMSkKICAg ICAgICAgICAgICAgICAgICBOYW1lIChDMTI0LCAweDAwKQogICAgICAgICAgICAgICAgICAgIE5h bWUgKEMxMjUsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzEyNiwgMHgwMCkKICAg ICAgICAgICAgICAgICAgICBNdXRleCAoQzEyNywgMHgwMCkKICAgICAgICAgICAgICAgICAgICBO YW1lIChDMTI4LCBQYWNrYWdlICgweDA4KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgIlVua25vd24iLCAKICAgICAgICAgICAgICAgICAgICAgICAgIk5pTUgi LCAKICAgICAgICAgICAgICAgICAgICAgICAgIkxpSW9uIgogICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChDMTI5LCAwLCBTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoQzEyNywgMHhG RkZGKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChDMTIyLCAweDAxKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChDMTIy LCAweDA2LCBDMTIyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoQzEyNykK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChcX1NCLkMwNDYuQzA1OS5DMDg2LCAweDA4KSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIEMxMjMpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChDMTI3 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMxMjMsIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEMx MUQsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBBY3F1aXJlIChDMTI3LCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChBbmQgKEMxMjIsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBBbmQgKEMxMjIsIDB4MDUsIEMxMjIpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZWxlYXNlIChDMTI3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNx dWlyZSAoQzBFQiwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEMwRUQp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEMwRkEsIEMxMjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoQzBFQikKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKEMxMjcpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQzEy NCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzEx QywgMiwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVp cmUgKEMxMjcsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEFyZzAsIEMxMjIs IExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChMb2NhbDEsIDB4MDcsIEMxMjIp CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEMxMjIsIDB4MDIpKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoQzEyMCwgQXJn MSwgQzEyMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoQzEyMiwgMHgwNCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMRXF1YWwgKEMxMjEsIDB4RkYpKSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChDMTIxLCBBcmcxLCBDMTIxKQogICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChDMTI3KQog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzEyQSwgMSwgU2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFy ZzAsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHgwMSwgQzEyNSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDApKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAwLCBDMTI1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEMxMjUpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEMxMkIsIDEsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBD MTJBICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzExRCAoKSwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwRiwgTG9jYWwxKQogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDAsIEFyZzApKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxRiwgTG9jYWwxKQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KExvY2FsMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoQzEyQywgMSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgQXJnMCwgTG9jYWw3KQogICAgICAgICAgICAg ICAgICAgICAgICBDMTJBICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChDMTJCIChMb2NhbDcpLCAweDBGKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkZGRkZEKQogICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChDMTI3LCAweEZGRkYp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTIwLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIFJlbGVhc2UgKEMxMjcpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEFuZCAoTG9jYWwwLCBMb2NhbDcpLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzEyRCwgSW5k ZXggKEMxMkUsIEFyZzApKQogICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChDMEVCLCAw eEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChDMEVEKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgQzBGQykK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMEZFLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJbmRleCAoRGVyZWZPZiAoSW5kZXgg KEMxMkYsIEFyZzApKSwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo TG9jYWwwLCBJbmRleCAoRGVyZWZPZiAoSW5kZXggKEMxMkYsIEFyZzApKSwgMHgwMikpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzEwMCwgSW5kZXggKERlcmVmT2YgKEluZGV4 IChDMTJGLCBBcmcwKSksIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlw bHkgKExvY2FsMCwgMHgwQSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGl2 aWRlIChBZGQgKExvY2FsMSwgMHgzMiksIDB4NjQsIExvY2FsMywgTG9jYWwyKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMiwgSW5kZXggKERlcmVmT2YgKEluZGV4IChD MTJGLCBBcmcwKSksIDB4MDUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzEz MCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEMxMzEsICIgICAgICIp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzEwRCwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEluZGV4IChMb2NhbDAsIDB4MDQpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgQzEzMSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTMxLCBJbmRleCAoRGVyZWZPZiAoSW5kZXggKEMx MkYsIEFyZzApKSwgMHgwQSkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgIFJlbGVhc2UgKEMwRUIpCiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVp cmUgKEMxMjcsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChDMTIwLCBOb3Qg KExvY2FsNyksIEMxMjApCiAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKEMxMjcpCiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzEzMiwgMiwgU2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwg QXJnMCwgTG9jYWw3KQogICAgICAgICAgICAgICAgICAgICAgICBDMTJBICgweDAxKQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChDMTJCIChMb2NhbDcpLCAweDBGKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBh Y2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZG RkZGRkZGCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgSW5kZXggKEMxMkUsIEFy ZzApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkZGRkZEKQogICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChD MTI3LCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBcmcxKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRiwg QzEyMSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKEMxMjEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFzZSAoQzEy NykKICAgICAgICAgICAgICAgICAgICAgICAgQWNxdWlyZSAoQzBFQiwgMHhGRkZGKQogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQzBFRCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIEMwRkMpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoQzEwMSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEMxMDIsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChDMTAzLCBJbmRleCAoRGVyZWZPZiAoSW5kZXggKEMxMkUsIEFyZzApKSwgMHgwMikpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzEwNCwgSW5kZXggKERlcmVmT2YgKElu ZGV4IChDMTJFLCBBcmcwKSksIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChDMEVCKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoTG9jYWwwLCBJbmRleCAoRGVyZWZPZiAoSW5kZXggKEMxMkUsIEFyZzApKSwgMHgw MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsMCwgMHgwMSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdCAoTG9j YWwzLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMywgMHhG RkZGLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwzLCBJ bmRleCAoRGVyZWZPZiAoSW5kZXggKEMxMkUsIEFyZzApKSwgMHgwMSkpCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKEMxMjcsIDB4RkZG RikKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChDMTIxLCBOb3QgKExvY2FsNyksIEMxMjEp CiAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKEMxMjcpCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1EwMywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKEMxMjcsIDB4RkZGRikKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEMxMjYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgUmVsZWFzZSAoQzEyNykKICAgICAgICAgICAgICAgICAgICAgICAgQzExQyAoMHgwNCwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBDMTFFIChMb2NhbDAsIDB4ODApCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMDQsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBBY3F1aXJlIChDMTI3LCAweEZGRkYpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChD MTI2LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKEMxMjcpCiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFxDMDBBICgpLCAweDAzKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODEs IExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTFEICgpLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHg4MCwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBDMTFDICgweDA0LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg IEMxMUUgKExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfUTA2LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5DMERBICgweEVBMDksIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChDMTJBICgweDAyKSkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgQzEx QyAoMHgwNiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTFEICgp LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuQzExRiwg MHg4MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5DMTM0LCAweDgw KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTAsIDB4ODApCiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1EwOCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDAxRjQpCiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChDMTJBICgweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgQzExQyAoMHgwNiwgMHgwMSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChDMTFEICgpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOb3RpZnkgKFxfU0IuQzExRiwgMHg4MSkKICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf UTA5LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgQWNxdWlyZSAoQzBFQiwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQzBFRCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEMxMDEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChMb2NhbDAsIEluZGV4IChEZXJlZk9mIChJbmRleCAoQzEyRSwgMHgwMCkpLCAweDAw KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTAyLCBMb2NhbDMpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDEpKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5v dCAoTG9jYWwzLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChM b2NhbDMsIDB4RkZGRiwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDMsIEluZGV4IChEZXJlZk9mIChJ bmRleCAoQzEyRSwgMHgwMCkpLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChDMTAzLCBJbmRleCAoRGVyZWZPZiAoSW5kZXggKEMxMkUsIDB4MDApKSwgMHgwMikpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzEwNCwgSW5kZXggKERlcmVmT2YgKElu ZGV4IChDMTJFLCAweDAwKSksIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChDMEVCKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMSwgQzEzNSkKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NC LkMxMUYsIDB4ODApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9RMEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuQzEzNiwgMHg4MCkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExMCwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKEFuZCAoQzAzMiwgMHgwMyksIDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLkMwREEgKDB4RUE3NCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChcX1NCLkMwMjkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTm90aWZ5IChcX1NCLkMwNDYuQzA0Ny5DMEQwLCAweDgwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgXF9TQi5DMERBICgweEVBMkQsIDB4MDQsIDB4MDAsIDB4MDAsIDB4MDApCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1EyQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoQzAzMiwgMHgwMyks IDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLkMwREEgKDB4RUE3NCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5DMDQ2LkMwNDcuQzBEMCwgMHg4MCkKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuQzBE QSAoMHhFQTJELCAweDA0LCAweDAwLCAweDAwLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9R MkIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKEMwMzIsIDB4MDMpLCAweDAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5DMERBICgw eEVBNzQsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBOb3RpZnkgKFxfU0IuQzA0Ni5DMDQ3LkMwRDAsIDB4ODApCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLkMwREEgKDB4RUEyRCwgMHgwNCwg MHgwMCwgMHgwMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChDMTM3LCBTeXN0 ZW1JTywgMHgxMDEwLCAweDA0KQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChDMTM3LCBEV29y ZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxMzgsICAg MywgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxMzksICAgMSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgwMSksIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDks IAogICAgICAgICAgICAgICAgICAgICAgICBDMTNBLCAgIDEKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQzEzQiwgRW1iZWRkZWRDb250 cm9sLCAweDAwLCAweEZGKQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChDMTNCLCBBbnlBY2Ms IExvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgT2Zmc2V0ICgweEE3KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxM0MsICAgMTYs IAogICAgICAgICAgICAgICAgICAgICAgICBDMTNELCAgIDgsIAogICAgICAgICAgICAgICAgICAg ICAgICBTRFRNLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBGU1NOLCAgIDQsIAogICAg ICAgICAgICAgICAgICAgICAgICBGQU5VLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBQ VFZMLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDQsIAogICAgICAgICAg ICAgICAgICAgICAgICBUVEhSLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQg KDB4QkMpLCAKICAgICAgICAgICAgICAgICAgICAgICAgUEpJRCwgICA4LCAKICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweEJFKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHhGOSksIAogICAgICAgICAgICAgICAgICAgICAgICBDMTNFLCAgIDE2CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNdXRleCAoQzEzRiwgMHgwMCkKICAgICAg ICAgICAgICAgICAgICBNZXRob2QgKEZBTkcsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBBY3F1aXJlIChDMTNGLCAweEZGRkYp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBDMTNDKQogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoQzEzRCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBS ZWxlYXNlIChDMTNGKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoRkFOVywgMiwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEFjcXVpcmUgKEMxM0YsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEFyZzEsIEMxM0QpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBDMTNDKQog ICAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlIChDMTNGKQogICAgICAgICAgICAgICAgICAg ICAgICBSZXR1cm4gKEFyZzEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKFRVVlIsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDMpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFRIUk8sIDEsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFs IChBcmcwLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChDMTM5KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMSkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu IChDMTM4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChUVEhSKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkYpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKENMQ0ssIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAw eDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDAsIEMxMzkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgQzEzOCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAxLCBDMTM5KQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEMxMzkpCiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoQzE0MCkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJXRUMwNTE4 IikpCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChDMTQxLCBTeXN0ZW1JTywg MHg0RSwgMHgwMikKICAgICAgICAgICAgICAgICAgICBGaWVsZCAoQzE0MSwgQnl0ZUFjYywgTm9M b2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIEMxNDIsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNDMsICAgOAogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSW5kZXhGaWVsZCAoQzE0MiwgQzE0 MywgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwNyksIAogICAgICAgICAgICAgICAgICAgICAg ICBDMTQ0LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjkpLCAKICAg ICAgICAgICAgICAgICAgICAgICAgQzE0NSwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAg T2Zmc2V0ICgweDMwKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNDYsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2MCksIAogICAgICAgICAgICAgICAgICAgICAg ICBDMTQ3LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBDMTQ4LCAgIDgsIAogICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NzApLCAKICAgICAgICAgICAgICAgICAgICAgICAg QzE0OSwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDc0KSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIEMxNEEsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9m ZnNldCAoMHhGMCksIAogICAgICAgICAgICAgICAgICAgICAgICBDMTRCLCAgIDgKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzE0QywgMCwgTm90U2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDgzLCBDMTQyKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MywgQzE0 MikKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoMHg0RSwgMHg0RSkpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eDAzLCBDMTQ0KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDEsIEMxNDQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzE0RCwgMCwgTm90 U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweEFBLCBDMTQyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgQzE0QyAoKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQzE0NiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBDMTREICgpCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHhGRikpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MCkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChMQW5kIChMb2NhbDAsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0RJUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIEMxNEMgKCkKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChDMTQ2 LCAweEZFLCBDMTQ2KQogICAgICAgICAgICAgICAgICAgICAgICBDMTREICgpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChDMTRFLCBCdWZmZXIgKDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4NDgsIDB4MDIsIDB4NDgsIDB4MDIsIDB4 MDgsIDB4MDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgyMiwgMHg0MCwgMHgwMCwg MHgyQSwgMHgwNCwgMHgwMCwgMHg3OSwgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEMxNEUsIDB4MDIsIEMxNTIp CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQzE0RSwgMHgwNCwgQzE1 MykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChDMTRFLCAweDA5LCBD MTU0KQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEMxNEUsIDB4MEMs IEMxNTUpCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNEMgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgU2hpZnRMZWZ0IChDMTQ3LCAweDA4LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIE9yIChDMTQ4LCBMb2NhbDAsIEMxNTIpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChDMTUyLCBDMTUzKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBDMTQ5LCBDMTU0KQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT25lLCBMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCBDMTRBLCBDMTU1KQogICAgICAgICAgICAgICAg ICAgICAgICBDMTREICgpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQzE0RSkKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIEJ1ZmZl ciAoMHgyMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4 MzAsIDB4NDcsIDB4MDEsIDB4NDgsIDB4MDIsIDB4NDgsIDB4MDIsIDB4MDgsIAogICAgICAgICAg ICAgICAgICAgICAgICAweDA4LCAweDIyLCAweDQwLCAweDAwLCAweDJBLCAweDA0LCAweDAwLCAw eDMwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHg0NywgMHgwMSwgMHgwMCwgMHgwMiwgMHhG RiwgMHgwMiwgMHgwOCwgMHgwOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MjIsIDB4NDAs IDB4MEMsIDB4MkEsIDB4MDcsIDB4MDAsIDB4MzgsIDB4NzksIAogICAgICAgICAgICAgICAgICAg ICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEFyZzAsIDB4MDIsIEMxNTYpCiAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoQXJnMCwgMHgwMywgQzE1NykKICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDA5LCBDMTU0KQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MEMsIEMxNTUp CiAgICAgICAgICAgICAgICAgICAgICAgIEMxNEMgKCkKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4MTAsIEMxNDUpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTU3LCBD MTQ3KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzE1NiwgQzE0OCkKICAgICAgICAg ICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChDMTU0LCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIFN1YnRyYWN0IChMb2NhbDAsIDB4MDEsIEMxNDkpCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKDB4NEUsIDB4NEUpKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKEMxNTUsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnRyYWN0IChMb2NhbDAsIDB4MDEs IEMxNEEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMiwgQzE0QikKICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKEMxNDYs IDB4MDEsIEMxNDYpCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNEQgKCkKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChDMTU4 KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJ ZCAoIlBOUDBBMDYiKSkKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEMxNTks IFN5c3RlbUlPLCAweDJFLCAweDAyKQogICAgICAgICAgICAgICAgICAgIEZpZWxkIChDMTU5LCBC eXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgQzE1QSwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgQzE1Qiwg ICA4CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJbmRleEZpZWxk IChDMTVBLCBDMTVCLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICwgICAzLCAKICAgICAgICAgICAgICAg ICAgICAgICAgQzE1QywgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDAx KSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIEMxNUQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNUUsICAgMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwMiksIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICBDMTVGLCAgIDEsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgLCAgIDMsIAogICAgICAgICAgICAgICAgICAgICAgICBD MTYwLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDQpLCAKICAgICAg ICAgICAgICAgICAgICAgICAgQzE2MSwgICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgQzE2 MiwgICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAg ICAgICAgICAgICAgICAgIEMxNjMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNl dCAoMHgyMyksIAogICAgICAgICAgICAgICAgICAgICAgICBDMTY0LCAgIDgsIAogICAgICAgICAg ICAgICAgICAgICAgICBDMTY1LCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBDMTY2LCAg IDgsIAogICAgICAgICAgICAgICAgICAgICAgICBDMTY3LCAgIDQsIAogICAgICAgICAgICAgICAg ICAgICAgICBDMTY4LCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBDMTY5LCAgIDQsIAog ICAgICAgICAgICAgICAgICAgICAgICBDMTZBLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAg ICBDMTZCLCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAgICBDMTZDLCAgIDQsIAogICAgICAg ICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MkIpLCAKICAgICAgICAgICAgICAgICAgICAgICAg QzE2RCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgQzE2RSwgICA0CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBPcGVyYXRpb25SZWdpb24gKEMxNkYsIFN5 c3RlbUlPLCAweDAxNDAsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgRmllbGQgKEMxNkYsIEJ5 dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MEMpLCAKICAgICAgICAgICAgICAgICAgICAgICAgQzE3 MCwgICA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgQzE3MSwgICA1LCAKICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDBFKSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNzIs ICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNzMsICAgOAogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTXV0ZXggKEMxNzQsIDB4MDApCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoQzE3NSwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBOYW1lIChDMTc2 LCAweDAwKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzE3NywgMCwgTm90U2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUg KEMxNzQsIDB4RkZGRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4NTUsIEMxNUEp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEMxNzgs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHhBQSwgQzE1QSkKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFz ZSAoQzE3NCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoQzE3OSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIEMxNzcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgw MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlIChDMTYzLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAxKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzE2 NCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKEMxNjUsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExF cXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTY2LCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBM b2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKExvY2FsMCwgMHhDMCkpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoTG9jYWwwLCAweDAyLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIEMxNzggKCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuIChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKEMxN0EsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBOYW1lIChDMTdCLCBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICAg ICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNzcgKCkKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExv Y2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMykKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMCkpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTYzLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzE2QSwgTG9jYWwyKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMxNjgsIExvY2FsMykKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAs IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChDMTY0LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEMxNjksIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoQzE2NywgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4 MDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEMxNjUsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEMxNkMsIExvY2FsMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlIChDMTY2LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQzE2RCwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEMxNkIsIExvY2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChDMTZFLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwwLCAweDAyLCBJbmRleCAoQzE3QiwgMHgwMCkp CiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoTG9jYWwxLCAweDAzLCBJbmRleCAo QzE3QiwgMHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDQp CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWwyLCAweDAwKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRM ZWZ0ICgweDAxLCBMb2NhbDIsIExvY2FsNCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsNCwgSW5kZXggKEMxN0IsIDB4MDIpKQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWw0KQogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEFuZCAoTEdyZWF0ZXIgKExvY2FsMywgMHgwMCksIExMZXNzIChMb2Nh bDMsIDB4MDQpKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBMb2NhbDMsIExvY2FsNCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsNCwgSW5kZXgg KEMxN0IsIDB4MDMpKQogICAgICAgICAgICAgICAgICAgICAgICBDMTc4ICgpCiAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoQzE3QikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoQzE3QywgNSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEMxNzcgKCkKICAgICAgICAgICAgICAg ICAgICAgICAgU2hpZnRSaWdodCAoQXJnMSwgMHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKEFyZzMsIExvY2FsMSkKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExBbmQgKExHcmVhdGVyIChMb2NhbDEsIDB4MDEpLCBMTGVzcyAoTG9jYWwxLCAw eDExKSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERlY3JlbWVudCAoTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMSkKICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChBcmc0LCBM b2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMR3JlYXRlciAoTG9jYWwy LCAweDAxKSwgTExlc3MgKExvY2FsMiwgMHgwNSkpKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMikKICAgICAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBGLCBM b2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEFyZzAsIDB4MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBbmQgKExvY2FsMCwgMHhGQywgQzE2MykKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIEMxNkEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBDMTY4KQogICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKExvY2FsMCwgQzE2NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoTG9jYWwxLCBDMTY5KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChM b2NhbDIsIEMxNjcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMikpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBbmQgKExvY2FsMCwgMHhGRSwgQzE2NSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKExvY2FsMSwgQzE2QykKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SWYgKExFcXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTG9jYWww LCAweEZFLCBDMTY2KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hp ZnRSaWdodCAoQXJnMiwgMHgwMywgQzE2RCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDEsIEMxNkIpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBDMTZFKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBDMTc4ICgpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKEMxN0QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDMTc3ICgpCiAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChDMTVFLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChDMTYxLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNzggKCkKICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMikKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBMb2Nh bDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDEsIDB4MDAp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAxLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwxLCAweDAxKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMiwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KExvY2FsMikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoQzE3RSwgMSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgIEMxNzcgKCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo QXJnMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChDMTVDLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAxKSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoQzE1RCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEMxNUYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChD MTYwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIEMxNzgg KCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEMxN0YsIDIsIFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDMTc3ICgpCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDApKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwg QzE1QykKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBF bHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKEFyZzAsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBDMTVEKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEMx NUYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4MDMpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMSwgQzE2MCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgQzE3OCAoKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChDMTgwLCAyLCBTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChDMDI0LCAweDEwLCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoTm90IChDMDI0KSwgQXJnMSwgTG9jYWwxKQog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChMb2NhbDAsIExvY2FsMSkpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAw LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoQzE3OSAoQXJnMCksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDBELCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDBGLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChDMTgxLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEMxNzkgKEFyZzApKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzE3QSAoQXJnMCksIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAo TG9jYWwwLCAweDAxKSksIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChEZXJlZk9mIChJbmRleCAoTG9jYWwwLCAweDAyKSksIExvY2FsMikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoTG9jYWwwLCAweDAzKSksIExvY2Fs MykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuQzBFNCAoQXJnMCwgMHgwMCwgTG9j YWwxLCBMb2NhbDIsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMxN0MgKEFy ZzAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQzE4MiwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICheXkMxODMsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKFxf U0IuQzE4NCAoKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKEMxNzkgKDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEMxODUsIEJ1ZmZlciAoMHgwQSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4RjgsIDB4MDMsIDB4RjgsIDB4MDMsIDB4MDEsIDB4 MDgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDc5LCAweDAwCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVXb3JkRmllbGQgKEMxODUsIDB4MDIsIEMxODcpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChDMTg1LCAweDA0LCBDMTg4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTdBICgweDAyKSwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoTG9jYWwx LCAweDAwKSksIEMxODcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMx ODcsIEMxODgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFxDMDBCIChM b2NhbDMsIEMxODUpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKExvY2FsMCwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2Fs MykKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAoQzE4 OSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDA1MDEiKSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NJ RCwgMHgwMDA1RDA0MSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0RETiwgIkNPTTEi KQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChDMThBLCAweDAwKQogICAgICAgICAgICAg ICAgICAgICAgICBOYW1lIChDMThCLCBCdWZmZXIgKDB4MzMpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAsIDB4NDcsIDB4MDEsIDB4Rjgs IDB4MDMsIDB4RjgsIDB4MDMsIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw OCwgMHgyMiwgMHgxMCwgMHgwMCwgMHgzMCwgMHg0NywgMHgwMSwgMHhGOCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAyLCAweEY4LCAweDAyLCAweDAxLCAweDA4LCAweDIyLCAweDA4 LCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAsIDB4NDcsIDB4MDEsIDB4 RTgsIDB4MDMsIDB4RTgsIDB4MDMsIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwOCwgMHgyMiwgMHgxMCwgMHgwMCwgMHgzMCwgMHg0NywgMHgwMSwgMHhFOCwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAyLCAweEU4LCAweDAyLCAweDAxLCAweDA4LCAweDIyLCAw eDA4LCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MzgsIDB4NzksIDB4MDAK ICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEMxOEIpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEMxOEEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo QzE4MCAoMHgwMiwgMHgwMiksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTE9yIChcX1NCLkMwMjMsIExFcXVhbCAoMHgwMCwgMHgwMSkpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDAxLCBDMThBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDMTgxICgweDAyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgw MiwgQzE4NykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJn MCwgMHgwOSwgQzE4QykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChDMTgwICgweDAy LCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBfRElTICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9T Qi5DMEU0ICgweDAyLCBDMTg3LCAweDAwLCBDMThDLCAweDAwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEMxN0MgKDB4MDIsIEMxODcsIDB4MDAsIEMxOEMsIDB4MDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIEMxOEEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzAwRCwgQnVmZmVyICgw eDBEKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4NDcsIDB4MDEsIDB4RjgsIDB4MDMsIDB4RjgsIDB4MDMsIDB4MDEsIDB4MDgs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjIsIDB4MTAsIDB4MDAsIDB4Nzks IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEMwMEQsIDB4MDIsIEMxODcpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEMwMEQsIDB4MDQsIEMxODgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEMwMEQsIDB4MDksIEMxOEMpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQzE4QSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChDMTgwICgweDAyLCAweDAyKSwgTG9jYWwwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKExvY2FsMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMxODcpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMxODgpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMxOEMpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChDMDBEKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTdBICgweDAyKSwgTG9jYWwxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChMb2NhbDEsIDB4 MDApKSwgQzE4NykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTg3LCBDMTg4 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChMb2Nh bDEsIDB4MDIpKSwgQzE4QykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQzAw RCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUG93 ZXJSZXNvdXJjZSAoQzE4RCwgMHgwMCwgMHgwMDAwKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChDMTdFICgweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9PTiwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDMTdGICgweDAyLCAweDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX09GRiwgMCwgTm90U2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTE9yIChcX1NCLkMwMjMsIExFcXVhbCAoMHgwMCwgMHgwMSkpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QzE3RiAoMHgwMiwgMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUjAsIFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMxOEQKICAgICAgICAg ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIERldmljZSAoQzE4RSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlNNQ0YwMTAiKSkKICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoX0NJRCwgMHgxMTA1RDA0MSkKICAgICAgICAgICAgICAgICAgICAgICAgTmFt ZSAoQzE4QiwgQnVmZmVyICgweDVGKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDMwLCAweDQ3LCAweDAxLCAweEU4LCAweDAzLCAweEU4LCAw eDAzLCAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDgsIDB4NDcsIDB4MDEs IDB4MDAsIDB4MDEsIDB4MzAsIDB4MDEsIDB4MDgsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwOCwgMHgyMiwgMHhCOCwgMHgwMCwgMHgyQSwgMHgwQSwgMHgwMCwgMHgzMCwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDQ3LCAweDAxLCAweEU4LCAweDAyLCAweEU4LCAweDAy LCAweDAxLCAweDA4LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4 MDAsIDB4MDEsIDB4MzAsIDB4MDEsIDB4MDgsIDB4MDgsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgyMiwgMHhCOCwgMHgwMCwgMHgyQSwgMHgwQSwgMHgwMCwgMHgzMCwgMHg0NywgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAweEY4LCAweDAzLCAweEY4LCAweDAzLCAw eDAxLCAweDA4LCAweDQ3LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIDB4MDAs IDB4MDEsIDB4MzAsIDB4MDEsIDB4MDgsIDB4MDgsIDB4MjIsIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHhCOCwgMHgwMCwgMHgyQSwgMHgwQSwgMHgwMCwgMHgzMCwgMHg0NywgMHgwMSwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEY4LCAweDAyLCAweEY4LCAweDAyLCAweDAx LCAweDA4LCAweDQ3LCAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4 MDEsIDB4MzAsIDB4MDEsIDB4MDgsIDB4MDgsIDB4MjIsIDB4QjgsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMCwgMHgyQSwgMHgwQSwgMHgwMCwgMHgzOCwgMHg3OSwgMHgwMAogICAg ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9Q UlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoQzE4QikKICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKEMxODAgKDB4MDMsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEMxODEgKDB4 MDMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1NSUywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAyLCBD MTg3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAw eDBBLCBDMThGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChB cmcwLCAweDExLCBDMThDKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChBcmcwLCAweDE0LCBDMTkwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEMx ODAgKDB4MDMsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5fRElTICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXF9TQi5DMEU0ICgweDAzLCBDMTg3LCBDMThGLCBDMThDLCBDMTkwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5eQzE3QyAoMHgwMywgQzE4NywgQzE4RiwgQzE4QywgQzE5 MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBO YW1lIChDMDBELCBCdWZmZXIgKDB4MTgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0NywgMHgwMSwgMHhFOCwgMHgwMywgMHhF OCwgMHgwMywgMHgwMSwgMHgwOCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0 NywgMHgwMSwgMHgwMCwgMHgwMSwgMHgwMCwgMHgwMSwgMHgxMCwgMHgwOCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgyMiwgMHgwOCwgMHgwMCwgMHgyQSwgMHgwMiwgMHgwMCwg MHg3OSwgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQzAwRCwgMHgwMiwgQzE4NykKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQzAwRCwgMHgwNCwgQzE4OCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQzAwRCwgMHgwQSwgQzE4 RikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQzAwRCwgMHgw QywgQzE5NCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQzAw RCwgMHgxMSwgQzE4QykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoQzAwRCwgMHgxNCwgQzE5MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1 YWwgKEMxODAgKDB4MDMsIDB4MDEpLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzE4NykKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzE4OCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzE4RikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzE5NCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzE4QykKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMCwgQzE5MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKEMwMEQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKEMxN0EgKDB4MDMpLCBMb2NhbDEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKExvY2FsMSwgMHgwMCkpLCBDMTg3 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMxODcsIEMxODgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKExvY2FsMSwgMHgwMSkp LCBDMThGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMxOEYsIEMxOTQpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKExvY2FsMSwg MHgwMikpLCBDMThDKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2Yg KEluZGV4IChMb2NhbDEsIDB4MDMpKSwgQzE5MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJldHVybiAoQzAwRCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgUG93ZXJSZXNvdXJjZSAoQzE5NSwgMHgwMCwgMHgwMDAwKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDMTdFICgweDAzKSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9PTiwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDMTdGICgweDAzLCAweDAxKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX09GRiwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDMTdGICgweDAzLCAweDAwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgICAgICBOYW1lIChfUFIwLCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDMTk1CiAgICAgICAgICAgICAgICAgICAg ICAgIH0pCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2Ug KEMxOTYpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9ISUQsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChDMTk3ICgpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxMDREMDQx LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAwNEQwNDEsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgTmFtZSAoQzE5OCwgMHhGRikKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChDMTk3 LCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEVxdWFsIChDMTk4LCAweEZGKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzE3RCAo KSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBD MTk4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWww LCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBDMTk4KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEMxOTgpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKEMxOTksIDB4MDApCiAgICAgICAgICAg ICAgICAgICAgICAgIE5hbWUgKEMxOEIsIEJ1ZmZlciAoMHhENCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMSwgMHgwMCwgMHg0NywgMHgw MSwgMHg3OCwgMHgwMywgMHg3OCwgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAxLCAweDA4LCAweDQ3LCAweDAxLCAweDc4LCAweDA3LCAweDc4LCAweDA3LCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsIDB4MDMsIDB4MjIsIDB4QTAsIDB4MDAsIDB4MkEsIDB4 MEEsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMSwgMHgwMCwgMHg0Nywg MHgwMSwgMHg3OCwgMHgwMiwgMHg3OCwgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDAxLCAweDA4LCAweDQ3LCAweDAxLCAweDc4LCAweDA2LCAweDc4LCAweDA2LCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIDB4MDMsIDB4MjIsIDB4QTAsIDB4MDAsIDB4MkEs IDB4MEEsIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzMCwgMHg0NywgMHgw MSwgMHhCQywgMHgwMywgMHhCQywgMHgwMywgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDA0LCAweDQ3LCAweDAxLCAweEJDLCAweDA3LCAweEJDLCAweDA3LCAweDAxLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsIDB4MjIsIDB4QTAsIDB4MDAsIDB4MkEsIDB4 MEEsIDB4MDAsIDB4MzAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg0NywgMHgwMSwg MHg3OCwgMHgwMywgMHg3OCwgMHgwMywgMHgwMSwgMHgwOCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDQ3LCAweDAxLCAweDc4LCAweDA3LCAweDc4LCAweDA3LCAweDAxLCAweDAzLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjIsIDB4QTAsIDB4MDAsIDB4MkEsIDB4MDAs IDB4MDAsIDB4MzAsIDB4NDcsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgMHg3 OCwgMHgwMiwgMHg3OCwgMHgwMiwgMHgwMSwgMHgwOCwgMHg0NywgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAxLCAweDc4LCAweDA2LCAweDc4LCAweDA2LCAweDAxLCAweDAzLCAweDIy LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4QTAsIDB4MDAsIDB4MkEsIDB4MDAsIDB4 MDAsIDB4MzAsIDB4NDcsIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhCQywg MHgwMywgMHhCQywgMHgwMywgMHgwMSwgMHgwNCwgMHg0NywgMHgwMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweEJDLCAweDA3LCAweEJDLCAweDA3LCAweDAxLCAweDAzLCAweDIyLCAw eEEwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MkEsIDB4MDAsIDB4MDAs IDB4MzAsIDB4NDcsIDB4MDEsIDB4NzgsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MywgMHg3OCwgMHgwMywgMHgwMSwgMHgwOCwgMHg0NywgMHgwMSwgMHg3OCwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDA3LCAweDc4LCAweDA3LCAweDAxLCAweDAzLCAweDIyLCAweDAw LCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MkEsIDB4MDAsIDB4MDAsIDB4 MzAsIDB4NDcsIDB4MDEsIDB4NzgsIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHg3OCwgMHgwMiwgMHgwMSwgMHgwOCwgMHg0NywgMHgwMSwgMHg3OCwgMHgwNiwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDc4LCAweDA2LCAweDAxLCAweDAzLCAweDIyLCAweDAwLCAw eDAwLCAweDJBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MzAs IDB4NDcsIDB4MDEsIDB4QkMsIDB4MDMsIDB4QkMsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMywgMHgwMSwgMHgwNCwgMHg0NywgMHgwMSwgMHhCQywgMHgwNywgMHhCQywgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDA3LCAweDAxLCAweDAzLCAweDIyLCAweDAwLCAweDAw LCAweDJBLCAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MzgsIDB4 NzksIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfUFJTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEMxOEIpCiAgICAgICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKEMxOTkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEQsIExvY2FsMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQzE4MCAoMHgwMSwgMHgwNCksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChf RElTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoXF9TQi5DMDI2KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBDMTk5 KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDMTgxICgw eDAxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMiwgQzE4NykKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwQSwgQzE4RikKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgxMSwgQzE4 QykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgx NCwgQzE5MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChDMTgwICgweDAxLCAweDA0 KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBfRElTICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5DMEU0 ICgweDAxLCBDMTg3LCBDMThGLCBDMThDLCBDMTkwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEMxN0MgKDB4MDEsIEMxODcsIEMxOEYsIEMxOEMsIEMxOTApCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAs IEMxOTkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg IE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzAwRCwgQnVmZmVyICgweDE4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4NDcsIDB4MDEsIDB4NzgsIDB4MDMsIDB4NzgsIDB4MDMsIDB4MDEsIDB4MDgsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4NzgsIDB4MDcsIDB4Nzgs IDB4MDcsIDB4MDEsIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjIs IDB4ODAsIDB4MDAsIDB4MkEsIDB4MDgsIDB4MDAsIDB4NzksIDB4MDAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmll bGQgKEMwMEQsIDB4MDIsIEMxODcpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVX b3JkRmllbGQgKEMwMEQsIDB4MDQsIEMxODgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBD cmVhdGVCeXRlRmllbGQgKEMwMEQsIDB4MDcsIEMxOUEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDcmVhdGVXb3JkRmllbGQgKEMwMEQsIDB4MEEsIEMxOEYpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEMwMEQsIDB4MEMsIEMxOTQpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQgKEMwMEQsIDB4MEYsIEMxOUIpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEMwMEQsIDB4MTEsIEMxOEMp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEMwMEQsIDB4MTQs IEMxOTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQzE5OSkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTgwICgweDAxLCAweDA0KSwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMxODcpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMxODgpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMxOEYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMxOTQpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMxOEMpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDAsIEMxOTApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChDMDBEKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChDMTdBICgweDAxKSwgTG9jYWwxKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChMb2NhbDEsIDB4MDApKSwgQzE4 NykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMTg3LCBDMTg4KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQzE4NywgMHgwMjc4KSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwOCwgQzE5QSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw MywgQzE5QikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoTEVxdWFsIChDMTg3LCAweDAzQkMpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDA0LCBD MTlBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBDMTlCKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg IEFkZCAoQzE4NywgMHgwNDAwLCBDMThGKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEMxOEYsIEMxOTQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZP ZiAoSW5kZXggKExvY2FsMSwgMHgwMikpLCBDMThDKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChMb2NhbDEsIDB4MDMpKSwgQzE5MCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoQzAwRCkKICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgUG93ZXJSZXNvdXJjZSAoQzE5QywgMHgwMCwgMHgw MDAwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChDMTdFICgweDAx KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9PTiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDMTdGICgweDAxLCAweDAx KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX09GRiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTE9yIChcX1NCLkMw MjYsIExFcXVhbCAoMHgwMCwgMHgwMSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQzE3RiAoMHgwMSwgMHgwMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKF9Q UjAsIFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEMxOUMKICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoXF9TQi5DMTlELCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKFxfU0IuQzA0Ni5DMDU5LkMxNTguQzE3OSAoMHgwMiksIExvY2FsMCkKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBNZXRob2QgKFxfU0IuQzE4NCwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAx LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChOb3QgKEFuZCAoXF9TQi5DMDI0 LCAweDEwKSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChcX1NCLkMxOUUsIDEsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MDApCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIERldmljZSAoQzE5RikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzA0IikpCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0NSUywgQnVmZmVyICgweDBEKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgMHg0NywgMHgwMSwgMHhGMCwgMHgwMCwgMHhGMCwgMHgwMCwgMHgwMSwgMHgx MCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MjIsIDB4MDAsIDB4MjAsIDB4NzksIDB4MDAK ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IERldmljZSAoQzFBMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJQTlAwMTAwIikpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NS UywgQnVmZmVyICgweDBEKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgMHg0NywgMHgwMSwgMHg0MCwgMHgwMCwgMHg0MCwgMHgwMCwgMHgwMSwgMHgwNCwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MjIsIDB4MDEsIDB4MDAsIDB4NzksIDB4MDAKICAgICAg ICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmlj ZSAoQzE5MCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElE LCBFaXNhSWQgKCJQTlAwMjAwIikpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgQnVm ZmVyICgweDFEKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg MHg0NywgMHgwMSwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgxMCwgCiAgICAgICAg ICAgICAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4ODAsIDB4MDAsIDB4ODAsIDB4MDAsIDB4MDEs IDB4MTAsIAogICAgICAgICAgICAgICAgICAgICAgICAweDQ3LCAweDAxLCAweEMwLCAweDAwLCAw eEMwLCAweDAwLCAweDAxLCAweDIwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgyQSwgMHgx MCwgMHgwMiwgMHg3OSwgMHgwMAogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChDMUExKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDA4MDAiKSkKICAgICAgICAg ICAgICAgICAgICBOYW1lIChfQ1JTLCBCdWZmZXIgKDB4MEEpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAweDQ3LCAweDAxLCAweDYxLCAweDAwLCAweDYxLCAw eDAwLCAweDAxLCAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHg3OSwgMHgwMAogICAg ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2 aWNlIChDMUEyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBCMDAiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBC dWZmZXIgKDB4MTUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAweDQ3LCAweDAxLCAweDcwLCAweDAwLCAweDcwLCAweDAwLCAweDAxLCAweDAyLCAKICAgICAg ICAgICAgICAgICAgICAgICAgMHg0NywgMHgwMSwgMHg3MiwgMHgwMCwgMHg3MiwgMHgwMCwgMHgw MSwgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MjIsIDB4MDAsIDB4MDEsIDB4Nzks IDB4MDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIERldmljZSAoQzFBMykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwMzAzIikpCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0NSUywgQnVmZmVyICgweDE1KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgMHg0NywgMHgwMSwgMHg2MCwgMHgwMCwgMHg2MCwgMHgwMCwgMHgwMSwgMHgw MSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4NjQsIDB4MDAsIDB4NjQs IDB4MDAsIDB4MDEsIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAweDIyLCAweDAyLCAw eDAwLCAweDc5LCAweDAwCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICBEZXZpY2UgKEMxQTQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgTmFtZSAoX0NSUywgQnVmZmVyICgweDA1KQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgyMiwgMHgwMCwgMHgxMCwgMHg3OSwgMHgwMAog ICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzFBNSwgMHgw MSkKICAgICAgICAgICAgICAgICAgICBQb3dlclJlc291cmNlIChDMUE2LCAweDAwLCAweDAwMDAp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9T VEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJldHVybiAoQzFBNSkKICAgICAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfT04sIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDAxLCBDMUE1KQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9PRkYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBDMUE1 KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfUFIwLCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQzFBNgogICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgU2NvcGUgKEMxQTQpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiU1lOMDEw NyIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DSUQsIFBhY2thZ2UgKDB4MDMpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDEyRTRGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMjAwMkU0RiwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MTMwRkQwNDEKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAweDBCLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAg ICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUFNXLCAxLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg QWNxdWlyZSAoXF9TQi5DMDQ2LkMwNTkuQzBFQS5DMEVCLCAweEZGRkYpCiAgICAgICAgICAgICAg ICAgICAgICAgIElmIChcX1NCLkMwNDYuQzA1OS5DMEVBLkMwRUQpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAxLCBcX1NCLkMwNDYuQzA1OS5DMEVBLkMwRjIpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAs IFxfU0IuQzA0Ni5DMDU5LkMwRUEuQzBGMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmVsZWFz ZSAoXF9TQi5DMDQ2LkMwNTkuQzBFQS5DMEVCKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBTY29wZSAoQzFBMykKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwQiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX1BTVywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIEFjcXVpcmUgKFxfU0IuQzA0Ni5DMDU5LkMwRUEuQzBF QiwgMHhGRkZGKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoXF9TQi5DMDQ2LkMwNTkuQzBF QS5DMEVEKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQXJnMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgXF9TQi5DMDQ2LkMwNTkuQzBFQS5DMEYw KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAwLCBcX1NCLkMwNDYuQzA1OS5DMEVBLkMwRjApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgIFJlbGVhc2UgKFxfU0IuQzA0Ni5DMDU5LkMwRUEuQzBFQikKICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QU0MsIDB4MDAp CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzFBNywgMHgwMCkKICAgICAgICAgICAgICAgICAg ICBOYW1lIChDMUE4LCAweDA0NEMpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg RGV2aWNlIChDMUE5KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9ISUQsIEVpc2FJZCAoIlBOUDAwMDAiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JT LCBCdWZmZXIgKDB4MTUpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAweDQ3LCAweDAxLCAweDIwLCAweDAwLCAweDIwLCAweDAwLCAweDAxLCAweDAyLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHg0NywgMHgwMSwgMHhBMCwgMHgwMCwgMHhBMCwgMHgwMCwg MHgwMSwgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MjIsIDB4MDQsIDB4MDAsIDB4 NzksIDB4MDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQogICAgICAg ICAgICB9CgogICAgICAgICAgICBTY29wZSAoQzA1OCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgRGV2aWNlIChDMUFBKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9BRFIsIDB4MDAwNDAwMDApCiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVn aW9uIChDMUFCLCBQQ0lfQ29uZmlnLCAweDQ0LCAweDA0KQogICAgICAgICAgICAgICAgICAgIEZp ZWxkIChDMUFCLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBDMUFDLCAgIDMyCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwg QzFBQykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgRGV2aWNlIChDMUFEKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9BRFIsIDB4MDAwMTAwMDApCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RB LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDBGKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MEIsIAogICAgICAgICAgICAgICAgICAgICAgICAw eDAzCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBEZXZpY2UgKEMxQUUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX0FEUiwgMHgwMDA2MDAwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBEZXZpY2UgKEMxQUYpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMDA2MDAwMSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAg ICAgICAgICAgU2NvcGUgKEMwOTgpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERldmlj ZSAoQzFCMCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURS LCAweDAwKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKEMxQjEsIFBhY2thZ2UgKDB4MDUpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgw MAogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RN LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEJ1ZmZlciAoMHgxNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGLCAweEZGLCAweEZGLCAweEZG LCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweEZGLCAweEZGLCAweEZGLCAweEZGCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgwMCwgQzFCMikKICAgICAgICAgICAgICAgICAgICAg ICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDA0LCBDMUIzKQogICAgICAgICAgICAgICAg ICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MTAsIEMxQjQpCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChDMEEwICgweDAwLCAweDAwKSwgQzFCMikKICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKEMwQTMgKDB4MDApLCBDMUI0KQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoQW5kIChDMUI0LCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwQTIgKDB4MDAsIDB4MDApLCBDMUIzKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KEMxQjIsIEMxQjMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfU1RNLCAzLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgw MCwgQzFCMikKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwg MHgwNCwgQzFCMykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJn MCwgMHgxMCwgQzFCNCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoU2l6ZU9m IChBcmcxKSwgMHgwMjAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlIChCdWZmZXIgKE11bHRpcGx5IChTaXplT2YgKEMxQjUpLCAweDAyKSkge30s IExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdoaWxlIChMTGVzcyAoTG9jYWww LCBTaXplT2YgKEMxQjUpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEMxQjUsIExvY2Fs MCkpLCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKExv Y2FsMiwgMHgwMiwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRp cGx5IChMb2NhbDAsIDB4MDIsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEFyZzEsIExvY2FsMikpLCBJbmRleCAoTG9jYWwxLCBM b2NhbDMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJ bmRleCAoQXJnMSwgQWRkIChMb2NhbDIsIDB4MDEpKSksIEluZGV4IChMb2NhbDEsIEFkZCAoTG9j YWwzLCAweDAxKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChM b2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEMwQTQgKDB4MDAsIDB4MDAsIEMxQjIsIEMxQjQsIExvY2FsMSksIExv Y2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMEE4ICgweDAwLCAweDAw LCBDMUIzLCBDMUI0LCBMb2NhbDEpLCBMb2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcX1NCLkMxQjYgKExvY2FsMiwgTG9jYWwzLCBMb2NhbDEsIEMxQjEpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoXF9TQi5DMUI3KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBcX1NCLkMxQjcp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoRGVyZWZPZiAoSW5kZXgg KEFyZzEsIDB4MDEwMCkpLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuQzBEQSAoMHhFQTQ5LCAw eDBDLCAweDAwLCAweDAwLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgRGV2aWNlIChDMUI4KQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwg MHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFxfU0IuQzFCOSAoQzFCMSwgMHgwMCkpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgRGV2aWNlIChDMUJBKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9BRFIsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoQzFCQiwgUGFja2FnZSAo MHgwNSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAg ICAgICAweDAwCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9HVE0sIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQnVmZmVyICgweDE0KQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYsIDB4RkYsIDB4 RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkYsIDB4RkYsIDB4RkYsIDB4RkYK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoTG9jYWwwLCAweDAwLCBDMUIyKQogICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChMb2NhbDAsIDB4MDQsIEMxQjMpCiAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKExvY2FsMCwgMHgxMCwgQzFCNCkKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEMwQTAgKDB4MDEsIDB4MDApLCBDMUIyKQogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzBBMyAoMHgwMSksIEMxQjQpCiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChBbmQgKEMxQjQsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzBBMiAoMHgwMSwgMHgwMCks IEMxQjMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQzFCMiwgQzFCMykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVE0sIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChBbmQgKFxf U0IuQzBFNSAoKSwgMHgwRiksIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCAweDAwLCBDMUIy KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQXJnMCwgMHgw NCwgQzFCMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFy ZzAsIDB4MTAsIEMxQjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChT aXplT2YgKEFyZzEpLCAweDAyMDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEJ1ZmZlciAoTXVsdGlwbHkgKFNpemVPZiAo QzFCNSksIDB4MDIpKSB7fSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFdoaWxlIChMTGVzcyAoTG9jYWwwLCBTaXplT2YgKEMxQjUpKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChEZXJlZk9mIChJbmRleCAoQzFCNSwgTG9jYWwwKSksIExvY2FsMikKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKExvY2FsMiwgMHgwMiwgTG9jYWwyKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwwLCAweDAyLCBM b2NhbDMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9m IChJbmRleCAoQXJnMSwgTG9jYWwyKSksIEluZGV4IChMb2NhbDEsIExvY2FsMykpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoQXJnMSwg QWRkIChMb2NhbDIsIDB4MDEpKSksIEluZGV4IChMb2NhbDEsIEFkZCAoTG9jYWwzLCAweDAxKSkp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKEMwQTQgKDB4MDEsIDB4MDAsIEMxQjIsIEMxQjQsIExvY2FsMSksIExv Y2FsMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQzBBOCAoMHgwMSwg MHgwMCwgQzFCMywgQzFCNCwgTG9jYWwxKSwgTG9jYWwzKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFxfU0IuQzFCNiAoTG9jYWwyLCBMb2NhbDMsIExvY2FsMSwgQzFCQikKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChEZXJlZk9mIChJbmRleCAoQXJnMSwg MHgwMTAwKSksIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5DMERBICgweEVBNDksIDB4MEMsIDB4 MDEsIDB4MDAsIDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBEZXZpY2UgKEMxQjgpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQog ICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9QUzAsIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1BTMywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2Fs MCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFxfU0IuQzFCOSAoQzFCQiwgMHgwMCkp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChDMEFBLCAyLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAyLCBMb2Nh bDApCiAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExFcXVhbCAoQXJnMCwgMHgwMCksIExF cXVhbCAoQXJnMSwgMHgwMCkpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MDUsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgICAgICAgICAgfQogICAgICAg ICAgICB9CgogICAgICAgICAgICBTY29wZSAoQzBBQykKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAgICAweDAzCiAgICAgICAgICAg ICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoX1MzRCwgMHgwMykKICAgICAgICAgICAgICAg IE5hbWUgKF9TNEQsIDB4MDMpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFNjb3BlIChDMEIz KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAy KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAg ICAgICAgICAgIDB4MDMKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBOYW1lIChf UzNELCAweDAzKQogICAgICAgICAgICAgICAgTmFtZSAoX1M0RCwgMHgwMykKICAgICAgICAgICAg fQoKICAgICAgICAgICAgU2NvcGUgKEMwQjQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgMHgwQywgCiAgICAgICAgICAgICAgICAgICAgMHgwMwogICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgIE5hbWUgKF9TM0QsIDB4MDMpCiAgICAgICAgICAgICAgICBOYW1l IChfUzRELCAweDAzKQogICAgICAgICAgICB9CgogICAgICAgICAgICBTY29wZSAoQzBCNSkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDBELCAKICAgICAgICAgICAgICAg ICAgICAweDAzCiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgTmFtZSAoX1MzRCwg MHgwMykKICAgICAgICAgICAgICAgIE5hbWUgKF9TNEQsIDB4MDMpCiAgICAgICAgICAgIH0KCiAg ICAgICAgICAgIE5hbWUgKEMwQzIuX1BSUywgQnVmZmVyICgweDA2KQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAweDIzLCAweDIwLCAweDA0LCAweDE4LCAweDc5LCAweDAwCiAgICAgICAg ICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEMwQzMuX1BSUywgQnVmZmVyICgweDA2KQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAweDIzLCAweDIwLCAweDA0LCAweDE4LCAweDc5LCAweDAw CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEMwQzQuX1BSUywgQnVmZmVyICgweDA2 KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDIzLCAweDIwLCAweDA0LCAweDE4LCAw eDc5LCAweDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEMwQzUuX1BSUywgQnVm ZmVyICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDIzLCAweDIwLCAweDA0 LCAweDE4LCAweDc5LCAweDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEMwQzYu X1BSUywgQnVmZmVyICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDIzLCAw eDIwLCAweDA0LCAweDE4LCAweDc5LCAweDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5h bWUgKEMwQzcuX1BSUywgQnVmZmVyICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAweDIzLCAweDIwLCAweDA0LCAweDE4LCAweDc5LCAweDAwCiAgICAgICAgICAgIH0pCiAgICAg ICAgICAgIE5hbWUgKEMwQzguX1BSUywgQnVmZmVyICgweDA2KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAweDIzLCAweDIwLCAweDA0LCAweDE4LCAweDc5LCAweDAwCiAgICAgICAgICAg IH0pCiAgICAgICAgICAgIE5hbWUgKEMwQzkuX1BSUywgQnVmZmVyICgweDA2KQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAweDIzLCAweDIwLCAweDA0LCAweDE4LCAweDc5LCAweDAwCiAg ICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKF9QUlQsIFBhY2thZ2UgKDB4MDYpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgQzBDMiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMAog ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAgICAg ICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICBDMEM1LCAKICAgICAgICAgICAgICAg ICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIAog ICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgIEMwQzQsIAogICAg ICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgw MDFERkZGRiwgCiAgICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAg QzBDOSwgCiAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfSwgCgogICAg ICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAweDAwMUZGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgICAgICBDMEM0LCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAg ICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDEs IAogICAgICAgICAgICAgICAgICAgIEMwQzMsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICAgICAgTmFtZSAoQzA0Ny5fUFJU LCBQYWNrYWdlICgweDAxKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgQzBDMiwgCiAgICAgICAg ICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAg ICAgICBOYW1lIChDMDU4Ll9QUlQsIFBhY2thZ2UgKDB4MDUpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgMHhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAg ICAgICBDMEMyLCAKICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIDB4MDAwMUZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAg ICAgICAgICAgICAgICAgIEMwQzMsIAogICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAg ICAgICAgIH0sIAoKICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgMHgwMDAyRkZGRiwgCiAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgQzBDNSwgCiAgICAgICAgICAgICAgICAgICAgMHgw MAogICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAwMDRGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICBDMEM0LCAKICAgICAgICAgICAg ICAgICAgICAweDAwCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDAwNkZGRkYs IAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIEMwQzUsIAog ICAgICAgICAgICAgICAgICAgIDB4MDAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkK ICAgICAgICB9CgogICAgICAgIE5hbWUgKEMxMkYsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgewog ICAgICAgICAgICBQYWNrYWdlICgweDBEKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAw eDAxLCAKICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgMHhGRkZG RkZGRiwgCiAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYs IAogICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAgMHg2NCwgCiAgICAgICAgICAgICAgICAiUHJp bWFyeSIsIAogICAgICAgICAgICAgICAgIjEwMDAwMCIsIAogICAgICAgICAgICAgICAgIkxJb24i LCAKICAgICAgICAgICAgICAgICIgSGV3bGV0dC1QYWNrYXJkICIKICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICBQYWNrYWdlICgweDBEKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAw eDAxLCAKICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgMHhGRkZG RkZGRiwgCiAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYs IAogICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAg ICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAgMHg2NCwgCiAgICAgICAgICAgICAgICAiTXVs dGlCYXkiLCAKICAgICAgICAgICAgICAgICIxMDAwMDAiLCAKICAgICAgICAgICAgICAgICJMSW9u IiwgCiAgICAgICAgICAgICAgICAiIEhld2xldHQtUGFja2FyZCAiCiAgICAgICAgICAgIH0KICAg ICAgICB9KQogICAgICAgIE5hbWUgKEMxMkUsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgewogICAg ICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgMHhCMDEwLCAKICAgICAg ICAgICAgICAgIDB4NDBGMgogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4 MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAweEIwMTAsIAogICAgICAgICAgICAgICAgMHg0MEYyCiAg ICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUgKEMxMkQsIFBhY2thZ2UgKDB4MDQp CiAgICAgICAgewogICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgMHgwMCwgCiAgICAgICAg ICAgIDB4QjAxMCwgCiAgICAgICAgICAgIDB4NDBGMgogICAgICAgIH0pCiAgICAgICAgTWV0aG9k IChDMTJDLCAxLCBTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKFxfU0Iu QzA0Ni5DMDU5LkMwRUEuQzEyQyAoQXJnMCksIExvY2FsMCkKICAgICAgICAgICAgSWYgKExFcXVh bCAoTG9jYWwwLCAweEZGRkZGRkZEKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0 dXJuIChQYWNrYWdlICgweDBEKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAg ICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAg ICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICIiLCAKICAgICAgICAgICAgICAgICAg ICAiIiwgCiAgICAgICAgICAgICAgICAgICAgIiIsIAogICAgICAgICAgICAgICAgICAgIDB4MDAK ICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0KICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKERlcmVmT2YgKEluZGV4IChDMTJGLCBBcmcw KSkpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIE5hbWUgKEMxMzUsIDB4MDApCiAg ICAgICAgTmFtZSAoQzFCQywgMHgwMSkKICAgICAgICBNZXRob2QgKEMxMzIsIDEsIFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBJZiAoTEVxdWFsIChDMTM1LCAweDAwKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuQzA0Ni5DMDU5LkMwRTMgKEMxQkMp LCBMb2NhbDEpCiAgICAgICAgICAgICAgICBJZiAoQzFCQykKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgQzFCQykKICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5DMDQ2LkMwNTkuQzBFQS5DMTMyIChBcmcwLCBMb2Nh bDEpLCBMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFN0b3JlICgweDAwLCBDMTM1 KQogICAgICAgICAgICBSZXR1cm4gKERlcmVmT2YgKEluZGV4IChDMTJFLCBBcmcwKSkpCiAgICAg ICAgfQoKICAgICAgICBEZXZpY2UgKEMxMUYpCiAgICAgICAgewogICAgICAgICAgICBOYW1lIChf SElELCBFaXNhSWQgKCJQTlAwQzBBIikpCiAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDEpCiAg ICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgUmV0dXJuIChcX1NCLkMwNDYuQzA1OS5DMEVBLkMxMkIgKDB4MDEpKQog ICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9CSUYsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoQzEyQyAoMHgwMCkpCiAgICAg ICAgICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX0JTVCwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChDMTMyICgweDAwKSkKICAgICAgICAg ICAgfQoKICAgICAgICAgICAgTmFtZSAoX1BDTCwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgXF9TQgogICAgICAgICAgICB9KQogICAgICAgIH0KCiAgICAgICAg RGV2aWNlIChDMTM0KQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgIkFDUEkwMDAz IikKICAgICAgICAgICAgTmFtZSAoX1BDTCwgUGFja2FnZSAoMHgwMSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgXF9TQgogICAgICAgICAgICB9KQogICAgICAgICAgICBNZXRob2QgKF9Q U1IsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0b3Jl ICgweDgwLCBcX1NCLkMwNDYuQzA1OS5DMDc1KQogICAgICAgICAgICAgICAgQW5kIChcX1NCLkMw NDYuQzA1OS5DMDc1LCAweDgwLCBMb2NhbDApCiAgICAgICAgICAgICAgICBJZiAoTG9jYWwwKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KICAgICAgICB9CgogICAgICAgIERldmljZSAoQzFCRSkKICAgICAgICB7CiAgICAgICAgICAg IE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEMiKSkKICAgICAgICB9CgogICAgICAgIERldmlj ZSAoQzEzNikKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBD MEQiKSkKICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgMHgxRCwgCiAgICAgICAgICAgICAgICAweDAzCiAgICAgICAgICAg IH0pCiAgICAgICAgICAgIE1ldGhvZCAoX0xJRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMCkKICAgICAgICAgICAgICAg IElmIChBbmQgKFxfU0IuQzA0Ni5DMDU5LkMwODYsIDB4MjAwMCkpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIExvY2FsMCkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICAgICAgfQogICAgICAg IH0KCiAgICAgICAgTmFtZSAoQzFCNSwgQnVmZmVyICgweDA5KQogICAgICAgIHsKICAgICAgICAg ICAgMHgyRiwgMHgzMSwgMHgzNSwgMHgzRiwgMHg0MCwgMHg1MywgMHg1OCwgMHg4MCwgCiAgICAg ICAgICAgIDB4MDAKICAgICAgICB9KQogICAgICAgIE5hbWUgKEMxQjcsIDB4MDApCiAgICAgICAg TWV0aG9kIChDMUI2LCA0LCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChBcmcyLCAweDAwLCBDMUJGKQogICAgICAgICAgICBDcmVhdGVXb3JkRmll bGQgKEFyZzIsIDB4MDYsIEMxQzApCiAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMiwg MHgwQSwgQzFDMSkKICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcyLCAweDBFLCBDMUMy KQogICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICBXaGlsZSAoTExl c3MgKExvY2FsMCwgU2l6ZU9mIChBcmczKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IFN0b3JlICgweDAwLCBJbmRleCAoQXJnMywgTG9jYWwwKSkKICAgICAgICAgICAgICAgIEluY3Jl bWVudCAoTG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAgICAgICBTdG9yZSAoQXJnMCwgTG9j YWwwKQogICAgICAgICAgICBTdG9yZSAoQXJnMSwgTG9jYWwxKQogICAgICAgICAgICBJZiAoTEVx dWFsIChMb2NhbDEsIDB4MDApKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoQW5k IChDMUMwLCAweDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgyMCwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMRXF1YWwgKEFu ZCAoTG9jYWwwLCAweDA3KSwgMHgwMyksIEFuZCAoQzFDMCwgMHgwMikpKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMSwgMHgwMSwgTG9jYWwx KQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTEVxdWFsIChB bmQgKExvY2FsMCwgMHgwNyksIDB4MDQpLCBBbmQgKEMxQzAsIDB4MDQpKSkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKExvY2FsMSwgMHgw MiwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBTdG9yZSAoTG9j YWwwLCBJbmRleCAoQXJnMywgMHgwMCkpCiAgICAgICAgICAgIFN0b3JlIChMb2NhbDEsIEluZGV4 IChBcmczLCAweDAxKSkKICAgICAgICAgICAgSWYgKEFuZCAoQzFDMiwgMHgwMSkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBJbmRleCAoQXJnMywgMHgwMikpCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChBbmQgKEMxQzEsIDB4MDgwMCkpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBJbmRleCAoQXJnMywgMHgwMykpCiAg ICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChMTm90IChMRXF1YWwgKEMxQkYsIDB4MDApKSkK ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKEMxQkYsIEluZGV4IChBcmczLCAw eDA0KSkKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChDMUMzLCAzLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKExPciAoTEVxdWFsIChBcmcw LCAweDAwKSwgTEVxdWFsIChBcmcwLCAweDAxKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIFN0b3JlIChCdWZmZXIgKDB4MDcpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEVGCiAg ICAgICAgICAgICAgICAgICAgfSwgTG9jYWwwKQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEs IEluZGV4IChMb2NhbDAsIDB4MDEpKQogICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoTEVx dWFsIChBcmcwLCAweDAyKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKEJ1 ZmZlciAoMHgwNykKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4RjUKICAgICAgICAgICAgICAg ICAgICB9LCBMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChMRXF1YWwgKEFy ZzAsIDB4MDMpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoQnVmZmVyICgw eDA3KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHhDMSwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhCMQogICAgICAgICAgICAgICAgICAgIH0s IExvY2FsMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgw NCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlIChCdWZmZXIgKDB4MDcpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAw eDAwLCAweDAwLCAweDAwLCAweDAwLCAweEM2CiAgICAgICAgICAgICAgICAgICAgfSwgTG9jYWww KQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEluZGV4IChMb2NhbDAsIDB4MDEpKQogICAg ICAgICAgICB9CgogICAgICAgICAgICBTdG9yZSAoT3IgKDB4QTAsIFNoaWZ0TGVmdCAoQXJnMiwg MHgwNCkpLCBJbmRleCAoTG9jYWwwLCAweDA1KSkKICAgICAgICAgICAgUmV0dXJuIChMb2NhbDAp CiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEMxQjksIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgewogICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICBXaGlsZSAo TExlc3MgKExvY2FsMCwgU2l6ZU9mIChBcmcwKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgIElmIChMTm90IChMRXF1YWwgKERlcmVmT2YgKEluZGV4IChBcmcwLCBMb2NhbDApKSwgMHgw MCkpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChDMUMzIChM b2NhbDAsIERlcmVmT2YgKEluZGV4IChBcmcwLCBMb2NhbDApKSwgQXJnMSksIExvY2FsMikKICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2NhbDAsIDB4MDApKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMiwgTG9jYWwxKQog ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBDb25jYXRlbmF0ZSAoTG9jYWwxLCBM b2NhbDIsIExvY2FsMykKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMywgTG9j YWwxKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBJbmNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJu IChMb2NhbDEpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEMxQzQsIDIsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgewogICAgICAgICAgICBBZGQgKE11bHRpcGx5IChBcmcwLCAweDAyKSwgQXJn MSwgTG9jYWwwKQogICAgICAgICAgICBYT3IgKFNoaWZ0UmlnaHQgKEMwNDAsIDB4MDYpLCAweDAz LCBMb2NhbDEpCiAgICAgICAgICAgIFhPciAoU2hpZnRSaWdodCAoQzA0NCwgMHgwNiksIDB4MDMs IExvY2FsMikKICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCBMb2NhbDEpKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgTG9jYWwyKSkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgUmV0dXJuICgweDA1KQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZXR1cm4g KDB4RkYpCiAgICAgICAgfQoKICAgICAgICBNdXRleCAoQzFDNSwgMHgwMCkKICAgICAgICBNZXRo b2QgKEMwREEsIDUsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBBY3F1aXJl IChDMUM1LCAweEZGRkYpCiAgICAgICAgICAgIElmIChBcmc0KQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBBY3F1aXJlIChcX0dMLCAweEZGRkYpCiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIFNoaWZ0TGVmdCAoQXJnMCwgMHgxMCwgQzAzOCkKICAgICAgICAgICAgU3RvcmUgKEFyZzEs IEMwM0IpCiAgICAgICAgICAgIFN0b3JlIChBcmcyLCBDMDM5KQogICAgICAgICAgICBTdG9yZSAo QXJnMywgQzAzQSkKICAgICAgICAgICAgU3RvcmUgKDB4MDAsIEMwM0MpCiAgICAgICAgICAgIFxD MENBIChBcmcwKQogICAgICAgICAgICBTdG9yZSAoQzAzQywgTG9jYWwwKQogICAgICAgICAgICBJ ZiAoQXJnNCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmVsZWFzZSAoXF9HTCkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgUmVsZWFzZSAoQzFDNSkKICAgICAgICAgICAgUmV0dXJu IChMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBPcGVyYXRpb25SZWdpb24gKEMxQzYsIFN5c3Rl bUlPLCAweDg0LCAweDAyKQogICAgICAgIEZpZWxkIChDMUM2LCBCeXRlQWNjLCBOb0xvY2ssIFBy ZXNlcnZlKQogICAgICAgIHsKICAgICAgICAgICAgQzFDNywgICA4LCAKICAgICAgICAgICAgQzFD OCwgICA4CiAgICAgICAgfQoKICAgICAgICBNdXRleCAoQzFDOSwgMHgwMCkKICAgICAgICBNZXRo b2QgKEMxRDMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBBY3F1aXJl IChDMUM5LCAweEZGRkYpCiAgICAgICAgICAgIFN0b3JlIChBcmcwLCBDMUM3KQogICAgICAgICAg ICBSZWxlYXNlIChDMUM5KQogICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgfQoKICAg ICAgICBNZXRob2QgKEMxRDYsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAg ICBBY3F1aXJlIChDMUM5LCAweEZGRkYpCiAgICAgICAgICAgIFN0b3JlIChBcmcwLCBDMUM4KQog ICAgICAgICAgICBSZWxlYXNlIChDMUM5KQogICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKEMxRDcsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBBY3F1aXJlIChDMUM5LCAweEZGRkYpCiAgICAgICAgICAgIFN0b3JlIChBbmQg KEFyZzAsIDB4RkYpLCBDMUM3KQogICAgICAgICAgICBTdG9yZSAoQW5kIChTaGlmdFJpZ2h0IChB cmcwLCAweDA4KSwgMHhGRiksIEMxQzgpCiAgICAgICAgICAgIFJlbGVhc2UgKEMxQzkpCiAgICAg ICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQzFENSwgMSwg Tm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAg ICB9CgogICAgICAgIE1ldGhvZCAoQzFEOCwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAg ICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoQzFENCwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAg ICAgICB9CiAgICB9CgogICAgRGV2aWNlIChcX1NCLkMxREIpCiAgICB7CiAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwMiIpKQogICAgICAgIE5hbWUgKF9VSUQsIDB4MDApCiAgICAg ICAgTmFtZSAoQzFEQywgUGFja2FnZSAoMHgxMCkge30pCiAgICAgICAgTmFtZSAoQzFERCwgUGFj a2FnZSAoMHgxMCkge30pCiAgICAgICAgTmFtZSAoQzFERSwgUGFja2FnZSAoMHgxMSkge30pCiAg ICAgICAgTmFtZSAoQzFERiwgUGFja2FnZSAoMHgxMSkge30pCiAgICAgICAgTmFtZSAoQzFFMCwg MHhGRkZGRkZGRCkKICAgICAgICBNdXRleCAoQzFFMSwgMHgwMCkKICAgICAgICBNZXRob2QgKEMx RTIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBBZGQgKFxfU0IuQzAx RCwgMHgwMDBGMDAwMCwgTG9jYWwwKQogICAgICAgICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAg ICB9CgogICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQzFFMywgU3lzdGVtTWVtb3J5LCBDMUUyLCAw eEIwKQogICAgICAgIEZpZWxkIChDMUUzLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAg ICAgewogICAgICAgICAgICBDMUU0LCAgIDY0MAogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChD MUU1LCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgT3BlcmF0aW9uUmVn aW9uIChDMUU2LCBTeXN0ZW1NZW1vcnksIEFyZzAsIDB4MDMpCiAgICAgICAgICAgIEZpZWxkIChD MUU2LCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBDMUU3LCAgIDE2LCAKICAgICAgICAgICAgICAgIEMxRTgsICAgOAogICAgICAgICAgICB9 CgogICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICBJZiAoTEVxdWFs IChDMUU3LCAweEFBNTUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTaGlmdExlZnQg KEMxRTgsIDB4MDksIExvY2FsMCkKICAgICAgICAgICAgICAgIEFkZCAoQXJnMCwgTG9jYWwwLCBM b2NhbDApCiAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEMx RTksIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoQzFFNCwg TG9jYWwwKQogICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwzKQogICAgICAgICAgICBTdG9y ZSAoMHgwMCwgTG9jYWw0KQogICAgICAgICAgICBTdG9yZSAoMHgwMSwgTG9jYWwxKQogICAgICAg ICAgICBXaGlsZSAoTEFuZCAoTG9jYWwxLCBMTm90IChMR3JlYXRlciAoTG9jYWwzLCAweDEwKSkp KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKExv Y2FsMCwgQWRkIChMb2NhbDQsIDB4MDMpKSksIExvY2FsMikKICAgICAgICAgICAgICAgIE9yIChT aGlmdExlZnQgKERlcmVmT2YgKEluZGV4IChMb2NhbDAsIEFkZCAoTG9jYWw0LCAweDA0KSkpLCAw eDA4KSwgTG9jYWwyLCBMb2NhbDEpCiAgICAgICAgICAgICAgICBTaGlmdExlZnQgKExvY2FsMSwg MHgwNCwgTG9jYWwxKQogICAgICAgICAgICAgICAgSWYgKExvY2FsMSkKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwxLCBJbmRleCAoQzFEQywgTG9jYWwz KSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKExvY2FsMCwgQWRk IChMb2NhbDQsIDB4MDIpKSksIExvY2FsNSkKICAgICAgICAgICAgICAgICAgICBBZGQgKExvY2Fs MSwgU2hpZnRMZWZ0IChMb2NhbDUsIDB4MDkpLCBMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAg RGVjcmVtZW50IChMb2NhbDUpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsNSwgSW5k ZXggKEMxREQsIExvY2FsMykpCiAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDMp CiAgICAgICAgICAgICAgICAgICAgQWRkIChMb2NhbDQsIDB4MDUsIExvY2FsNCkKICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJuIChMb2NhbDMpCiAgICAg ICAgfQoKICAgICAgICBNZXRob2QgKEMxRUEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBTdG9yZSAoQzFFOSAoKSwgTG9jYWwzKQogICAgICAgICAgICBTdG9yZSAoTG9j YWwzLCBMb2NhbDQpCiAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDIpCiAgICAgICAgICAg IFN0b3JlIChMb2NhbDIsIExvY2FsNykKICAgICAgICAgICAgV2hpbGUgKExMZXNzIChMb2NhbDIs IExvY2FsNCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlICgweDAwMEZGRkZG LCBMb2NhbDEpCiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBMb2NhbDUpCiAgICAgICAg ICAgICAgICBXaGlsZSAoTExlc3MgKExvY2FsNSwgTG9jYWwzKSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEMxREMsIExvY2FsNSkp LCBMb2NhbDYpCiAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVyIChMb2NhbDYsIExvY2Fs NykpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExl c3MgKExvY2FsNiwgTG9jYWwxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsNSwgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKExvY2FsNiwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2Fs NiwgTG9jYWw3KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgRGVjcmVtZW50IChMb2NhbDQpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWw1 KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAoTG9jYWww LCBMb2NhbDIpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChE ZXJlZk9mIChJbmRleCAoQzFERCwgTG9jYWwwKSksIExvY2FsNykKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEMxREMsIExvY2FsMikpLCBJbmRleCAoQzFEQywgTG9j YWwwKSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEMxREQsIExv Y2FsMikpLCBJbmRleCAoQzFERCwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo TG9jYWwxLCBJbmRleCAoQzFEQywgTG9jYWwyKSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo TG9jYWw3LCBJbmRleCAoQzFERCwgTG9jYWwyKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAg ICAgICAgICBTdG9yZSAoQzFFNSAoTG9jYWwxKSwgTG9jYWw3KQogICAgICAgICAgICAgICAgSWYg KExvY2FsNykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9j YWw3LCBJbmRleCAoQzFERCwgTG9jYWwyKSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBTdG9yZSAoTG9jYWwxLCBMb2NhbDcpCiAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKExv Y2FsMikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJuIChMb2NhbDQpCiAgICAgICAg fQoKICAgICAgICBNZXRob2QgKEMxRUIsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAg ICAgICAgICBBY3F1aXJlIChDMDRDLCAweEZGRkYpCiAgICAgICAgICAgIFN0b3JlICgweDAwLCBM b2NhbDApCiAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIEMxRTApCiAgICAgICAgICAgIFN0b3Jl IChMb2NhbDAsIExvY2FsMikKICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgTG9jYWwzKQogICAg ICAgICAgICBXaGlsZSAoTE5vdCAoTEdyZWF0ZXIgKExvY2FsMCwgMHgxMCkpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwyLCBJbmRleCAoQzFERSwgTG9jYWwwKSkK ICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDIsIEluZGV4IChDMURGLCBMb2NhbDApKQogICAg ICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IFN0b3JlIChTaGlmdExlZnQgKEMwMTUsIDB4MDQpLCBMb2NhbDApCiAgICAgICAgICAgIFN0b3Jl IChMb2NhbDAsIEluZGV4IChDMDRFLCBDMDREKSkKICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwg SW5kZXggKEMwNEYsIEMwNEQpKQogICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBJbmRleCAoQzFE QywgQXJnMCkpCiAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIEluZGV4IChDMURELCBBcmcwKSkK ICAgICAgICAgICAgV2hpbGUgKExBbmQgKExOb3QgKExHcmVhdGVyIChMb2NhbDIsIEFyZzApKSwg TE5vdCAoTEdyZWF0ZXIgKExvY2FsMywgQzA0RCkpKSkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChDMDRFLCBMb2NhbDMpKSwgTG9jYWwwKQogICAg ICAgICAgICAgICAgQWRkIChEZXJlZk9mIChJbmRleCAoQzA0RiwgTG9jYWwzKSksIDB4MDEsIExv Y2FsMSkKICAgICAgICAgICAgICAgIFN0b3JlIChEZXJlZk9mIChJbmRleCAoQzFEQywgTG9jYWwy KSksIExvY2FsNCkKICAgICAgICAgICAgICAgIEFkZCAoRGVyZWZPZiAoSW5kZXggKEMxREQsIExv Y2FsMikpLCAweDAxLCBMb2NhbDUpCiAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5k ZXggKEMxREUsIEMxRTApKSwgTG9jYWw2KQogICAgICAgICAgICAgICAgSWYgKExOb3QgKExHcmVh dGVyIChMb2NhbDEsIExvY2FsNCkpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIElmIChMb2NhbDYpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBTdWJ0cmFjdCAoTG9jYWwwLCBMb2NhbDYsIEluZGV4IChDMURGLCBDMUUwKSkKICAgICAg ICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChDMUUwKQogICAgICAgICAgICAgICAgICAgIH0K CiAgICAgICAgICAgICAgICAgICAgSWYgKExMZXNzIChMb2NhbDEsIExvY2FsNCkpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwxLCBJbmRl eCAoQzFERSwgQzFFMCkpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBJbmNyZW1lbnQgKExvY2FsMykKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTG9jYWw2KQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QgKExvY2Fs NCwgTG9jYWw2LCBMb2NhbDcpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMR3JlYXRlciAo TG9jYWw3LCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKExvY2FsNywgSW5kZXggKEMxREYsIEMxRTApKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSW5jcmVtZW50IChDMUUwKQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0 ZXIgKExvY2FsMCwgTG9jYWw1KSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlIChMb2NhbDUsIEluZGV4IChDMURFLCBDMUUwKSkKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIEluY3JlbWVudCAoTG9jYWwyKQogICAgICAg ICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBSZWxlYXNlIChDMDRDKQogICAg ICAgIH0KCiAgICAgICAgTWV0aG9kIChDMUVDLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsK ICAgICAgICAgICAgQWNxdWlyZSAoQzFFMSwgMHhGRkZGKQogICAgICAgICAgICBJZiAoTEVxdWFs IChDMUUwLCAweEZGRkZGRkZEKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgQzA0QiAo KQogICAgICAgICAgICAgICAgU3RvcmUgKEMxRUEgKCksIExvY2FsMCkKICAgICAgICAgICAgICAg IEMxRUIgKExvY2FsMCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgU3RvcmUgKEMxRTAsIExv Y2FsMSkKICAgICAgICAgICAgUmVsZWFzZSAoQzFFMSkKICAgICAgICAgICAgUmV0dXJuIChMb2Nh bDEpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9JTkksIDAsIE5vdFNlcmlhbGl6ZWQpCiAg ICAgICAgewogICAgICAgICAgICBDMUVDICgpCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKEMw NTIsIDMsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoQXJnMSwg TG9jYWwyKQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCBMb2NhbDIsIEMxRUQp CiAgICAgICAgICAgIFN0b3JlICgweDA5ODYsIEMxRUQpCiAgICAgICAgICAgIEFkZCAoTG9jYWwy LCAweDA0LCBMb2NhbDIpCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIExvY2Fs MiwgQzFFRSkKICAgICAgICAgICAgU3RvcmUgKERlcmVmT2YgKEluZGV4IChDMURFLCBBcmcyKSks IEMxRUUpCiAgICAgICAgICAgIEFkZCAoTG9jYWwyLCAweDA0LCBMb2NhbDIpCiAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIExvY2FsMiwgQzFFRikKICAgICAgICAgICAgU3RvcmUg KERlcmVmT2YgKEluZGV4IChDMURGLCBBcmcyKSksIEMxRUYpCiAgICAgICAgICAgIEFkZCAoTG9j YWwyLCAweDA0LCBMb2NhbDIpCiAgICAgICAgICAgIFJldHVybiAoTG9jYWwyKQogICAgICAgIH0K CiAgICAgICAgTWV0aG9kIChDMUYwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAg ICAgICAgTXVsdGlwbHkgKEMxRTAsIDB4MEMsIExvY2FsMSkKICAgICAgICAgICAgQWRkIChTaXpl T2YgKEMwMEQpLCBMb2NhbDEsIExvY2FsMikKICAgICAgICAgICAgU3RvcmUgKEJ1ZmZlciAoTG9j YWwyKSB7fSwgTG9jYWwwKQogICAgICAgICAgICBTdG9yZSAoMHgwMCwgTG9jYWwxKQogICAgICAg ICAgICBTdG9yZSAoTG9jYWwxLCBMb2NhbDIpCiAgICAgICAgICAgIFdoaWxlIChMTGVzcyAoTG9j YWwxLCBDMUUwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgU3RvcmUgKEMwNTIgKExv Y2FsMCwgTG9jYWwyLCBMb2NhbDEpLCBMb2NhbDIpCiAgICAgICAgICAgICAgICBJbmNyZW1lbnQg KExvY2FsMSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMSkK ICAgICAgICAgICAgV2hpbGUgKExMZXNzIChMb2NhbDEsIFNpemVPZiAoQzAwRCkpKQogICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEMwMEQsIExvY2Fs MSkpLCBJbmRleCAoTG9jYWwwLCBMb2NhbDIpKQogICAgICAgICAgICAgICAgSW5jcmVtZW50IChM b2NhbDIpCiAgICAgICAgICAgICAgICBJbmNyZW1lbnQgKExvY2FsMSkKICAgICAgICAgICAgfQoK ICAgICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgfQoKICAgICAgICBNZXRob2QgKF9D UlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoQzAwRCwg TG9jYWwwKQogICAgICAgICAgICBBY3F1aXJlIChDMUUxLCAweEZGRkYpCiAgICAgICAgICAgIElm IChMR3JlYXRlciAoQzFFMCwgMHgwMCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0 b3JlIChDMUYwICgpLCBMb2NhbDApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJlbGVhc2Ug KEMxRTEpCiAgICAgICAgICAgIFJldHVybiAoTG9jYWwwKQogICAgICAgIH0KCiAgICAgICAgTWV0 aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgU3VidHJh Y3QgKFNpemVPZiAoQzAwRCksIDB4MDIsIExvY2FsMCkKICAgICAgICAgICAgT3IgKEMxRUMgKCks IExvY2FsMCwgTG9jYWwwKQogICAgICAgICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwRiwgTG9jYWwwKQogICAgICAgICAgICB9CgogICAgICAg ICAgICBSZXR1cm4gKExvY2FsMCkKICAgICAgICB9CiAgICB9CgogICAgTmFtZSAoXF9TQi5DMURC LkMwMEQsIEJ1ZmZlciAoMHgwRSkKICAgIHsKICAgICAgICAweDg2LCAweDA5LCAweDAwLCAweDAx LCAweDAwLCAweDEwLCAweEMwLCAweEZFLCAKICAgICAgICAweDAwLCAweDEwLCAweDAwLCAweDAw LCAweDc5LCAweDAwCiAgICB9KQogICAgRGV2aWNlIChcX1NCLkMwNDYuQzFGMSkKICAgIHsKICAg ICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzAyIikpCiAgICAgICAgTmFtZSAoX1VJRCwg MHgwMSkKICAgICAgICBNZXRob2QgKF9DUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewog ICAgICAgICAgICBOYW1lIChDMUYyLCBCdWZmZXIgKDB4MkUpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIDB4NDcsIDB4MDEsIDB4RDAsIDB4MDQsIDB4RDAsIDB4MDQsIDB4MDEsIDB4MDIs IAogICAgICAgICAgICAgICAgMHg0NywgMHgwMSwgMHgwMCwgMHgxMCwgMHgwMCwgMHgxMCwgMHgw MSwgMHg4MCwgCiAgICAgICAgICAgICAgICAweDQ3LCAweDAxLCAweDAwLCAweDExLCAweDAwLCAw eDExLCAweDAxLCAweDQwLCAKICAgICAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4MDAsIDB4MTIs IDB4MDAsIDB4MTIsIDB4MDEsIDB4MjAsIAogICAgICAgICAgICAgICAgMHg4NiwgMHgwOSwgMHgw MCwgMHgwMSwgMHgwMCwgMHgwMCwgMHhDMCwgMHhGRSwgCiAgICAgICAgICAgICAgICAweDAwLCAw eDAxLCAweDAwLCAweDAwLCAweDc5LCAweDAwCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIFJl dHVybiAoQzFGMikKICAgICAgICB9CiAgICB9CgogICAgRGV2aWNlIChcX1NCLkMwNDYuQzA1OS5D MUY0KQogICAgewogICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkKICAgICAg ICBOYW1lIChfVUlELCAweDAyKQogICAgICAgIE5hbWUgKFxfU0IuQzA0Ni5DMDU5LkMxODMsIEJ1 ZmZlciAoMHg3QSkKICAgICAgICB7CiAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4MTAsIDB4MDAs IDB4MTAsIDB4MDAsIDB4MDEsIDB4MTAsIAogICAgICAgICAgICAweDQ3LCAweDAxLCAweDI0LCAw eDAwLCAweDI0LCAweDAwLCAweDAxLCAweDFDLCAKICAgICAgICAgICAgMHg0NywgMHgwMSwgMHgy RSwgMHgwMCwgMHgyRSwgMHgwMCwgMHgwMSwgMHgwMiwgCiAgICAgICAgICAgIDB4NDcsIDB4MDEs IDB4NTAsIDB4MDAsIDB4NTAsIDB4MDAsIDB4MDEsIDB4MDQsIAogICAgICAgICAgICAweDQ3LCAw eDAxLCAweDY4LCAweDAwLCAweDY4LCAweDAwLCAweDAxLCAweDA4LCAKICAgICAgICAgICAgMHg0 NywgMHgwMSwgMHg3NCwgMHgwMCwgMHg3NCwgMHgwMCwgMHgwMSwgMHgwNCwgCiAgICAgICAgICAg IDB4NDcsIDB4MDEsIDB4OTAsIDB4MDAsIDB4OTAsIDB4MDAsIDB4MDEsIDB4MTAsIAogICAgICAg ICAgICAweDQ3LCAweDAxLCAweEE0LCAweDAwLCAweEE0LCAweDAwLCAweDAxLCAweDFBLCAKICAg ICAgICAgICAgMHg0NywgMHgwMSwgMHg0MCwgMHgwMSwgMHg0MCwgMHgwMSwgMHgwMSwgMHgxMCwg CiAgICAgICAgICAgIDB4ODYsIDB4MDksIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4QjAsIDB4 RkYsIAogICAgICAgICAgICAweDAwLCAweDAwLCAweDEwLCAweDAwLCAweDg2LCAweDA5LCAweDAw LCAweDAwLCAKICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHhGMCwgMHhGRiwgMHgwMCwgMHgwMCwg MHgxMCwgMHgwMCwgCiAgICAgICAgICAgIDB4NDcsIDB4MDEsIDB4NEMsIDB4MDAsIDB4NEMsIDB4 MDAsIDB4MDEsIDB4MDIsIAogICAgICAgICAgICAweDQ3LCAweDAxLCAweDRFLCAweDAwLCAweDRF LCAweDAwLCAweDAxLCAweDAyLCAKICAgICAgICAgICAgMHg0NywgMHgwMSwgMHgwMCwgMHgwMiwg MHgwMCwgMHgwMiwgMHgwMSwgMHgxMCwgCiAgICAgICAgICAgIDB4NzksIDB4MDAKICAgICAgICB9 KQogICAgICAgIE1ldGhvZCAoX0NSUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAg ICAgICAgIFJldHVybiAoXl5DMTU4LkMxODIgKCkpCiAgICAgICAgfQogICAgfQoKICAgIE5hbWUg KFxfUzAsIFBhY2thZ2UgKDB4MDMpCiAgICB7CiAgICAgICAgMHgwMCwgCiAgICAgICAgMHgwMCwg CiAgICAgICAgMHgwMAogICAgfSkKICAgIE5hbWUgKFxfUzMsIFBhY2thZ2UgKDB4MDMpCiAgICB7 CiAgICAgICAgMHgwNSwgCiAgICAgICAgMHgwNSwgCiAgICAgICAgMHgwMAogICAgfSkKICAgIE5h bWUgKFxfUzQsIFBhY2thZ2UgKDB4MDMpCiAgICB7CiAgICAgICAgMHgwNiwgCiAgICAgICAgMHgw NiwgCiAgICAgICAgMHgwMAogICAgfSkKICAgIE5hbWUgKFxfUzUsIFBhY2thZ2UgKDB4MDMpCiAg ICB7CiAgICAgICAgMHgwNywgCiAgICAgICAgMHgwNywgCiAgICAgICAgMHgwMAogICAgfSkKICAg IE1ldGhvZCAoXF9QVFMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3RvcmUgKEFy ZzAsIFxfU0IuQzAyMikKICAgICAgICBJZiAoTEdyZWF0ZXIgKEFyZzAsIDB4MDApKQogICAgICAg IHsKICAgICAgICAgICAgSWYgKExOb3QgKExFcXVhbCAoQXJnMCwgMHgwNSkpKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBJZiAoTE5vdCAoTEVxdWFsIChBcmcwLCAweDA0KSkpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFxfU0IuQzFCNykK ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBNZXRo b2QgKFxfV0FLLCAxLCBOb3RTZXJpYWxpemVkKQogICAgewogICAgICAgIFN0b3JlICgweDAwLCBc X1NCLkMwMjIpCiAgICAgICAgU3RvcmUgKDB4MDAsIFxfU0IuQzAyQikKICAgICAgICBJZiAoTEVx dWFsIChBcmcwLCAweDAzKSkge30KICAgICAgICBTdG9yZSAoXF9TQi5DMDQ2LkMwNTkuQzBFQS5D MTFEICgpLCBMb2NhbDApCiAgICAgICAgU3RvcmUgKFxfU0IuQzA0Ni5DMDU5LkMwRUEuQzEyOSAo KSwgTG9jYWwyKQogICAgICAgIFxfU0IuQzA0Ni5DMDU5LkMwRUEuQzExQyAoMHgwMywgMHhGRikK ICAgICAgICBTdG9yZSAoXF9TQi5DMDQ2LkMwNTkuQzBFQS5DMTFEICgpLCBMb2NhbDEpCiAgICAg ICAgU3RvcmUgKFxfU0IuQzA0Ni5DMDU5LkMwRUEuQzEyOSAoKSwgTG9jYWwzKQogICAgICAgIFhP ciAoTG9jYWwwLCBMb2NhbDEsIExvY2FsMSkKICAgICAgICBYT3IgKExvY2FsMiwgTG9jYWwzLCBM b2NhbDMpCiAgICAgICAgXF9TQi5DMDQ2LkMwNTkuQzBFQS5DMTFFIChMb2NhbDEsIDB4ODEpCiAg ICAgICAgSWYgKExvY2FsMikKICAgICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5DMTM0 LCAweDgwKQogICAgICAgIH0KCiAgICAgICAgTm90aWZ5IChcX1NCLkMwNDYuQzBBQywgMHgwMCkK ICAgICAgICBOb3RpZnkgKFxfU0IuQzA0Ni5DMEIzLCAweDAwKQogICAgICAgIE5vdGlmeSAoXF9T Qi5DMDQ2LkMwQjQsIDB4MDApCiAgICAgICAgTm90aWZ5IChcX1NCLkMwNDYuQzBCNSwgMHgwMCkK ICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDIpCiAgICAgICAgewogICAgICAgICAgICAweDAw LCAKICAgICAgICAgICAgMHgwMAogICAgICAgIH0pCiAgICB9CgogICAgU2NvcGUgKFxfR1BFKQog ICAgewogICAgICAgIE1ldGhvZCAoX0wwMywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAg ICAgICAgICAgIE5vdGlmeSAoXF9TQi5DMDQ2LkMwQUMsIDB4MDIpCiAgICAgICAgfQoKICAgICAg ICBNZXRob2QgKF9MMDQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBO b3RpZnkgKFxfU0IuQzA0Ni5DMEIzLCAweDAyKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChf TDA1LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NC LkMwNDYuQzA1OC5DMUFFLCAweDAyKQogICAgICAgICAgICBTdG9yZSAoIl9MMDU6IEFDOTcgaGFu ZGxlciIsIERlYnVnKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfTDA4LCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLkMwNDYuQzA1OCwgMHgw MikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wwQiwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICB7CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5DMDQ2LkMwNTgsIDB4MDIpCiAgICAgICAg fQoKICAgICAgICBNZXRob2QgKF9MMEMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAg ICAgICAgICBOb3RpZnkgKFxfU0IuQzA0Ni5DMEI0LCAweDAyKQogICAgICAgIH0KCiAgICAgICAg TWV0aG9kIChfTDBELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgTm90 aWZ5IChcX1NCLkMwNDYuQzBCNSwgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhvZCAoX0wx RCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIEFuZCAoXF9TQi5DMDQ2 LkMwNTkuQzA2NSwgMHhGM0ZGRkZGRiwgTG9jYWwwKQogICAgICAgICAgICBPciAoTG9jYWwwLCAw eDA0MDAwMDAwLCBcX1NCLkMwNDYuQzA1OS5DMDY1KQogICAgICAgICAgICBOb3RpZnkgKFxfU0Iu QzEzNiwgMHg4MCkKICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChcX1NCLkMwMzIsIDB4MDMp LCAweDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoXF9T Qi5DMDQ2LkMwNTkuQzA4NiwgMHgyMDAwKSwgXF9TQi5DMDI5KSkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuQzA0Ni5DMDQ3LkMwRDAsIDB4ODApCiAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0KCg== --------_3FFD2B21507F02BB4B10_MULTIPART_MIXED_--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040108181141.5082.DSNOFE>